Prévia do material em texto
Trabalho 2 – Comunicação de Dados
Vinícius Rodrigues Zanon – Matrícula: 15102833
DEC – Comunicação de Dados
Departamento de Computação (DEC)
Universidade Federal de Santa Catarina (UFSC)
Docente: Tiago Oliveira Weber
Introdução:
Neste trabalho será apresentado técnicas de implementação de conversão
Digital-Analógica para a transmissão de dados digitais, feitas em software Matlab. O
mecanismo abordado será o modulador e demodulador ASK binário (Amplitude Shift-
Keying) ou ainda conhecido OOK (On-Off Keying). Além disso, é feita uma simulação
de um canal de transmissão, a qual recebe como parâmetros de entrada diversos
sinais com frequências distintas e sinais de portadoras diferentes, sendo então
possível modular e demodular os sinais recebidos, obtendo, dessa forma, na saída
cada sinal com sua característica de origem (amplitude, frequência e fase).
Fundamentação Teórica:
Para a implementação dos ASK binário primeiro foi necessário transformar os
conjuntos de dados bitstreams disponíveis em sinais digitais NRZ unipolar com uma
voltagem máxima de 1V e voltagem mínima de 0V. A implementação do ASK Binário
pode ser realizada multiplicando-se o sinal digital NRZ pelo sinal da portadora
proveniente de um oscilador. Quando a amplitude do sinal NRZ for 1, a amplitude
resultante será igual à da portadora (neste caso, uma onda senoidal), já quando a
amplitude do sinal NRZ for 0, a amplitude resultante será zero. É importante notar que
neste tipo de implementação a amplitude do sinal da portadora é modificada para criar
elementos de sinal e, também, tanto a frequência como a fase permanecem
inalterados, ao passo que a amplitude varia. Segue abaixo o esquema da
Implementação do ASK binário:
Figura 1- Esquema da Implementação do ASK Binário
• Parte 01 – Construção Sinal
Primeiramente, foi sugerido que criássemos um sinal em codificação de linha
NRZ – Unipolar. Para tal efeito, criou-se uma rotina compreendida na Figura 02.
Figura 2- Rotina da Codificação NRZ-Unipolar
A rotina acima recebe como parâmetros de entrada o sinal y declarado no
programa como bitstream = [ 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 1 0 1] e o samples_per_bit (amostras por bit). Para todo o domínio do vetor
bitstream e ainda para cada amostra por bit é feita a verificação e a respectiva
construção dos níveis lógicos de tensão 0 e 1.
• Parte 02 – Modulação do Sinal
Após a geração do sinal digital, neste momento, foi proposto a modulação do
mesmo, efetuando a FFT do sinal digital para saber, no domínio da frequência, o valor
da frequência que este sinal possui. Ainda, foi criado o sinal da portadora (onda
senoidal genérica do tipo 𝑐 = 𝐴. sin(𝑤𝑓𝑡) , 𝑠𝑒𝑛𝑑𝑜 𝐴 = 1; 𝑤 = 2𝜋; 𝑓 = 250𝐻𝑧) e o sinal
modulado, cada um com sua respectiva FFT (Figura 3).
Figura 3 - Sinais (Digital, Portadora e Modulado) com suas respectivas FFT's
Analisando a figura acima, pode-se concluir que a modulação do sinal digital
possui um pico de frequência (250Hz) da mesma magnitude que a do sinal da
portadora, deixando evidente que a modulação está corretamente implementada. Para
entender o funcionamento da implementação da criação da portadora e modulação
segue abaixo uma figura que mostra o código deste processo:
Figura 4 – Implementação do sinal Portadora e da Modulação1
Ainda, é possível verificar na figura abaixo o processo da função que realiza a
FFT de cada sinal para o domínio da frequência.
Figura 5 - Rotina para a realização da FFT para um Sinal
• Parte 03 – Demodulação do Sinal
o Método da Divisão
Este método, sob própria definição, consiste em basicamente realizar a
operação inversa da modulação. Na modulação é feito a multiplicação do sinal y pela
portadora, neste método é realizado a divisão. Implicando numa maneira direta de se
obter o sinal demodulado. Um problema encontrado neste método é que é realizado
uma divisão, se a portadora, por ventura, tiver uma amplitude extremamente grande,
ou ainda com bastante ruído, a razão resultaria num sinal demodulado de amplitude
muito pequena, podendo não ser possível de ser reconstruído. A implementação deste
método segue abaixo:
Figura 6- Demodulação pelo Método da Divisão
1 No script, na linha 46, foi necessário a inclusão do m = c.*y para garantir que o produto vetorial
seja feito coordenada a coordenada.
o Método da Retificação:
Neste método assim, como o anterior, possui a característica de reconstruir a
sequência de dados bitstream fornecida na emissão. Aqui é aplicado ao sinal
modulado ‘m’ uma função que retorna o máximo positivo do sinal ou ainda o valor
absoluto do mesmo. Após esse processo de seleção, é necessário que o sinal
retificado passe por um filtro passa baixa para assim ser quase reconstruído. Para
total reconstrução é necessário a implementação de um comparador de amplitude
limiar que consiste em definir um limiar de transição de amplitude e reconstruir o sinal
em cima dessa margem, se abaixo da margem definida é construído o bit 0 e o
contrário bit 1. Segue abaixo a implementação deste procedimento:
Figura 7- Implementação do Método da Retificação
Abaixo, segue uma demonstração do funcionamento geral desse processo de
demodulação envolvendo ambos os métodos para a reconstrução do sinal.
Figura 8 - Demodulação do Sinal envolvendo os dois métodos de Reconstrução
Dessa forma, fica evidente que ambos os métodos conseguem reconstruir o
sinal bitstream enviado pelo emissor. O método mais utilizado é o da retificação, em
vista da sua generalização quanto aos índices de condições que o método da divisão
está sujeito. Ainda, nota-se que o sinal retificado pós comparador de amplitude ficou
adiantado com relação ao sinal bitstream NRZ-Unipolar, pois a própria saída do filtro
causa essa defasagem, talvez por função dos parâmetros inseridos no filtro.
• Parte 04 – Multiplexação de Sinais repetindo os procedimentos
anteriores.
De uma maneira geral, foi realizada a adição de 4 sinais bitstream com suas
respectivas portadoras, todas com frequências distintas para efeito de validação do
método modulador e demodulador ASK Binário. Os 4 sinais foram codificados em
NRZ-Unipolar, foi realizado a modulação (produto dos sinais NRZ-Unipolares com as
respectivas portadoras), após foi atribuído à um único sinal, todas as modulações, isto
é, somesignalmodulation = m1 + m2+. . . . +mn , n ∈ I = {1,2,3,4}. Após a retificação do
sinal composto por todas as modulações, foi passado este sinal por filtros passa-faixas
verificando a banda necessária em função do bitrate do sinal para recuperar somente
a faixa de frequência específica para aquele bitstream, possibilitando a recuperação
individual dos 4 sinais adicionados no emissor. O sinal de saída do filtro é passado por
um comparador a qual reconstrói por definitivo ao sinal de origem/referência. O
processo de como funciona este procedimento pode ser visto na figura abaixo:
Figura 9- Esquema do Processo da Multiplexação de Sinais
Abaixo, segue imagens com as devidas implementações do processo de
multiplexação de sinais utilizando um modulador e demodulador ASK Binário.
o Implementação da Criação dos Sinais NRZ-Unipolar:
Figura 10 – Rotina para a criação dos sinais NRZ-Unipolar
Os sinais criados podem ser vistos na figura abaixo:
Figura 11 – 4 Sinais NRZ-Unipolares
o Implementação da Criação das Portadoras:
Figura 12 – Rotina para Criar a Portadora
As portadoras criadas com suas respectivas FFT’s podem serem vistas na
figura abaixo:
Figura13 – Sinal Portadora com sua respectiva FFT no domínio Frequência
o Implementação da Modulação:
Figura 14 – Rotina de Modulação de Sinais
Os sinais modulados podem ser visualizados na figura abaixo:
Figura 15 – 4 Sinais Modulados
Perceba que na figura acima o sinal modulado possui amplitude da portadora
quando bit 1 e amplitude nula quando bit 0.
o Implementação da Retificação:
Figura 16 – Rotina de Retificação de Sinal
Abaixo, consta um demonstrativo de cada sinal demodulado pelo método da
retificação:
Figura 17 – 4 Sinais Demodulados pelo Método da Retificação
Perceba que na figura acima, a retificação só considera as amplitudes
positivas, justamente pela utilização da função max(0,signal) ou poderia ser utilizado
também abs(signal).
o Implementação do Filtro Passa-Faixa:
Figura 18 – Rotina de Filtragem de cada Sinal
Perceba que para selecionar corretamente a frequência de corte do filtro,
calculamos, a partir do bitrate do sinal digital, a largura de banda B para garantir a
frequência de transmissão (implementado nas linhas 164-168). Ainda, podemos por
liberdade de implementação escolher a frequência de corte do nosso filtro para que se
adeque à largura de banda disponível do canal passa-faixa/banda, já que o ponto
médio da largura de banda é a frequência da portadora.
Segue abaixo a saída do filtro para cada sinal criado:
Figura 19 – 4 Sinais após o Filtro Passa-Faixa
o Implementação do Comparador de Amplitude:
Para a implementação do Comparador de Amplitude foi feito o mesmo
procedimento, da implementação feita para o filtro passa baixa, portanto neste os
resultados de recuperação serão diferentes uma vez que utilizamos filtros diferentes
no processo de demodulação. Para solucionar este problema seria viável fazer a
média do sinal (elemento de sinal por elemento de sinal) e verificar se o elemento de
sinal é acima de um limiar, sendo acima, reconstruiria 1 e sendo abaixo reconstruiria o
sinal para 0. Mas para fins didáticos, optei por não criar este algoritmo da média do
sinal, sendo assim, basta a checagem de que a metade da largura de banda mostrada
na saída do filtro passa-faixa é a frequência da portadora daquele sinal, com isso já
fica intrínseco que o sinal foi recuperado corretamente. Segue abaixo a
implementação e a checagem das frequências com suas respectivas portadoras.
Figura 20 – Rotina de um Comparador de Amplitude
Figura 10 – Verificação da Reconstrução do Sinal pós modulação e demodulação
Conclusão:
Dessa forma, fica evidente que o processo de desenvolvimento do método de
modulação e demodulação ASK-binário foi de total compreensão, uma vez que os resultados
obtidos são condizentes com o esperado. Ainda, sendo possível expandir um canal que
possuía somente um bistream para um multiplexor de vários sinais bitstreams de entrada.
Ainda, é relevante internalizar que o conhecimento prático e teórico quando unidos, solidifica
conceitos e possíveis planejamentos para evitar erros de implementação.
REFERÊNCIA BIBLIOGRÁFICA
FOROUZAN, A. Behrouz. – Comunicação de Dados e Redes de Computadores – 4ª
edição.