Simulação de BER

4
TE-111 – COMUNICAÇÃO DIGITAL – 1º Semestre 2009 Trabalho de Simulação 1. Informações Gerais A data limite para entrega do trabalho é 24/06/2009. A apresentação oral do trabalho será no dia 25/06/2009 às 09h30min na sala PK-05. A nota do trabalho substituirá a menor nota obtida nas provas 1 e 2. O trabalho é individual e deverá ser enviado por e- mail para: [email protected] . O e-mail deverá incluir: Arquivo contendo o programa de simulação em Matlab (.m). O nome do arquivo deve ser o sobrenome do aluno (sobrenome.m). Arquivo (sobrenome.doc ou .rtf ou .pdf ou .ps) contendo os resultados das simulações. Nesse arquivo faça suas considerações em relação com os resultados das simulações, diferenças com os valores teóricos, etc. Seja cuidadoso quanto à disciplina na hora de escrever o programa: atribua nomes lógicos às variáveis; comente adequadamente o programa e escreva-o de tal forma que seja fácil o seu seguimento e compreensão. Após cada figura utilize o comando “pauseou outra forma adequada de visualização das figuras. Exiba as figuras com valores apropriados nos respectivos eixos. Utilize os comandos “axis, title, xlabel, ylabel”. 2. Simulação do Desempenho de Erro de um Sistema de Comunicação Digital O trabalho consiste em simular o desempenho de erro do equivalente passa-baixas de um sistema 256-QAM como mostrado na figura 1. Figura 1: Equivalente Passa-Baixas de um Sistema com Modulação Digital M-QAM Deve-se obter, através de simulação, a probabilidade de erro de bit deste sistema para valores de 0 N E b entre 0 e 22 dB e comparar com o desempenho teórico mostrado na Figura 2. Fonte Modulador M-QAM Canal Demod. M-QAM Usuário Cálculo BER Ruído Gaussiano Cod. de Fonte Decod. de Canal

Transcript of Simulação de BER

Page 1: Simulação de BER

TE-111 – COMUNICAÇÃO DIGITAL – 1º Semestre 2009

Trabalho de Simulação 1. Informações Gerais A data limite para entrega do trabalho é 24/06/2009. A apresentação oral do trabalho será no dia 25/06/2009 às 09h30min na sala PK-05. A nota do trabalho substituirá a menor nota obtida nas provas 1 e 2. O trabalho é individual e deverá ser enviado por e-mail para: [email protected]. O e-mail deverá incluir:

• Arquivo contendo o programa de simulação em Matlab (.m). O nome do arquivo

deve ser o sobrenome do aluno (sobrenome.m). • Arquivo (sobrenome.doc ou .rtf ou .pdf ou .ps) contendo os resultados das

simulações. Nesse arquivo faça suas considerações em relação com os resultados das simulações, diferenças com os valores teóricos, etc.

Seja cuidadoso quanto à disciplina na hora de escrever o programa: atribua nomes lógicos às variáveis; comente adequadamente o programa e escreva-o de tal forma que seja fácil o seu seguimento e compreensão. Após cada figura utilize o comando “pause” ou outra forma adequada de visualização das figuras. Exiba as figuras com valores apropriados nos respectivos eixos. Utilize os comandos “axis, title, xlabel, ylabel”. 2. Simulação do Desempenho de Erro de um Sistema de Comunicação Digital O trabalho consiste em simular o desempenho de erro do equivalente passa-baixas de um sistema 256-QAM como mostrado na figura 1.

Figura 1: Equivalente Passa-Baixas de um Sistema com Modulação Digital M-QAM

Deve-se obter, através de simulação, a probabilidade de erro de bit deste sistema para valores de 0NEb entre 0 e 22 dB e comparar com o desempenho teórico mostrado na Figura 2.

Fonte Modulador M-QAM

Canal

Demod. M-QAM

Usuário

Cálculo BER

Ruído Gaussiano

Cod. de Fonte

Decod. de Canal

Page 2: Simulação de BER

0 5 10 15 20 2510

-5

10-4

10-3

10-2

10-1

100

Eb/N0 (dB)

BE

R

Figura 2: Desempenho de Erro no Canal Gaussiano da Modulação 256-QAM

A figura anterior foi obtida com o seguinte script: M=256; EbN0=[0:1:22]; for k=1:1:length(EbN0) EavN0=(log2(M))*(10^(EbN0(k)/10)); Pe(k)=2*(1-1/sqrt(M))*erfc(sqrt((3*EavN0)/(2*(M-1)))); BER(k)=Pe(k)/log2(M); end semilogy(EbN0,BER); xlabel('Eb/N0 (dB)'); ylabel('BER'); grid 2.1 Transmissor

• A fonte de informação a ser utilizada será uma imagem monocromática de 256 níveis de cinza (8 bits/pixel). Suponha que a taxa de transmissão de informação na saída da fonte é de 33600 bits/seg. Vários arquivos contendo imagens de diferentes tamanhos estão disponíveis na página da disciplina. Por exemplo, a imagem shuttle_80x60.tif pode ser carregada no Matlab da seguinte forma:

>>im_in=imread(‘shuttle_80x60.tif’); >>im_in=double(im_in); Desta forma, im_in será uma matriz 80×60 em que cada elemento é um inteiro entre 0 e 255. Estes elementos podem ser arranjados seqüencialmente da seguinte forma: >>[size_r,size_c]=size(im_in); >>im_size=size_r*size_c; >>im_vec=reshape(im_in,1,im_size);

Page 3: Simulação de BER

Note que, neste caso, im_vec é um vetor contendo todos os 80×60 = 4800 elementos de im_in.

• O codificador de fonte deve ser um esquema de compressão com perdas que

elimine os quatro bits menos significativos de cada pixel da imagem sendo transmitida. No lado receptor, o decodificador de fonte re-insere esses bits de forma aleatória.

• Utilizando uma das imagens disponíveis, deve-se gerar uma seqüência de símbolos M-QAM. Sugere-se a utilização da função qammod operando diretamente sobre o resultado da compressão do vetor im_vec. O valor de M a ser utilizado deve garantir a transmissão da taxa de bits de informação desejada pela banda disponível da forma mais eficiente possível. Suponha que os símbolos transmitidos são formatados por filtros de Nyquist ideais (retangulares).

2.2 Transmissão através do Canal

• Suponha um canal corrompido por ruído aditivo branco Gaussiano com densidade espectral de potência de ruído 20N W/Hz e largura de banda 5500 Hz. Tenha em conta que as amostras de ruído Gaussiano geradas devem ser complexas, de forma tal que suas componentes em fase e quadratura possam ser adicionadas às respectivas componentes em fase e quadratura da seqüência QAM previamente gerada.

2.3 Receptor

• Sugere-se a utilização da função qamdemod para se fazer a decodificação de máxima verossimilhança no receptor. Tenha em conta que esta função dá como resultados a representação decimal dos símbolos QAM decodificados, portanto, para se fazer o cálculo da taxa de erro de bit (após a decodificação de fonte), deve-se pensar na representação binária destes símbolos e na comparação com a representação binária dos símbolos transmitidos. Sugere-se a utilização da função biterr.

3 Resultados

• Faça gráficos das constelações correspondentes aos símbolos complexos transmitidos e aos símbolos recebidos para 20e,10,50 =NEb dB.

• Faça um gráfico com as curvas de desempenho de erro ( )0vs. NEBER b teórica e simulada.

• A partir da seqüência de símbolos estimados, reconstrua a imagem recebida. Em uma figura coloque as imagens transmitida e recebida para 20e50 =NEb dB (utilize, por exemplo, o comando subplot). Compare os casos com e sem codificação de fonte. Para colocar uma imagem monocromática numa figura pode ser seguida a seguinte seqüência de programa (neste caso será utilizada a imagem anteriormente lida e armazenada em im_in):

>>figure; >>subplot(211);

Page 4: Simulação de BER

>>colormap(gray); >>h=image(im_in); >>set(h,’CDataMapping’,’scaled’); >>axis(‘equal’);

• Tenha em conta que as simulações consomem tempo. Sugere-se que

inicialmente seja utilizada a imagem de menor tamanho (shuttle_80x60.tif) para testes e validação do seu programa. Na medida em que a relação sinal ruído aumenta, será necessário utilizar imagens maiores para poder atingir uma contagem de erros adequada para se estimar a taxa de erro de bits.