Baixe o app para aproveitar ainda mais
Prévia do material em texto
Trabalho 1 – 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 da conversão de um sinal em sua representação binária em um sinal digital no domínio do tempo, feitas em software Matlab, considerando seus níveis lógicos de tensão. Além disso, é feita uma simulação de um canal de transmissão, sendo este um filtro do tipo Butterworth (passa-baixa), e em seguida, é feita uma análise da consequência de se passar um sinal por um filtro, abordando também a codificação em linha (NRZ-I, Manchester, Manchester Diferencial) e a verificação de resultados/conclusões ao inserir um ruído branco no sinal. Fundamentação Teórica: Antes de iniciar a fundamentação teórica, proponho a definição de algumas variáveis que serão usadas no decorrer do relatório: ➢ Bitrate: É a taxa de dados (bits) por segundo, dado em bps. ➢ A: Amplitude do Sinal. ➢ N: Nº de pontos contidos em um elemento de sinal. ➢ T_step: tempo de amostragem de um sinal baseado na quantidade de pontos contidas em um elemento de sinal e o bitrate. ➢ Steps_per_bit: O tempo que leva para amostrar um elemento de sinal. • Parte 01 – Reconstrução Sinal Primeiramente, foi sugerido que convertêssemos um sinal em representação binária para um sinal digital no domínio do tempo. Para tal efeito, criou-se uma rotina compreendida na Figura 01. Figura 1 - Rotina de conversão de um sinal binário para digital Da figura acima, na linha 16, é gerado o vetor do sinal digital, sendo composto pelo produto do sinal em representação binária pelo nível lógico 0V para o bit 0 e nível lógico 5V para o bit 1. Como o sinal data_in é composto por 0’s e 1’s, bastou multiplicá-lo por A = 5. Ou melhor, quando o bit é 0 o produto resultará em 0V, quando o bit é 1 o produto resultará em 5V, modelando assim os níveis de tensões como amplitude do sinal. Na linha 18, é gerado o vetor com os valores de tempo, uma vez que, o sinal digital é representado neste domínio, onde, t_step é a razão entre 1/(N*bitrate), isto é, a cada t_step gera-se um novo elemento de sinal. Figura 2- Sinal Binário e Sinal Digital no Domínio do Tempo • Parte 02 - Canal Após a geração do sinal digital, neste momento, foi proposto a simulação de um canal de comunicação, sendo o meio de transmissão um filtro Butterworth (passa- baixa), tendo como parâmetro de entrada (transmissor) o sinal digital (signal_in) que foi criado na Parte 01 e o de saída (receptor) o sinal recuperado. A implementação do filtro encontra-se logo abaixo: Figura 3 - Implementação Filtro Passa-Baixa. Analisando a figura 04, pode-se concluir que o filtro conseguiu recuperar o bit stream (representação em binário). Figura 4- Sinal Digital e Sinal Recuperado Foi feita uma análise de validação, alterando o valor da frequência harmônica (wn) inserida como parâmetro no filtro. Tabela 1 - Alteração do Parâmetro Frequência Harmônica no Filtro Butterworth (Passa-Baixa) ½ Frequência Harmônica 1ª Frequência Harmônica 3ª Frequência Harmônica 5ª Frequência Harmônica 7ª Frequência Harmônica 9ª Frequência Harmônica Analisando a tabela acima, podemos constatar que a partir do segundo gráfico, o filtro consegue recuperar o sinal. Ainda, observa-se que para melhorar a forma do sinal precisamos adicionar mais harmônicas, ou melhor, aumentar o wn de forma que este aumento seja múltiplos ímpares da frequência fundamental. Observa-se também, que a taxa de transferência de Nyquist é atendida, uma vez que a taxa de amostragem precisa ser pelo menos duas vezes menor ou igual a frequência máxima do sinal. Considerando que temos 2 níveis (L = 2) no sinal e que a frequência fundamental/harmônica do sinal é a metade do bitrate (taxa de dados por segundos), temos, para este caso, que a largura de banda (B) será a própria frequência harmônica, segue abaixo a demonstração: 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 = 2 ∗ 𝐵 ∗ log2 𝐿 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 2 = 𝐵 ∗ log2 2 𝑓𝑓𝑢𝑛𝑑 = 𝑏𝑖𝑡𝑟𝑎𝑡𝑒 2 = 𝐵 ∗ 1 𝐵 = 𝛼𝑓𝑓𝑢𝑛𝑑 , 𝛼 = {1, 3, 5,7, … , 2𝑛 − 1}, 𝑛 ∈ ℤ Tabela 2- Relação Largura de Banda x Bitrate Alfa 𝜶 ∗ 𝒇𝒉𝒂𝒓𝒎ô𝒏𝒊𝒄𝒂 (𝑯𝒛) Bitrate (bps) ½ 250 0.5k 1 500 1.0k 3 1500 3.0k 5 2500 5.0k 7 3500 7.0k 9 4500 9.0k Da tabela acima, podemos concluir que quanto maior a Largura de Banda(B), que neste caso, depende de 𝛼 ∗ 𝑓ℎ𝑎𝑟𝑚ô𝑛𝑖𝑐𝑎 , maior será a taxa de dados por segundos que será transmitido, concluindo que o aumento da frequência harmônica melhora a forma do sinal. Para efeito de validação do filtro foi sugerido que a pegássemos o sinal passado pelo filtro e recuperasse-o para o sinal bit stream data_in. A implementação do método de recuperação feito, segue abaixo: Figura 5 - Implementação Método de Reconstrução do Sinal A implementação consiste basicamente em fazer a média do sinal passado pelo filtro. Mais precisamente, eu realizo a média para cada elemento de sinal do bit stream fornecido. se o valor da média é acima de A/2 = 2.5, então o bit que representa esse valor é 1, caso o valor seja abaixo, o valor que o representa é 0. Para comprovar se o sinal bit stream data_in é igual ao sinal recuperado data-out, foi realizado a plotagem do gráfico de ambos os resultados (Figura 06). Figura 6 - Data_In equivalente ao Data_Out • Parte 03 - Codificação em Linha o NRZ-I: Esta codificação, sob própria definição, consiste em não modificar o sinal de saída quando envia bit '0', e inverte o sinal do estado anterior quando enviando bit '1'. A implementação da codificação segue abaixo: Figura 7- Implementação do Método NRZ-I Abaixo, segue uma demonstração do funcionamento do Método NRZ-I: Figura 8- Funcionamento da Codificação NRZ-I o MANCHESTER: Na codificação Manchester existe uma transição no meio de cada período de bit. A transição de meio bit serve como um mecanismo de sincronização e, também, como dados: uma transição de alto para baixo representa o bit ‘0’, e o contrário representa o bit ’1’. Segue abaixo a implementação desta codificação: Figura 9- Implementação da Codificação Manchester Abaixo, segue uma demonstração do funcionamento do Método Manchester: Figura 10 - Funcionamento da Codificação Manchester o MANCHESTER DIFERENCIAL Nela, a transição de meio bit é usada apenas para fornecer sincronização. A codificação de um 0 é representada pela presença de uma transição no inicio de um período de bit, e um 1 é representado pela ausência de uma transição no início de um período de bit. Figura 11 - Implementação da Codificação Manchester Diferencial Abaixo, segue uma demonstração do funcionamento do Método Manchester Diferencial: Figura 12 - Funcionamento da Codificação Manchester Diferencial Comentário: Após ter analisado e estudado a respeito dos códigos de linhas, NRZ-I, Manchester e Manchester Diferencial, observa-se que há uma desvantagem apontada na transmissão NRZ-I (codificação polar), que é válida de ser ressaltada. Nesta, pela própria lei de formação, é dificultoso o identificar/determinar o ponto em que um bit termina e o outro começa, deste modo, pensando numa escala de transmissão, qualquer ocorrência de flutuação entre a sincronização do transmissor e receptor acarretaria uma perda recorrente de sincronização entre os dois, ou melhor, perderia o‘padrão’ que esta codificação rege em sua essência, dificultando a sua reconstrução. Já olhando para o Manchester e Manchester Diferencial (codificação bifásica), elas propõem em sua formação uma transição previsível durante cada elemento de sinal, sendo possível a sincronização do receptor sobre essa transição. Além do mais, pela sua lei de formação, é notado que a ausência de uma transição esperada pode ser usada para detectar erros. Um ruído, por exemplo, na linha teria de inverter o sinal tanto antes, quanto depois da transição esperada para causar um erro não detectado. Dessa forma, fica evidente que a preferência de se usar a codificação Manchester e Manchester Diferencial é válida pois ela proporciona a auto-sincronização, permitindo que o próprio sinal enviado já inclua informação que auxilie o receptor a compreender o timing correto. • Parte 04 – Ruído A adição de um ruído branco a um sinal, auxilia na análise de casos da vida real, pois no ambiente em que vivemos existem fatores exógenos que influenciam na transmissão destes sinais. O SNR é a razão entre a potência do sinal e a potência do ruído e este valor é dado em decibéis. 𝑆𝑁𝑅 = 𝑃𝑜𝑡ê𝑛𝑐𝑖𝑎 𝑑𝑜 𝑆𝑖𝑛𝑎𝑙 𝑃𝑜𝑡ê𝑛𝑐𝑖𝑎 𝑑𝑜 𝑅𝑢í𝑑𝑜 A implementação da inserção do Ruído Branco ao sinal digital encontrado na Parte 01, segue abaixo: Figura 13 - Implementação da Inserção de um Ruído Branco ao Sinal Foi proposto que simulássemos uma comunicação de dados para um caso em que o ruído não prejudicasse a comunicação e para outro em que ocasionasse erros na recepção. A faixa de SNR adotada para fazer esta simulação foi de 1, 4, 7 e 10 dB. SNR =10: Figura 14 - Sinal com Ruído, SNR = 10 dB SNR = 7 Figura 15- Sinal com Ruído, SNR = 7 dB SNR = 4 Figura 16- Sinal com Ruído, SNR = 4 dB SNR = 1 Figura 17- Sinal com Ruído, SNR = 1 dB Dessa forma, fica evidente que para os valores de SNR iguais 1 e 4 o sinal com ruído branco gaussiano não é reconstruído em função da magnitude do sinal. Já para os outros valores não listados acima há uma significativa reconstrução do sinal, sem perda de informação. REFERÊNCIA BIBLIOGRÁFICA FOROUZAN, A. Behrouz. – Comunicação de Dados e Redes de Computadores – 4ª edição.
Compartilhar