Baixe o app para aproveitar ainda mais
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.
Compartilhar