Prévia do material em texto
INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA LICENCIATURA EM ENGENHARIA DE ELETRÓNICA E TELECOMUNICAÇÕES E DE COMPUTADORES GRUPO DISCIPLINAR DE TELECOMUNICAÇÕES Sistemas de Comunicação Digital CARLOS EDUARDO DE MENESES RIBEIRO Julho de 2014 Índice 1 INTRODUÇÃO .................................................................................................. 1 PRIMEIRA PARTE MODULAÇÃO DE PULSOS 2 INTRODUÇÃO AOS CODIFICADORES DE SINAL ....................................11 2.1 MÉTODOS DE CODIFICAÇÃO DE SINAL ................................................................................... 11 2.2 ATRIBUTOS DOS CODIFICADORES DE SINAL ........................................................................... 11 3 CONVERSÃO ANALÓGICO-DIGITAL ........................................................15 3.1 AMOSTRAGEM ..................................................................................................................... 15 3.2 REPRESENTAÇÃO DISCRETA.................................................................................................. 19 3.3 QUANTIFICAÇÃO .................................................................................................................. 19 3.4 CODIFICAÇÃO ...................................................................................................................... 22 3.5 RELAÇÃO SINAL-RUÍDO EM QUANTIFICAÇÃO UNIFORME ........................................................ 23 3.6 DESEMPENHO E COMPROMISSO ENTRE OS ATRIBUTOS ............................................................ 26 4 QUANTIFICAÇÃO NÃO UNIFORME ...........................................................29 4.1 RELAÇÃO SINAL-RUÍDO EM QUANTIFICAÇÃO NÃO UNIFORME ................................................. 32 4.2 PCM COMPANDING............................................................................................................... 34 4.3 QUANTIFICAÇÃO ÓTIMA ...................................................................................................... 38 5 CODIFICAÇÃO PREDITIVA .........................................................................41 5.1 MODULAÇÃO POR CÓDIGO DE PULSO DIFERENCIAL ................................................................ 42 5.2 MODULAÇÃO DELTA............................................................................................................ 55 6 COMPARAÇÃO ENTRE CODIFICADORES DE SINAL ............................61 SEGUNDA PARTE COMUNICAÇÃO DE DADOS 7 INTRODUÇÃO À TRANSMISSÃO DE DADOS............................................67 7.1 LIMITAÇÕES DOS SISTEMAS DE COMUNICAÇÃO ...................................................................... 67 7.2 MODELO DE REFERÊNCIA OSI .............................................................................................. 68 8 CÓDIGOS DE LINHA BINÁRIOS ..................................................................73 8.1 ATRIBUTOS DOS CÓDIGOS DE LINHA ...................................................................................... 73 8.2 FORMATOS DOS CÓDIGOS DE LINHA ...................................................................................... 77 8.3 BIT DE ENCHIMENTO ............................................................................................................ 84 8.4 MODO DE TRANSMISSÃO ASSÍNCRONO .................................................................................. 85 9 CANAL DE COMUNICAÇÃO ........................................................................87 9.1 CANAL AWGN DE BANDA LIMITADA .................................................................................... 87 9.2 RELAÇÃO SINAL-RUÍDO NO CANAL........................................................................................ 88 9.3 CANAL SEM DISTORÇÃO ....................................................................................................... 88 9.4 ATENUAÇÃO ........................................................................................................................ 90 9.5 ATRASO............................................................................................................................... 91 9.6 MEIOS DE TRANSMISSÃO ...................................................................................................... 92 10 LARGURA DE BANDA....................................................................................95 10.1 INTERFERÊNCIA INTERSIMBÓLICA ......................................................................................... 95 10.2 CRITÉRIO DO PRIMEIRO ZERO ESPETRAL ................................................................................ 96 10.3 CRITÉRIO DE NYQUIST ......................................................................................................... 96 10.4 PADRÃO DE OLHO .............................................................................................................. 103 11 RECETOR ÓTIMO ........................................................................................ 109 11.1 DESCODIFICADOR DE MÁXIMO A POSTERIORI ....................................................................... 109 11.2 DESCODIFICADOR DE MÁXIMA VEROSIMILHANÇA ................................................................ 111 11.3 PROBABILIDADE DE ERRO DE BIT ........................................................................................ 112 11.4 FILTRO ADAPTADO ............................................................................................................. 115 11.5 FILTRO ADAPTADO NORMADO ............................................................................................ 118 11.6 BER EM CÓDIGOS DE LINHA BINÁRIOS ................................................................................. 119 11.7 COMPARAÇÃO DO DESEMPENHO ......................................................................................... 127 12 TRANSMISSÃO M-ÁRIA EM BANDA DE BASE ....................................... 129 12.1 PAM DIGITAL – MODULAÇÃO POR AMPLITUDE DE IMPULSOS DIGITAL ................................. 129 12.2 ENERGIA MÉDIA POR SÍMBOLO ............................................................................................ 130 12.3 LARGURA DE BANDA .......................................................................................................... 130 12.4 PROBABILIDADE DE ERRO DE SÍMBOLO................................................................................ 131 12.5 PROBABILIDADE DE ERRO DE BIT ........................................................................................ 132 12.6 CÓDIGO 2B1Q ................................................................................................................... 134 12.7 COMPARAÇÃO DO DESEMPENHO ......................................................................................... 136 12.8 REGENERAÇÃO DO SINAL ................................................................................................... 137 12.9 CAPACIDADE DE CANAL ..................................................................................................... 137 13 CODIFICAÇÃO PARA CONTROLO DE ERROS ...................................... 139 13.1 ATRIBUTOS DOS CÓDIGOS DE CONTROLO DE ERROS ............................................................. 139 13.2 PROBABILIDADE DE ERRO DE BLOCO ................................................................................... 142 13.3 CÓDIGO DE PARIDADE ........................................................................................................ 143 13.4 CARÁCTER DE VERIFICAÇÃO DE BLOCO (BCC) .................................................................... 145 13.5 DISTÂNCIA DE HAMMING E CAPACIDADE DE DETEÇÃO E CORREÇÃO..................................... 146 13.6 CÓDIGOS LINEARES ............................................................................................................149 13.7 CÓDIGO DE REPETIÇÃO ....................................................................................................... 150 13.8 CÓDIGO DE HAMMING ........................................................................................................ 152 13.9 MATRIZ GERADORA ........................................................................................................... 156 13.10 CÓDIGOS CÍCLICOS ............................................................................................................. 161 13.11 IP CHECKSUM .................................................................................................................... 166 13.12 INTERLEAVING .................................................................................................................... 167 14 DISCUSSÃO SOBRE TRANSMISSÃO DE DADOS .................................... 169 APÊNDICES .......................................................................................................... 171 APÊNDICE 1 – ESTIMAÇÃO ESTATÍSTICA DA POTÊNCIA DE UM SINAL ................................................ 172 APÊNDICE 2 – DECIBÉIS ................................................................................................................. 174 APÊNDICE 3 – ALGORITMO DE QUANTIFICAÇÃO ÓTIMA ................................................................... 176 APÊNDICE 4 – SINUSOIDE COM PREDITOR UNITÁRIO ........................................................................ 177 APÊNDICE 5 – FUNÇÃO DE AUTOCORRELAÇÃO................................................................................ 178 APÊNDICE 6 – FUNÇÕES DENSIDADE ESPETRAL DE POTÊNCIA EM CÓDIGOS DE LINHA ........................ 179 APÊNDICE 7 – FUNÇÃO COMPLEMENTAR DE ERRO ........................................................................... 180 APÊNDICE 8 – BER COM CRITÉRIO MAP ......................................................................................... 182 APÊNDICE 9 – LARGURA DE BANDA EQUIVALENTE DO RUÍDO .......................................................... 184 APÊNDICE 10 – BER EM SISTEMAS DISCRETOS ................................................................................ 186 APÊNDICE 11 – DISTRIBUIÇÃO DE PROBABILIDADE BINOMIAL ......................................................... 188 PRINCIPAIS EQUAÇÕES ................................................................................... 191 MODULAÇÃO DE PULSOS ............................................................................................................... 191 TRANSMISSÃO BINÁRIA ................................................................................................................. 194 TRANSMISSÃO M-ÁRIA .................................................................................................................. 197 CODIFICAÇÃO PARA CONTROLO DE ERROS ...................................................................................... 199 PERGUNTAS TEÓRICAS.................................................................................... 201 EXERCÍCIOS RESOLVIDOS .............................................................................. 203 EXERCÍCIOS PROPOSTOS ................................................................................ 239 EXERCÍCIOS PROPOSTOS EM MATLAB ....................................................... 253 PCM – MODULAÇÃO POR CÓDIGO DE PULSO .................................................................................. 253 DPCM E DM – CODIFICAÇÃO PREDITIVA ....................................................................................... 257 TRANSMISSÃO NUM CANAL AWGN ............................................................................................... 260 CODIFICAÇÃO PARA CONTROLO DE ERROS ...................................................................................... 263 PROJETO DE TRANSMISSÃO DIGITAL DE SINAIS .............................................................................. 265 GLOSSÁRIO ......................................................................................................... 267 BIBLIOGRAFIA ................................................................................................... 269 Mais uma vez, com entusiasmo!!! Introdução 1 1 Introdução Por telecomunicações entende-se comunicação à distância de informação, utilizando sinais eletromagnéticos, através de fios, sistemas óticos ou radio. As telecomunicações fazem parte do nosso dia-a-dia, aproximando pessoas e empresas e contribuindo decisivamente para o bem-estar das populações e para o desenvolvimento da economia. Cada vez mais temos o telefone à mão, o acesso à Internet em múltiplos dispositivos, as redes sociais, o rádio nos automóveis, a televisão de alta definição, em direto pré-gravada ou através de vídeos encontrados na Internet. Mas as telecomunicações não envolvem apenas a comunicação humana, mas também o envio de ficheiros de computador, a troca de correio eletrónico, a navegação por satélite, etc.. A informação, como os sinais de fala, a música, as imagens e o vídeo, é do tipo analógica, ou seja, a sua representação por sinais elétricos tem uma variação análoga à variação da grandeza física que se quer representar, tendo geralmente uma variação contínua. Na comunicação analógica os sinais analógicos alteram continuamente a amplitude ou frequência de uma onda sinusoidal, denominada portadora. Um sinal digital é composto por um conjunto de símbolos. Num sistema digital binário, por exemplo, existem apenas dois símbolos, vulgarmente designados por símbolos lógicos “1” e “0”. Para transmitir sinais analógicos em sistemas digitais, os sinais analógicos têm que ser previamente convertidos numa sequência de símbolos. Estes símbolos são transmitidos através de um número finito de formas de onda. Vivemos cada vez mais num mundo digital, estando a transmissão de modo analógico de sinais de fala áudio e vídeo a ser gradualmente substituída por tecnologias digitais, com algumas vantagens, tais como: Os sistemas de transmissão digital são menos sensíveis ao ruído do canal de transmissão que os analógicos. Para canais de maior dimensão os sinais digitais podem ser regenerados em pontos intermédios do canal, virtualmente sem erros; O desenvolvimento das tecnologias digitais tem vindo a criar novos tipos de serviços, utilizando nomeadamente plataformas como a Internet e o telefone 2 Introdução Carlos Meneses móvel. Tendo a primeira começado por transmitir apenas texto e a segunda apenas sinais de fala, estas estão a fundir-se e a partilhar também áudio e televisão, naquilo a que se designa de convergência das telecomunicações; Utilizando métodos de codificação de fonte eficazes e codificações M-ária que são espetralmente mais eficientes (maior número de bits transmitidos em relação à largura de banda ocupada) que as binárias, a utilização de transmissão digital pode ocupar menor largura de banda que a transmissão analógica; Os sinais digitais são mais fáceis de encriptar e portanto de realizar transmissões privadas e seguras; O acesso, armazenamento e cópia no formato digital é mais simples e acessível que os mesmos processos em formato analógico. Em 1837, Samuel Morse, pintor Americano, inventa o telégrafo, dando início às telecomunicações com um sistema em tempo real. As mensagens eram transmitidas através do código Morse. Este é de facto digital, com dois símbolos correspondentes à presença do sinal (também designado por mark, uma vez que para descodificar a mensagem no recetor, se traçava uma marca num papel) ou à interrupção (também designada por space, uma vez que se deixava um espaço em branco entre marcas). Por analogia com este código, o nível lógico “1” é por vezes designado de mark, e o nível lógico “0” por space. A presença do sinal pode ser de curtaduração (ponto) ou de longa duração (traço) e as interrupções de duração diferente correspondente à separação entre pontos e traços, letras, palavras e frases. Até aos nossos dias muitos outros acontecimentos marcaram a evolução das telecomunicações, sendo apresentados seguidamente alguns dos mais importantes: 1850 – Pela primeira vez instalado um cabo submarino no Canal da Mancha, entre o sul de Inglaterra e ao norte de França, para transmissão de sinais telegráficos. O primeiro lançamento de um cabo submarino intercontinental com sucesso deu-se em 1856, entre os EUA e a Inglaterra, embora a um débito de apenas 2 palavras por minuto; Introdução 3 1860 – António Meucci, Italiano, inventou o telefone por volta de 1860. No entanto durante muitos anos o inventor do telefone foi considerado Alexander Graham Bell, Escocês, que o patenteou em 1876. Por coincidência, Elisha Gray, Americano, tentou patentear um sistema idêntico poucas horas depois de Bell; 1864 – James Clerck Maxwell, Britânico, formulou a teoria eletromagnética e previu a existência de ondas de rádio. A existência destas ondas ficou experimentalmente provada em 1887, por Heinrich Rudolf Hertz, Alemão; 1893 – Roberto Landell de Moura, Padre Brasileiro, efetuou, supostamente, a primeira transmissão de fala via rádio, em Portalegre, Brasil. Só no entanto em 1920, na Argentina e EUA, começaram as transmissões para entretinimento; 1896 – Guglielmo Marconi, Italiano, patenteou a telegrafia sem fios (TSF), que transmitia sinais telegráficos via rádio; 1904 – John Ambrose Fleming, Britânico, inventou o díodo e deu origem ao desenvolvimento da eletrónica moderna; 1923 – Vladimir Zworykin, Russo e Americano, registrou a patente do tubo de raios catódicos, dando origem a que em 1927, John Logie Baird, Escocês, e Philo Taylor Farnsworth, Americano, demonstrassem um sistema completo de televisão; 1928 – John B. Johnson, Americano, mediu pela primeira vez o ruído térmico, uma das principais causas da degradação de qualidade das comunicações. 1928 – Harry Nyquist, Americano, publica o teorema da amostragem no artigo “Certain Topics in Telegraph Transmission Theory” e explica o ruído térmico; 1945 – Arthur Clarke, Britânico, apresentou o conceito de satélite geoestacionário, no seu artigo “Can Rocket Stations Give Worldwide Radio Coverage?”, publicado na revista Wireless World; 1946 – J. Presper Eckert Jr., John W. Mauchly, Americanos, da Universidade de Pensilvânia, EUA, criaram o ENIAC, primeiro computador eletrónico digital; 4 Introdução Carlos Meneses 1948 – Claude Shannon, Americano, apresentou o seu artigo intitulado “A Mathematical Theory of Communication”, que lançou as bases da teoria da comunicação, ainda hoje atual; 1950 – Richard W. Hamming, Americano, publica “Error detecting and error correcting codes”, base da codificação para controlo de erros; 1956 – A empresa Ericsson desenvolveu o primeiro telefone móvel para automóvel, que pesava 40 kg. Utilizava um conjunto de antenas interligadas (células) e conseguia escolher automaticamente o canal rádio (frequência da portadora) de modo a evitar interferências; 1957 – A URSS lançou o Sputnik I, o primeiro satélite artificial da Terra. Uma forma esférica de 50 cm e pesava 83,6 kg. Transmitia um sinal rádio do tipo “beep” nas frequências 20 MHz e 40 MHz, capaz de ser recebido na terra por qualquer recetor. Funcionou 22 dias, até que as baterias se esgotaram. Orbitou a terra durante 3 meses; 1969 – Foi criada a primeira rede de computadores, designada de ARPANET (Advanced Research Project Agency), com transmissão de pacotes entre computadores. Ligava a Universidade da Califórnia – Los Angeles, SRI – Stanford Research Institute, Universidade da Califórnia – Santa Bárbara e a Universidade de Utah. Considerado o primeiro troço da Internet. 1973 – A empresa Motorola apresentou o primeiro telefone móvel pessoal, o Motorola Dynatac 8000X. Com 25 cm de comprimento e 7 cm de largura, pesava cerca de 1 kg. A primeira ligação foi realizada por Martin Cooper, diretor de sistemas de operações da empresa. Só contudo em 1979 o telefone móvel entrou em funcionamento generalizado na Suécia e no Japão; Em Portugal, o serviço de telégrafo iniciou-se em 1855, com uma ligação entre o Terreiro do Paço, Palácio de S. Bento, Palácio das Necessidades e o Palácio de Sintra, aonde normalmente o Rei se encontrava. Ainda em 1855, o primeiro cabo submarino foi Introdução 5 lançado entre Lisboa e os Açores. Em 1857 o serviço de telégrafo chegou ao grande público. Em 1902 inauguraram-se as primeiras estações de telegrafia sem fios. Em 1877 começaram as primeiras experiências de instalação do telefone entre Lisboa e Carcavelos, que deram origem em 1882 à exploração do serviço telefónico em Lisboa e Porto. Em 1914 foi efetuada a primeira transmissão rádio com áudio em Portugal, por Fernando Medeiros, tendo sido ouvido apenas por um operador de telegrafia sem fios a 100 m de distância. Desde aí foram efetuados várias emissões esporádicas, mas só em 1925 a estação “P1AA – Rádio Portugal” (futura CT1AA) iniciou emissões regulares. A primeira emissão de televisão em Portugal data do ano de 1956, ainda experimental e a preto e banco. A primeira emissão da televisão a cores deu-se em 1976. Em 1985, docentes da Universidade do Minho estabelecem a primeira ligação Internet em Portugal com a Universidade de Manchester. O primeiro operador de Internet no país começou a operar em 1994, através de modems de 28,8 kbit/s, utilizando linhas telefónicas tradicionais. A comunicação digital pode ser considerada como a arte da codificação: (1) codificação de sinais que representa em formato digital o sinal analógico; (2) codificação de linha que representa em formas de onda a sequência digital; (3) e a codificação para controlo de erros que codifica a sequência a transmitir de modo a que no recetor se possa detetar ou corrigir erros devido aos efeitos do canal de transmissão (em particular o ruído do canal). Dada a cada vez maior importância da comunicação digital, uma introdução a este tema deve corresponder ao primeiro contacto dos estudantes com as telecomunicações. Este texto foi escrito neste sentido e pretende dar uma introdução sobre a transmissão digital entre dois pontos, através de um canal de comunicação. Na figura 1.1 são apresentados os blocos constituintes deste sistema de comunicação, conjuntamente com as principais medidas de qualidade: relação sinal ruído (SNR – Signal-to-noise ratio); e probabilidade de erro (BER – bit error rate). A primeira mede a qualidade de um sinal analógico afetado por ruído e a segunda a qualidade de uma 6 Introdução Carlos Meneses transmissão digital na presença de erros de bit. O texto apresenta os conceitos e discute os compromissos entre os recursos disponíveis, nomeadamente dois dos mais importantes, a energia disponível no transmissor e a largura de banda disponível no canal de comunicação. Um das principais dificuldades encontradas em projeto de telecomunicações é a otimização do sistema de modo a que este tenha a melhor qualidade tendo em conta os recursos disponíveis. Figura 1.1 Sistema de comunicação digital entre dois pontos. Os blocos em cima correspondem aos blocos constituintes do transmissor e em baixo do recetor, separados pelo canal de comunicação. O texto compreende duas partes distintas: A primeira parte apresenta uma introdução à codificação de sinais (codificação de fonte) através da modulação de pulsos; a segunda parte apresenta uma introdução à transmissão de dados. Estas duas partes podem ser encaradas de um modo independente, mas complementam-se numa introdução à comunicação digital. Para compreensão do texto os leitores devem ter conhecimentos a nível introdutório sobre estatística e probabilidades, sinais e análise de Fourier e sobresistemas analógicos e digitais. A primeira parte, sobre codificação de sinais utilizando modulação de pulsos, compreende as secções 2 a 6 e é organizada do modo seguinte: A secção 2 introduz os métodos e atributos dos codificadores de sinal; A secção 3 apresenta a conversão Introdução 7 analógico-digital e codificação amostra a amostra (PCM – Pulse code modulation) com quantificação uniforme, estabelecendo-se um sistema mínimo de codificação de sinais; A secção 4 descreve a quantificação PCM não uniforme que tira partido da distribuição de amplitudes do sinal; A secção 5 apresenta os conceitos básicos da codificação preditiva, que tira partido da correlação entre amostras consecutivas. De modo a que o codificador se ajuste às caraterísticas do sinal de entrada, descrevem-se ainda métodos de predição e quantificação adaptada; A secção 6 sintetiza as principais conclusões sobre os codificadores de sinais apresentados, comparando-os numa perspetiva de compromisso em relação aos seus atributos. A segunda parte, sobre transmissão de dados, compreende as secções 7 a 14 e é organizada do modo seguinte: A secção 7 introduz a transmissão de dado e enquadra os diversos blocos no modelo OSI (International System Intercommunication). A secção 8 começa por descrever os atributos dos códigos de linha, que correspondem aos sinais a serem transmitidos em banda de base, ou seja, em canais do tipo “passa-baixo”. Apresenta seguidamente os principais códigos de linha binários. Termina com um exemplo de transmissão assíncrona, utilizada especialmente quando a geração da informação é aleatória, em pequena quantidade e para distâncias curtas; A secção 9 apresenta o modelo AWGN (Additive white Gaussian noise) do canal de comunicação e suas limitações: largura de banda, ruído, atenuação e distorção na banda; A secção 10 apresenta a solução do problema da interferência intersimbólica que advém da limitação da largura de banda do canal de comunicação, ao mesmo tempo que se limita a largura de banda ocupada. A secção 11 é dedicada a outra das limitações do canal de comunicação, a introdução de ruído aditivo, gaussiano e branco. É apresentado o recetor ótimo e estimada a probabilidade de erro de bit, para todos os códigos de linha mencionados na secção 8; A secção 12 introduz o conceito de transmissão M-ária, essencial para melhorar a eficiência espetral. É abordada a Lei de Hartley-Shannon sobre capacidade de canal em canais com ruído aditivo e gaussiano, correspondendo ao débito binário máximo possível de transmitir, virtualmente sem erros, para determinada relação sinal-ruído e largura de banda do canal; A secção 13 dedica-se à codificação para controlo de erros. Havendo erros na comunicação entre o transmissor e o recetor é 8 Introdução Carlos Meneses possível introduzir informação redundante de modo a os detetar ou corrigir; A secção 14 sintetiza as principais conclusões e compara os diversos códigos apresentados, tendo em atenção os compromissos envolvidos nos atributos quer dos códigos de linha quer dos códigos de correção. As secções 7 a 11 devem ser vistas de modo sequencial e constituem um todo coerente, obrigatório numa introdução mínima sobre comunicação de dados. Note-se contudo que a secção 12 introduz o conceito de M-ária, base da eficiência espetral. A secção 13 pode ser excluída ou ser abordada logo a seguir à secção 11. Num contexto por exemplo de redes de computadores pode mesmo ser abordada independentemente do resto do texto, bastando para tal assumir que numa transmissão existem erros de bit devido às limitações do canal de comunicação; Seguidamente apresentam-se vários apêndices que correspondem a temas de dois níveis: (1) temas que devem ser conhecidos, como conceitos de estatística e probabilidades e de sinais e sistemas, mas que devido à sua importância para a compreensão deste texto aqui se recordam; (2) temas aprofundando alguns assuntos, que não são essenciais para a compreensão deste texto mas que podem ser do interesse dos leitores. Após uma compilação das principais equações deduzidas ao longo do texto, para que os estudantes possam consolidar os seus conhecimentos são ainda propostas atividades com âmbitos distintos: perguntas teóricas; exercícios resolvidos; exercícios propostos com soluções; e exercícios a resolver recorrendo ao ambiente de programação MATLAB (ou qualquer outro), sendo necessários conhecimentos de programação pelo menos a nível introdutório. Está indicado em cada exercício a secção até à qual são necessários conhecimentos para o resolver. Juntamente com a escrita deste texto foi desenvolvido em MATLAB um simulador intitulado ICDigital (Introdução à comunicação digital), que simula a generalidade dos sistemas apresentados e que pode contribuir para melhor expor e consolidar os conceitos apresentados, sendo possível verificar experimentalmente os valores obtidos pelas equações deduzidas teoricamente. Primeira Parte MODULAÇÃO DE PULSOS (Introdução à codificação de sinais) Em muitos sistemas de transmissão de dados, os sinais analógicos são primeiro convertidos para a forma digital pelo transmissor, transmitidos na forma digital e finalmente reconstruídos no recetor em sinais analógicos. O sinal resultante segue, normalmente, o sinal de entrada mas não é exatamente o mesmo, uma vez que o quantificador, no transmissor, produz os mesmos dígitos (código) para todos os valores que caem num mesmo intervalo, de um número finito de intervalos. O recetor deve fornecer, a cada combinação de dígitos, o mesmo valor correspondente ao valor do sinal reconstruído, para todas os valores do sinal de entrada que caiam dentro de um mesmo intervalo de quantificação. A diferença entre o sinal de entrada e de saída, assumindo que não existe erro na transmissão dos dígitos, é o ruído de quantificação. Uma vez que o débito de qualquer sistema de transmissão digital é finito, deve-se utilizar um quantificador que mapeia a entrada num número finito de intervalos. Joel Max Quantizing for Minimum Distortion, 1960 Introdução aos codificadores de sinal 11 2 Introdução aos codificadores de sinal Num sistema de comunicação digital, quando o sinal a transmitir é analógico, variando continuamente com o tempo, é necessário primeiro convertê-lo para formato digital, ou seja, representa-lo (codificá-lo) digitalmente com um número finito de bits. 2.1 Métodos de codificação de sinal Existem diversos métodos de codificação de sinais: codificação de forma de onda; codificação paramétrica; e codificação híbrida. Serão apenas discutidos os métodos de codificação de forma de onda utilizando modulação por código de pulso, de débito binário mais elevado. É também dado especial realce à codificação de sinais de fala, dando origem a aplicações que se encontram bastante difundidas. Embora com estas limitações os conceitos apresentados são no entanto essenciais para uma compreensão posterior dos outros métodos de codificação e para a codificação de outro tipo de sinais, tais como áudio, imagens e vídeo. 2.2 Atributos dos codificadores de sinal Nos critérios de escolha de um codificador para determinada aplicação, existem alguns atributos que são decisivos, enquanto outros ou não têm influência ou algum compromisso pode ser levado em consideração. Os atributos mais relevantes dos codificadores são o débito binário, a qualidade, a complexidade dos algoritmos e a quantidade de memória necessária, a sensibilidade a erros de canal e o atraso introduzido. Seguidamente descrevem-se cada um destes atributos e abordam-se os principais compromissos envolvidos. 2.2.1 Débito binário Ao transmitir sinais, o débito binário de codificação da fonte, medido em número de bits de codificação por segundo, é um fator importante na definição da largura de banda requerida para o canal de transmissão. A codificaçãodigital é também utilizada no armazenamento para utilização posterior. Neste contexto o débito binário determina o espaço requerido na unidade de armazenamento. Para determinada 12 Modulação de pulsos Carlos Meneses quantidade de memória disponível, quanto menor for o débito binário maior duração do sinal pode ser armazenada. A primeira motivação da codificação de sinais é pois a redução do débito binário com vista a uma transmissão ou a um armazenamento mais eficientes. Para que este sinal tenha uma alta qualidade e possa ser considerado como uma referência, é tipicamente representado com uma resolução de pelo menos 16 bits de codificação por amostra. É este sinal, já na sua forma digital, que é processado de modo a gerar um conjunto de bits com um débito binário mais reduzido, para ser transmitido ou armazenado. No recetor, este conjunto de bits constrói uma aproximação do sinal original ainda na forma digital e converte-o posteriormente num sinal analógico. 2.2.2 Qualidade A conversão de um sinal de analógico para digital envolve a conversão de um valor contínuo num valor aproximado de entre um número finito de valores. A esta conversão dá-se o nome de quantificação1. A quantificação provoca sempre distorção, denominado de ruído de quantificação. Uma das medidas de qualidade mais utilizadas para medir esta distorção é a relação entre a potência do sinal original e a potência do ruído de quantificação (SNRq), sendo normalmente expressa em decibéis (dB). O problema básico da quantificação/codificação é o de obter um mínimo de distorção para determinado débito binário, ou manter a distorção aceitável ao menor débito binário possível. Para além da quantificação, a largura de banda dos sinais de entrada marca desde logo a qualidade. Por exemplo os sinais de fala têm uma banda perceptualmente importante até cerca dos 10.000 Hz, embora na denominada banda telefónica esta seja limitada entre os 300 e os 3.400 Hz. Está também normalizada a banda dos 50 aos 7.000 Hz, sendo o sinal amostrado a 16.000 amostras por segundo, que denominaremos por banda larga. Esta banda é utilizada em aplicações multimédia, em teleconferência e no videotelefone. 1Termo usado em mecânica quântica para designar o facto de muitos dos parâmetros que descrevem um sistema só poderem ter um conjunto discreto de valores permitidos. Introdução aos codificadores de sinal 13 A relação sinal-ruído é um método objetivo de avaliação da qualidade, mas nem sempre o melhor. Uma das alternativas à avaliação da qualidade é a avaliação subjetiva ou percetual, por média da opinião (MOS – Mean Opinion Score), recomendação P.800 do ITU-T (International Telecommunication Union - Telecommunication Standardisation Sector). Nesta, ouvintes são confrontados com frases processadas através do codificador em teste, sendo-lhes pedido que classifiquem a sua qualidade através de uma escala de 5 pontos (1 a 5), a que corresponde uma qualidade desde a má à excelente (má, fraca, razoável, boa, excelente). Do valor médio das respostas obtém-se a classificação final em termos percetuais. 2.2.3 Complexidade e memória necessária Quanto maior complexidade apresentar o algoritmo de codificação e maior quantidade de memória for necessária, mais os sistemas serão dispendiosos, volumosos e com maior consumo de energia. O primeiro codificador a ser normalizado, a recomendação G.711 do ITU-T a 64 kbit/s, que data de 1972, era então implementado diretamente no conversor analógico-digital, devido à sua baixa complexidade e à ausência de necessidade de memória. Com a vulgarização dos processadores digitais de sinal (DSP – Digital signal processor) e o aumento da complexidade dos codificadores, os sinais passaram a ser quantificados uniformemente, tipicamente com 16 bits por amostra, e só depois codificados a débitos binários mais baixos. A complexidade é normalmente aferida através do número de MIPS (milhões de instruções por segundo) ou MFLOPS (milhões de instruções em virgula flutuante por segundo) necessários para processar os algoritmos de codificação, enquanto a memória necessária é medida em número de bytes. 2.2.4 Sensibilidade a erros de canal Na transmissão do sinal codificado este fica sujeito a erros introduzidos pelo canal, que podem ser de dois tipos: erros aleatórios independentes, causados pelo ruído estacionário; e erros em rajada, limitados temporalmente, causados por interferências eletromagnéticas nas imediações do canal. Estes erros afetam a qualidade do sinal, degradando a relação sinal-ruído. O impacto na qualidade depende contudo do tipo de 14 Modulação de pulsos Carlos Meneses codificador, sendo o impacto maior em codificadores que tiram partido da redundância do sinal para diminuir o débito binário, tentando não perder muito em qualidade. 2.2.5 Atraso O atraso em codificação de sinais é definido como o tempo máximo que medeia entre o instante em que uma amostra é apresentada no transmissor e aquele em que a amostra correspondente é gerada pelo recetor. Este tempo é medido estando o recetor ligado diretamente ao transmissor, retirando portanto a contribuição dos equipamentos de transmissão e receção e o tempo de propagação do sinal, mas não o tempo de transmissão de cada bit. Embora o atraso não seja importante em aplicações de armazenamento, na conversação bidirecional, como por exemplo na comunicação telefónica, o atraso pode tornar-se maçador e mesmo afetar a naturalidade da conversação. Limites para este atraso poderão ir, nos casos mais permissivos, até cerca de 400 ms. Restrições mais severas são aplicadas quando as redes de comunicações não incluem canceladores de eco, pois o atraso é notado pelo próprio orador. Conversão Analógico-Digital 15 3 Conversão Analógico-Digital De modo a transmitir um sinal digitalmente é necessário convertê-lo numa sequência binária. Na sua forma mais simples este processo corresponde à conversão analógico-digital, ou seja, converter um sinal analógico, de variação contínua no domínio do tempo (representando por exemplo variações de pressão produzidas por um som quando captado através de um microfone) num conjunto finito de bits. A dificuldade encontrada prende-se com o carácter contínuo e portanto com infinitas possibilidades do sinal, quer ao longo do tempo quer em amplitude. Para resolver estes problemas a conversão analógico-digital envolve três etapas que serão objeto de análise no resto desta secção: A amostragem, que tem como objetivo tornar o sinal discreto no domínio do tempo e não envolve perda de informação desde que alguns pressupostos não sejam quebrados (teorema da amostragem de Nyquist2-Shannon3); A quantificação, que torna as amostras do sinal discretas na amplitude, transformando uma variável contínua num número finito de valores; A codificação, que atribui a cada amplitude discreta de cada pulso um código, composto por um conjunto de bits. A esta codificação amostra-a-amostra dá-se o nome de modulação por código de pulso (PCM – Pulse code modulation). 3.1 Amostragem A amostragem tem como objetivo tornar o sinal discreto no domínio do tempo. Pode ser descrita como a “observação” do valor do sinal analógico de entrada, m(t) (m – message), a intervalos regulares. O sinal amostrado, m(t), é obtido (figura 3.1) pelo produto entre o sinal de entrada e um trem de impulsos de dirac com período Ts (sampling period). Dado que a amostragem corresponde a uma multiplicação no domínio do tempo, o espetro do sinal amostrado corresponde à convolução do espetro do sinal m(t), que se assume de banda limitada W, pela Transformada de Fourier do 2 Harry Nyquist, 1889-1976. Sueco-Americano, trabalhou na AT&T e nos Laboratórios Bell. 3 Claude Shannon, 1916-2001. Americano,trabalhou nos Laboratórios Bell e foi professor no MIT. 16 Modulação de pulsos Carlos Meneses trem de impulsos de dirac, também um trem de impulsos de dirac com período e área fs=1/Ts. Figura 3.1 Interpretação da amostragem no domínio do tempo. Em a) representa-se um exemplo de um sinal m(t) a amostrar. Em b) representa-se um trem de impulsos de dirac de área unitária e período Ts, que multiplicado pelo sinal de entrada produz o sinal amostrado representado em c). A convolução é linear, o que implica que a convolução com um trem de impulsos de dirac corresponde à soma das convoluções com cada um dos impulsos de dirac. Convolver um sinal com um impulso de dirac corresponde a colocar esse sinal na posição do impulso de dirac e afetá-lo em amplitude pela respetiva área. Para reconstruir o sinal amostrado é necessário filtrá-lo passa-baixo (filtro reconstrutor) com frequência de corte fs/2, e com ganho Ts para manter a amplitude original do sinal. De modo a evitar a sobreposição espetral e a correspondente distorção a que se dá o nome de aliasing, a frequência de amostragem tem que ser igual ou superior a duas vezes o valor W da frequência máxima do sinal (teorema da amostragem ou teorema de Nyquist-Shannon): Wf s 2 . (3.1) Conversão Analógico-Digital 17 Figura 3.2 Interpretação da amostragem no domínio da frequência. a) Espetro de um sinal m(t), com banda limitada W. b) Espetro do trem de impulsos de dirac (figura 3.1 b) que é também um trem de impulsos de dirac. O espetro do sinal amostrado corresponde à convolução dos espetros em a) e b) e é apresentado para dois casos, em c) e d). A reconstrução do sinal é possível sem distorção para o exemplo em c) por filtragem passa-baixo com frequência de corte fs/2, pois W<fs/2. Em d) não é possível recuperar o sinal sem erro uma vez que as repetições espetrais se sobrepõem (aliasing), pois W>fs/2. Teorema da Amostragem de Nyquist-Shannon É possível amostrar e reconstruir, sem erro, um sinal com banda limitada W, desde que a frequência de amostragem fs seja superior ao ritmo de Nyquist 2W. A reconstrução sem distorção do sinal amostrado é obtida por filtragem passa-baixo à frequência de Nyquist fs/2. Se fs for inferior a 2W o sinal reconstruído sofrerá uma distorção por sobreposição dos espetros, a que se dá o nome de aliasing. 18 Modulação de pulsos Carlos Meneses Quando não há certeza de se evitar o aliasing, antes da amostragem o sinal deve ser previamente limitado à frequência fs/2, com um filtro passa-baixo (filtro anti-aliasing). Na figura 3.3 é apresentado o diagrama de blocos de toda a cadeia amostragem-reconstrução. Figura 3.3 Cadeia amostragem-reconstrução. Filtro anti-aliasing – amostragem – filtro reconstrutor. O filtro anti-aliasing corta as frequências acima de fs/2. O filtro reconstrutor faz interpolação do tipo sinc para converter o sinal em analógico. O filtro anti-aliasing e reconstrutor são idênticos mas têm papel diferente na cadeia amostragem-reconstrução. À frequência mínima de amostragem, W2 , denomina-se ritmo de Nyquist. À metade da frequência de amostragem, fs/2, denomina-se frequência de Nyquist. Uma vez que o filtro reconstrutor é linear, a reconstrução pode ser interpretada como a sobreposição de funções sinc (figura 3.4) devidas à resposta em frequência do filtro, pesadas pelo valor da amostra correspondente e deslocadas para a respetiva posição no tempo. Para sinais de fala com qualidade telefónica está normalizada (POTS - plain old telephone servisse; GSM - Group special mobile) uma frequência de amostragem de 8 kHz e uma filtragem passa-banda da entre os 300 Hz e os 3.300 Hz, denominada banda telefónica. A frequência de amostragem superior à mínima exigida pelo teorema da Nyquist-Shannon é justificada pela necessidade de uma banda de guarda, devida à caraterística não ideal dos filtros realizáveis. Conversão Analógico-Digital 19 Figura 3.4 Interpretação da reconstrução do sinal no domínio do tempo. O sinal é reconstruído por sobreposição de funções sinc (resposta impulsiva do filtro de reconstrução), pesadas pelos valores da amostra correspondente e deslocadas para a sua posição. As funções tomam o valor zero no instante de todas as outras amostras. 3.2 Representação discreta Como os sinais resultantes da amostragem tem valores não nulos apenas em múltiplos do período de amostragem Ts, estes podem ser representados com vantagens na sua versão discreta (utilizada em processamento digital de sinais) m[n], em que a variável independente n toma apenas valores inteiros. A amostra m[n] é interpretada como a amostra n correspondente ao tempo nTs. Note-se que poderá haver sinais discretos cuja origem não é um sinal amostrado, interpretando-se neste apenas como a amostra n. 3.3 Quantificação Quantificação de um sinal é o processo que converte um sinal amostrado (discreto no tempo), num sinal com valores também discretos em amplitude. Considerando a gama dos sinais a quantificar entre o intervalo –V e V, (figura 3.5) dividida em L intervalos de quantificação iguais e de dimensão q, a quantificação dá-se 20 Modulação de pulsos Carlos Meneses pela aproximação do valor de uma amostra que pertença a determinado intervalo pelo seu representante, denominado valor de quantificação vj do intervalo. Figura 3.5 Quantificação de sinais. Cada amostra do sinal amostrado m[n] é quantificada em um de L intervalos, por aproximação a um seu representante, denominado valor de quantificação. De modo a ser escolhido o valor mais próximo do valor do sinal de entrada (menor ruído de quantificação), os valores de decisão tj que definem os intervalos de quantificação devem estar equidistantes dos valores de quantificação vj: 2 1 jjj vv t . (3.2) Devido à aproximação que se dá na quantificação, esta, ao invés da amostragem quando dentro dos limites impostos pelo teorema da amostragem, introduz sempre distorção. A quantificação é um processo irreversível, pois é impossível determinar, dentro do intervalo de quantificação, qual o valor de entrada m[n] que produziu o valor quantificado mq[n]. A esta distorção dá-se o nome de ruído de quantificação, definido como a diferença entre o valor da amostra de entrada e o valor de quantificação: nmnmnq q . (3.3) Conversão Analógico-Digital 21 Quando os intervalos de quantificação são todos iguais, os quantificadores denominam-se de uniformes. A dimensão de cada intervalo de quantificação vem, neste caso: L V q 2 , (3.4) e o valor máximo do ruído de quantificação corresponde a metade do valor do intervalo de quantificação q . Existem dois tipos de quantificadores uniformes: midrise e midtread. Os quantificadores midrise, apresentado um exemplo para 4 intervalos na figura 3.6, incluem o valor zero como valor de decisão. Nas zonas de ausência de sinal, devido a pequenas variações causadas por ruído, este quantificador flutuará entre os dois valores de quantificação em torno de 0 volts. Figura 3.6 Quantificador uniforme midrise (4 intervalos). O zero corresponde a um valor de decisão, sendo o quantificador simétrico. Note-se que não existe um valor de quantificação coincidente com os extremos de quantificação, –V e V, requisito vantajoso nalguns tipos de codificadores, nomeadamente os codificadores DPCM (Differential pulse code modulation) apresentados na secção 4. Para que isto aconteça os intervalos de quantificação correspondem a: 1 2 L V q . (3.5) 22 Modulação de pulsos Carlos Meneses Os quantificadores midtread, apresentado um exemplo para 4 intervalos na figura 3.7, ao incluírem o 0 como valor de quantificação não sofrem da flutuação nas zonas de silêncio, caraterística dos quantificadores midrise. Como é regra usar quantificadores com um número par de valores de quantificação,a sua função entrada-saída torna-se não simétrica pela inclusão num dos extremos de mais um valor de quantificação. Figura 3.7 Quantificador uniforme midtread (4 intervalos). O zero corresponde a um valor de quantificação, tornando o quantificador não simétrico, mas não sofrendo de flutuações nas zonas de silêncio. 3.4 Codificação A codificação é a representação binária da sequência de valores de um sinal, após amostragem e quantificação. Exprime-se pois cada um dos L valores de quantificação possíveis através de um código. A esta codificação amostra-a-amostra denomina-se modulação por código de pulso (PCM). Na figura 3.8 é apresentado um código sequencial do valor de quantificação mais pequeno para o mais alto. É ainda apresentada a sequência binária da sucessão de amostras, sendo necessários 3 bits por amostra (L=8 níveis diferentes). Utilizando um número L de valores de quantificação coincidente com uma potência de 2, de modo a otimizar o número R de bits de codificação por amostra, pode-se reescrever a equação 3.4, sendo o intervalo de quantificação dado por: Rq V L V 2 22 . (3.6) Conversão Analógico-Digital 23 100 100 011 011 100 110 100 000 011 Figura 3.8 Amostragem e quantificação de sinais. O sinal analógico m(t) é amostrado dando origem ao sinal m(t). Cada amostra é quantificada, reconhecendo-se na figura L=8 valores de quantificação. Cada valor de quantificação é codificado com um código binário sequencial de 3 bits. O débito binário ou número de bits de codificação de cada segundo do sinal, Rb, para uma frequência de amostragem fs vem: sb fRR . (3.7) 3.5 Relação sinal-ruído em quantificação uniforme Uma das medidas mais usadas para aferir a qualidade de codificadores é a relação entre a potência do sinal a quantificar e a potência do ruído introduzido pela quantificação. Para uma sequência suficientemente longa de amostras, os valores do ruído devido à quantificação podem ser considerados igualmente distribuídos no intervalo de quantificação (distribuição uniforme), como ilustrado na figura 3.9. Esta aproximação é válida quando se utiliza um número suficiente de valores de quantificação, digamos para L32 (para melhor visualização a figura 3.9 apresenta apenas 4 valores de quantificação). 24 Modulação de pulsos Carlos Meneses A função densidade de probabilidade do ruído é, nestas condições, praticamente uniforme à volta de cada valor de quantificação, sendo o valor máximo do ruído de q uma vez que o valor de quantificação está a meio do respetivo intervalo. O sinal de ruído de quantificação tem média nula e a sua potência (normalizada4) pode ser estimada5 como a sua variância (Apêndice 1) 2q : R q q q q q Vdqqdqqfq 2 22/ 2/ 2 222 2312 1)( . (3.8) Figura 3.9 Função densidade de probabilidade do ruído de quantificação. Para um número razoável de intervalos de quantificação a função densidade de probabilidade do ruído de quantificação aproxima-se de uma distribuição uniforme. A potência do ruído de quantificação aumenta com o aumento do intervalo de quantificação, ou seja com o aumento da gama de quantificação V, ou da diminuição de L ou R. Estes valores são aproximados para quantificação midtread, podendo mesmo ser inferior se o sinal contiver zonas de silêncio de grande duração. Nestas zonas os quantificadores midrise têm ruído igual a q, o que para poucos bits de codificação pode ser audível. 4 Assumindo um sinal de tensão ou corrente sobre uma carga de 1 Ω. 5 Assumindo quantificação midrise, sendo os cálculos aproximados para quantificação midtread. Conversão Analógico-Digital 25 A relação entre a potência (normalizada) P do sinal e a potência (normalizada) 2 q do ruído é estimada através de: 2 2 2 23 V PPSNR R q , (3.9) ou em decibéis (Apêndice 2): 210 3log1002,6 V PRSNRdB . (3.10) A diminuição da amplitude para metade equivale a diminuir para metade o intervalo de quantificação, a uma diminuição da potência do ruído para um quarto, a quadruplicar a relação sinal-ruído, ou ao aumento de 6,02 dB da SNR. Contudo, a amplitude do sinal, mmax, não deve ser superior ao valor máximo de quantificação, V. Caso contrário produz-se ruído por saturação de amplitude, deixando as equações 3.8 a 3.10 de ser válidas. Deste modo, a tensão máxima de quantificação terá que respeitar a inequação: maxmV . (3.11) Assumindo o caso ideal, ou seja, que a tensão máxima de quantificação, V, corresponde à amplitude mmax do sinal de entrada, evitando assim a saturação de amplitude mas minimizando o ruído de quantificação, a equação 3.10 pode ser reescrita como, ndB PRm PRSNR 3log1002,63log1002,6 102 max 10 . (3.12) A SNRq passa a ser função da potência normalizada pelo quadrado da amplitude, sendo dada por, 2 maxm PPn . (3.13) 26 Modulação de pulsos Carlos Meneses 3.6 Desempenho e compromisso entre os atributos Através da equação 3.10, pode-se verificar que a qualidade depende de dois fatores: da relação entre a potência do sinal de entrada e o quadrado do valor máximo de quantificação; e do número de bits de codificação por amostra. Note-se ainda que a qualidade não depende da frequência de amostragem, que deve por isso ser o ritmo de Nyquist uma vez que minimiza o débito binário. Na tabela 3.1 apresentam-se os valores da SNRq para codificação a 8 bits por amostra e diversas potências normalizadas do sinal de entrada. Se para –3 dB de potência normalizada (sinal sinusoidal (10log10(1/2)) o valor da SNRq de 50 dB é bastante bom, o valor de apenas 7,9 dB para uma potência normalizada de –45 dB é inaceitável. Muitos sinais, por exemplo sinais de fala, exibem esta gama de variações. A grande dependência da qualidade em relação à potência do sinal de entrada é de facto uma das principais desvantagens deste método. Por cada bit de codificação por amostra a SNRq varia de 6,02 dB. Na figura 3.10 é apresentado o gráfico da SNRq em função da potência normalizada do sinal de entrada, para diversos valores de número de bits por amostra. Figura 3.10 Relação sinal-ruído em PCM uniforme. Comparação para 7, 8, e 9 bits de codificação por amostra e para diversos valores de potência normalizada (em Decibéis) do sinal de entrada. Conversão Analógico-Digital 27 No exemplo da tabela 3.1, para garantir um valor mínimo da SNRq de aproximadamente 32 dB para um sinal de entrada com –45 dB de potência normalizada, seria necessário aumentar 24 dB na SNRq, ou seja utilizar mais 4 bits de codificação por amostra, resultando num aumento eventualmente demasiado elevado do débito binário (de 64 kbit/s para 96 kbit/s assumindo sinais de fala de banda telefónica), evidenciando um compromisso entre o débito binário e a qualidade. Pn dB Entrada SNRq dB –45 7,9 –35 17,9 –25 27,9 –15 37,9 –4,77 Triangular ou distribuição uniforme 48,2 –3 Sinusoidal 49,9 0 Quadrada 52,9 Tabela 3.1 Valores da SNRq de quantificação, função da potência normalizada do sinal. Comparação para 8 bits de codificação por amostra e para diversos valores de potência normalizada do sinal de entrada. Para além de aumentar o débito binário, a melhoria da qualidade através do aumento do número de bits por amostra tem dois limites: A complexidade dos conversores, que duplicam o número de intervalos de quantificação por cada bit de codificação. Por exemplo para 16 bits de codificação por amostra originam-se 216=65536 intervalos de quantificação; O intervalo muito pequeno a descriminar. Por exemplo para 16 bits de codificação por amostra e uma tensão máxima de quantificação de 1 V, o intervalo de quantificação vale q = 2-15 = 30 V, que se pode confundircom o ruído térmico nos sistemas eletrónicos. Para valores mais pequenos que estes, os sistemas tornam-se demasiado caros ou mesmo impossíveis de realizar, sendo necessário utilizar outro tipo de paradigma, como por exemplo a modulação delta-sigma () que sai fora do contexto deste tema. 28 Modulação de pulsos Carlos Meneses Esta secção descreveu o primeiro passo na comunicação digital, com a conversão de sinais analógicos para uma sequência de bits utilizando modulação por código de pulso, com quantificação uniforme. Este sistema afigura-se o mais simples capaz de representar um sinal digitalmente. Nas próximas secções serão apresentados métodos para diminuir o débito binário, tirando partido das caraterísticas do sinal, tendo sempre em consideração o compromisso com os outros atributos dos codificadores de sinais, particularmente a qualidade. Quantificação não uniforme 29 4 Quantificação não uniforme Na secção anterior discutiu-se a utilização da modulação por código de pulso com quantificação uniforme e a estimativa da respetiva relação sinal-ruído de quantificação, concluindo-se da dificuldade de manter uma elevada SNRq nomeadamente para potências baixas do sinal de entrada, mas não à custa do aumento do débito binário e à diminuição “excessiva” da dimensão do intervalo de quantificação. Outra caraterística importante a ter em conta é a necessidade da SNRq ser independente da tensão máxima de quantificação e das caraterísticas do sinal de entrada, nomeadamente da sua potência. Estas caraterísticas podem ser observadas com a utilização de quantificação não uniforme, ou seja, com um quantificador em que os intervalos de quantificação não são todos iguais. O histograma de um sinal de fala não é uniforme (figura 4.3), tendendo a ter mais ocorrências para valores menores. Esta constatação levou à utilização de intervalos de quantificação menores nas zonas de maior ocorrência, como mostrado na figura 4.1, à custa do aumento do intervalo de quantificação nas zonas de menor ocorrência. O ruído de quantificação torna-se mais pequeno na maioria das amostras, à custa de, em algumas amostras menos prováveis, o ruído de quantificação aumentar. Sendo a potência um valor médio quadrático, este procedimento faz diminuir a potência do ruído de quantificação e, consequentemente faz aumentar a SNR. Figura 4.1 Exemplo de um quantificador não uniforme. São melhor quantificados os valores menores (em módulo) do que os valores maiores. Para que este quantificador seja eficaz devem ser as amplitudes mais baixas as mais prováveis. 30 Modulação de pulsos Carlos Meneses Se o sinal de entrada apresentar uma função densidade de probabilidade das amplitudes em que os valores mais altos forem os que tiverem maior ocorrência, então devem ser estes a ser quantificados com intervalos menores, à custa do aumento dos intervalos para valores mais pequenos. Na utilização destes quantificadores pressupõem-se conhecida pelo menos uma estimativa da função densidade de probabilidade das amplitudes do sinal de entrada, sob pena de se obter desempenhos inferiores do que utilizando quantificadores uniformes. Alternativamente à utilização de um quantificador não uniforme, pode-se aplicar ao sinal analógico de entrada uma não linearidade g(m), como a mostrada na figura 4.2, seguido de um quantificador uniforme. Figura 4.2 Exemplo de não linearidade utilizada em quantificação não uniforme. A não linearidade seguida de quantificação uniforme é equivalente à quantificação não uniforme. A figura 4.3 apresenta o esquema de blocos equivalente à cadeia de quantificação não uniforme, implementada através da aplicação da não linearidade ao sinal de entrada, seguida da quantificação uniforme. O tipo de não uniformidade é dependente desta não linearidade. Comparando as distribuições de amplitudes antes e após a não linearidade, pode-se verificar que o efeito da não linearidade é tornar a distribuição mais uniforme e mais adequada a um quantificador uniforme. Quantificação não uniforme 31 No recetor, após descodificação, aplica-se a caraterística inversa para regenerar o sinal. A diferença entre o sinal original e o sinal descodificado é causada pela quantificação. Figura 4.3 Implementação alternativa da codificação PCM não uniforme. No transmissor o sinal é aplicado a uma não linearidade seguida de quantificação uniforme. A não linearidade torna a distribuição mais uniforme (exemplo para um sinal de fala) e portanto mais adequada a um quantificador uniforme. No recetor utiliza-se um descodificador uniforme seguido função inversa da não linearidade, de modo a regenerar o sinal original. A diferença entre o sinal original e o sinal descodificado é causada pela quantificação. 32 Modulação de pulsos Carlos Meneses Note-se que, numa realização prática, a utilização direta do quantificador não uniforme é menos complexa em relação à implementação do esquema apresentado na figura 4.3. Quer os valores de decisão, necessários no transmissor, quer os valores de quantificação, necessário no recetor, são obtidos por aplicação da função inversa da não linearidade, dos respetivos valores do quantificador uniforme. 4.1 Relação sinal-ruído em quantificação não uniforme Para se analisar o efeito da não linearidade g(m) e calcular a relação sinal ruído de quantificação, verifique-se pela figura 4.2 que a relação entre a entrada e a saída da não linearidade é dada aproximadamente por: )( 2 j j vgL Vg , (4.1) em que g´(vj) é o valor da derivada da não linearidade à volta do j-ésimo valor de quantificação vj. Se o sinal de entrada for aleatório mas com função densidade de probabilidade f(m) conhecida, a potência do ruído de quantificação para o j-ésimo intervalo é dada pela variância centrada no valor de quantificação vj: 1 )()( 2 j j t t jj dmmfvmN , (4.2) sendo tj a tj+1 o intervalo de quantificação correspondente ao valor vj. Assumindo um número elevado de valores, f(m) é aproximadamente constante no intervalo de quantificação, ou seja todos os valores do sinal m no j-ésimo intervalo de quantificação têm aproximadamente a mesma probabilidade que f(vj). Igualmente, se os intervalos de quantificação adjacentes não tiverem dimensões muito diferentes, o valor de quantificação encontra-se aproximadamente a meio do intervalo e o ruído está limitado ao intervalo [–j/2;j/2]Nestas condições, a equação 4.2 pode ser reescrita como: 12 )(| 3 )()()()( 3 2/ 2/ 32/ 2/ 22 1 j jjj t t jjj vf mvfdmmvfdmvmvfN j j j j j j . (4.3) Quantificação não uniforme 33 Incluindo nesta equação a aproximação dada pela equação 4.1 vem: jvg vf L VgN j j j 22 2 )( )( 3 )( . (4.4) A potência total do ruído é a soma do ruído em cada j-ésimo intervalo de quantificação, que se aproxima de uma função contínua desde que seja utilizado um número elevado de valores de quantificação, pelo que: dm mg mf L Vg vg vf L VgN m m L j j j j L j jq max max 22 2 1 22 2 1 2 )( )( 3 )( )( )( 3 )( , (4.5) e a relação sinal-ruído de quantificação (não em decibéis) vem: dm mg mfVg PLPSNR im m q q max max 2 2 2 2 )( )()( 3 . (4.6) Para calcular a SNRq é necessário ser conhecida a derivada da não linearidade e a função densidade de probabilidade do sinal de entrada. Se g(m)=m, a quantificação transforma-se na quantificação uniforme. A derivada da função vale 1 e a equação 4.6 reduz-se à equação 3.9. Esta conclusão é válida mesmo para uma amplificação do sinal de entrada, g(m)=Km, pois valendo a derivada K=g(V)/V e assumindo V=mmax, tem-se para o denominador da equação 4.6: 2max2max2max2 2 2 2 max max max max max max )( mdmmfmdmmfm K Kdm mg mfVg m m m m m m . (4.7) Conclui-se que um fator de escala (amplificação) aplicado ao sinal de entrada, ao alterar simultaneamente a potência do sinal e a dimensão dos intervalos de quantificação, não altera a relação sinal-ruído de quantificação. 34 Modulação de pulsos Carlos Meneses 4.2 PCM companding Se a não linearidade for do tipo logarítmica, i.e., g(m)=ln(|m|), cuja derivada é 1/|m| e sabendo que o integral de m2f(m)dm (momento esperado de segunda ordem), calculado no intervalo entre – mmax e mmax, é igual à potência, o valor da SNRq deixa de ser dependente da potência do sinal de entrada para ser dependente apenas do número de intervalos de quantificação: 2 max 2 0 22 2 )( 3 )()(2 3 max mg L dmmfmVg PLSNR mq . (4.8) A função logarítmica não pode no entanto ser realizada, pois converte o intervalo entre 0 e 1 no intervalo entre – e 0. Estão no entanto normalizadas pelo ITU-T duas funções pseudo-logarítmicas, que convertem o intervalo entre 0 e 1 no mesmo intervalo, tendo a função uma caraterística impar: A Lei-A utilizada na Europa e a Lei- utilizada nos EUA e Japão, descritas na recomendação ITU-T G.711, que data de 1972. Ambas utilizam 8 bits de codificação por amostra e, como normalizado para sinais de fala em qualidade telefónica, uma frequência de amostragem de 8 kHz, resultando num débito binário de 64 kbit/s. Se os valores de entrada estiverem normalizados em relação à amplitude do sinal de entrada, ou seja V = 1, a Lei-A é descrita por: A mm A Amg m AA mA mg 10 )ln(1 11 )ln(1 ln1 , (4.9) cujo gráfico é apresentado na figura 4.4. O parâmetro A governa o grau de compressão, sendo o valor normalizado na recomendação G.711 de 87,56 (embora de facto na norma os valores de quantificação e decisão sejam uma aproximação da equação 4.9). Para valores pequenos (m<A) a Lei-A tem um comportamento linear (g(m)=16m, para A=87,56), enquanto para valores médios e altos tem um comportamento quase Quantificação não uniforme 35 logarítmico. Esta não linearidade corresponde a comprimir o sinal de entrada. No recetor, após descodificação, tem que se incluir a não linearidade inversa (figura 4.3) a que corresponderá uma expansão. A esta técnica dá-se o nome de companding (compressing-expanding). Como se verá adiante, a utilização do companding produz uma relação sinal ruído de quantificação quase constante para uma larga gama de potências do sinal de entrada, não tendo a dependência com esta grandeza do PCM uniforme, muito bom para potências elevadas, mas insuficiente para médias e baixas potências. Figura 4.4 Não linearidade da Lei-A. São ilustradas as funções não lineares Lei-A, que dão origem a uma quantificação não uniforme. O valor normalizado pela recomendação ITU-T G.711 é A=87,56. Só são apresentados valores positivos, tendo as curvas caraterísticas ímpares. Para o desenvolvimento da equação 4.6, a derivada da equação 4.9 correspondente à Lei-A é dada por, A m A Amg m AmA mg 10 )ln(1 111 ))ln(1( 1 . (4.10) Para potências médias e altas, ou seja, quando a potência normalizada do sinal de entrada for razoavelmente superior a 1/A2, o termo superior da equação 4.9 é o termo A=87,56 Uniforme A=1 A=10 36 Modulação de pulsos Carlos Meneses dominante, pelo que se pode desprezar o efeito da zona linear. Nestas circunstâncias a SNRq vem, usando o valor normalizado para A de 87,56 e utilizando a equação 4.6: 2 2 2 1 1 22 2 1,0 )ln(1 3 )ln(1 3 L A L dmmfmA PLSNR m q , (4.11) ou, em decibéis: 1002,6 RSNRdB . (4.12) A SNRq só depende do número de bits de codificação por amostra, deixando de depender da potência do sinal de entrada. Para o codificador normalizado G.711, de 8 bits/amostra (64 kbit/s), o valor máximo da SNRq é de 38,16 dB e mantém-se praticamente constante para uma variação apreciável de potência do sinal de entrada (–40 dB). É esta caraterística quase constante do companding que o faz ter um desempenho médio superior ao PCM uniforme. Contudo, para sinais de baixa potência, ou seja quando a potência normalizada do sinal de entrada é inferior a 1/A2, o termo dominante é o inferior da equação 4.9, com um comportamento linear, pelo que a SNRq é dada pela equação 3.10. Para a Lei-: )1ln( 1ln m mg 10 m . (4.13) O parâmetro governa o grau de compressão, sendo o valor normalizado de 255. Para valores pequenos esta Lei tem também um comportamento linear (figura 4.5), dado que ln(1+|m|) |m| e para valores elevados um comportamento logarítmico, dado que para |m|>>1, então ln(1+|m|) ln(|m|). A derivada desta função vale: mmg 1)1ln( . (4.14) Quantificação não uniforme 37 A SNRq vem, com o valor normalizado =255, aplicando a equação 4.6 e após alguma manipulação algébrica: 2 2 2 1,0 1ln 3 LLSNRq . (4.15) Para baixas potências esta aproximação não é válida, correspondendo como na Lei-A à entrada na zona linear, fazendo diminuir a SNRq. Das equações 4.12 e 4.15 verifica-se que os desempenhos das duas Leis são idênticos. Figura 4.5 Relação sinal ruído em PCM companding Lei-(255). Comparação com PCM com quantificação uniforme, função da potência normalizada do sinal de entrada, para 8 bit/amostra. De realçar a caraterística quase constante do companding e o seu melhor desempenho em relação ao PCM uniforme para potências normalizadas abaixo dos –14,77 dB. A caraterística quase constante da SNRq em companding pode ser explicada do modo seguinte: para sinais de baixa potência a probabilidade de amplitudes baixas é maior, sendo melhor quantificadas e baixando a potência do ruído. Para sinais de potência elevada, a probabilidade de amplitudes elevadas é maior, mas também são pior quantificadas. Em ambos os casos a relação entre a potência do sinal e do ruído de quantificação é quase constante. -60 -55 -50 -45 -40 -35 -30 -25 -20 -15 -10 -5 0 uniforme -7,1 -2,1 2,9 7,9 12,9 17,9 22,9 27,9 32,9 37,9 42,9 47,9 52,9 Lei-u 24,6 28,5 31,7 34,1 35,7 36,7 37,3 37,6 37,8 37,9 38,0 38,0 38,0 0,0 10,0 20,0 30,0 40,0 50,0 SN R (d B) Potência Normalizada (dB) Uniforme Companding Lei- 38 Modulação de pulsos Carlos Meneses 4.3 Quantificação Ótima Quando, no sinal a quantificar, existe maior probabilidade de ocorrência de alguns dos valores do que de outros, deve-se diminuir a dimensão dos intervalos de quantificação nas zonas mais prováveis, à custa do aumento da dimensão dos intervalos nas zonas menos prováveis. Por exemplo, os sinais de fala têm uma função densidade de probabilidade das amplitudes com maiores ocorrências para os valores mais pequenos, pelo que o PCM companding é uma melhor alternativa em relação ao PCM uniforme. No entanto a principal vantagem do PCM companding é a de tornar a SNRq praticamente independente da potência do sinal de entrada. Para sinais de potência razoável a utilização de PCM companding resulta numa diminuição da SNRq em relação ao PCM uniforme, pelo que deve ser utilizado outro tipo de não linearidade. Das equações 4.2 e 4.5, a potência do ruído de quantificação vem: L j j L j jq t t dmmfvmN j j 1 2 1 2 1 )( . (4.16) Os valores ótimos de decisão tj e de quantificação vj são estimados por minimização da potência do ruído de quantificação 2q, ou seja, tomando as derivadas parciais de Nj em ordem a tj e a vj. Contudo a resolução deste conjunto de equações não é fácil. Descreve-se a seguir um algoritmo iterativo conhecido por Lloyd-Max (apêndice 3) ilustrado na figura 4.6, para estimação dos valores ótimos de quantificação e decisão, que tem como entrada o histograma do sinal a quantificar, estimando a respetiva função densidade de probabilidade. O quantificadorresultante só terá o mesmo desempenho quando for utilizado com sinais com a mesma função densidade de probabilidade dos sinais que geraram o histograma de entrada do algoritmo, denominado de corpus6 de treino. É pois necessário ser muito criterioso na escolha deste corpus, devendo incluir diversos oradores do género masculino e feminino, dizendo frases balanceadas foneticamente, ou seja, cujas ocorrências dos fonemas que as compõem sejam o mais aproximado possível da respetiva ocorrência na linguagem falada. 6 Corpus de sinais de fala: conjunto de sinais de fala. Termo utilizado em investigação. Quantificação não uniforme 39 a) b) c) d) e) Figura 4.6 Exemplo do algoritmo Lloyd-Max para sinal de fala. Em a) É ilustrado o quantificador uniforme utilizado para inicializar o algoritmo. Em b) são representados os novos valores de quantificação, obtidos pela média dos valores de cada intervalo de quantificação, pesados pelos respetivos valores do histograma. Em c) e d) é ilustrada a segunda iteração, partindo dos valores obtidos na iteração anterior. Em e) são apresentados os O - Valores de quantificação uniforme (SNR= –0,2 dB) e os □ - Valores ótimos (SNR= 7,5 dB), obtidos após 9 iterações. -1 -0.5 0 0.5 1 0 0.05 0.1 0.15 0.2 -1 -0.5 0 0.5 1 0 0.05 0.1 0.15 0.2 -1 -0.5 0 0.5 1 0 0.05 0.1 0.15 0.2 -1 -0.5 0 0.5 1 0 0.05 0.1 0.15 0.2 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.05 0.1 0.15 0.2 40 Modulação de pulsos Carlos Meneses Como inicialização do algoritmo, assume-se qualquer quantificador com L valores de quantificação. No exemplo ilustrado na figura 4.6-a) assume-se um quantificador uniforme com L=4, marcando sobre o histograma do sinal de entrada com um │ os valores de decisão e com um □ os valores de quantificação. Como iteração, calculam-se os valores médios pesados pelo respetivo histograma, como mostrado na figura 4.6-b) marcado a x. Seguidamente substituem-se os valores de quantificação por estes, e calculam-se os respetivos valores de decisão através da equação 3.2, como na figura 4.6-c). Os valores de quantificação deslocam-se para as zonas de maior probabilidade, diminuindo aí o ruído de quantificação, à custa do aumento nas zonas de menor probabilidade. O procedimento anterior repete-se com estes novos valores (figura 4.6-d), até não haver diferença entre duas iterações ou esta ser menor que determinado critério de estabilidade. Na figura 4.6-e) são mostrados os valores de quantificação iniciais (uniforme) e finais (ótimos). A potência do ruído baixou 5,9 vezes, ou seja, foi produzido um aumento da SNRq de 7,7 dB. Estes valores são obtidos após 9 iterações e o aumento da SNRq após a primeira iteração é de 1,9 dB. Este algoritmo funciona para quantificar amostras de um sinal de fala ou qualquer outro parâmetro, e.g., áudio, pontos de uma imagem ou letras de um texto. Para um sinal sinusoidal, com uma função densidade de probabilidade que tenha maiores ocorrências para amplitudes elevadas, por exemplo um sinusoide, como mostra a figura 4.7, os valores de quantificação tenderão a deslocar-se para estas amplitudes. Figura 4.7 Algoritmo Lloyd-Max aplicado a uma sinusoide. O - Valores de quantificação uniforme (SNRq=12,8 dB) □ - Valores de quantificação ótimos. (SNRq=13,8 dB), obtidos após 6 iterações. -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.01 0.02 0.03 0.04 0.05 Codificação preditiva 41 5 Codificação preditiva Nas secções anteriores estudou-se o efeito da quantificação individual das amostras do sinal de entrada. Para sinais de fala, esta é possível com qualidade codificando acima dos 8 bits por amostra (64 kbit/s para sinais de fala amostrados a 8 kHz). Abaixo deste débito é necessário tirar partido das redundâncias do sinal, nomeadamente a grande semelhança entre amostras adjacentes existente nos sinais de baixa frequência (quando comparado com a frequência de amostragem). Como exemplo, a figura 5.1 apresenta um gráfico das amostras de um sinal de fala função da respetiva amostra anterior. Estas exibem uma grande parecença, ou seja, apresentam-se à volta de uma reta de declive unitário. A codificação preditiva tira partido desta parecença para estimar (predizer) a próxima amostra do sinal, sendo objeto de estudo no resto desta secção. Fora do contexto deste texto, existem codificadores de sinais de fala que tiram partido não só da parecença entre amostras mas a parecença entre as últimas amostras (e.g. codificador do GSM tira partido da parecença das últimas 10 amostras). Figura 5.1 Semelhança entre amostras adjacentes em sinais de baixa frequência. Amostras de um sinal de fala função das respetivas amostras anteriores. A semelhança pode ser verificada pois esta função apresenta-se à volta de uma reta de declive unitário. -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 m[n-1] m [n ] 42 Modulação de pulsos Carlos Meneses 5.1 Modulação por código de pulso diferencial Tirando partido da semelhança entre amostras consecutivas, caraterística dos sinais de baixa frequência (quando comparado com a frequência de amostragem), consegue-se representar uma amostra à custa da amostra anterior, sendo transmitida em PCM, entre o transmissor e o recetor, apenas a diferença entre amostras consecutivas. Dada a necessidade de coerência entre os sinais nestes dois sistemas, a diferença não é realizada sobre o sinal original mas, como mostra a figura 5.2, sobre o sinal de saída quantificado, o único existente no recetor. Para produzir o sinal quantificado existe no transmissor uma réplica do recetor. Este tipo de representação do sinal toma o nome de modulação por código de pulso diferencial (DPCM – Differential pulse code modulation). a) Transmissor DPCM b) Recetor DPCM Figura 5.2 Modulação por código de pulso diferencial. a) Esquema de blocos de um transmissor por modulação por código de pulso diferencial. b) Respetivo recetor, correspondendo a parte do transmissor. Codificação preditiva 43 O valor da amostra anterior pode ser interpretado como uma predição (mp[n]) do valor da amostra atual, e a sua diferença interpretada como o resíduo ou erro de predição. É assim quantificada e codificada a diferença entre a amostra que se quer sintetizar e a amostra de saída anterior, eventualmente multiplicada por um coeficiente de predição, a. O erro de predição deve ter uma menor variância (potência) que o sinal original, sendo suscetível de uma melhor quantificação. 5.1.1 Relação sinal-ruído em DPCM Da análise do esquema de blocos da figura 5.2 conclui-se que o ruído de quantificação causado por este tipo de codificação é dado por: nenenenmnenmnmnmnq qqppq , (5.1) em que e[n] corresponde ao erro de predição, ou seja, à diferença entre a amostra atual e a sua predição nm p . O ruído na codificação preditiva resulta unicamente da quantificação, correspondendo ao ruído de quantificação em PCM do erro de predição, dependendo dos valores dos intervalos de quantificação. Caso a quantificação seja uniforme q depende apenas do valor máximo de quantificação, que denominaremos de V1, e do número de intervalos de quantificação L. Através da equação 3.6, substituindo V por V1, obtêm-se: Rq V 2 2 1 . (5.2) A SNRq (em linear) do codificador DPCM, correspondente à relação entre a potência do sinal de entrada e deste ruído, vem: 22 12 qq q PPSNR , (5.3) ou em decibéis, pela equação 3.10 com a mesma alteração de V por V1, 44 Modulação de pulsos Carlos Meneses 2 1 10 3log1002,6 V PRSNRdB , (5.4) 2 1 2 210 3log1002,6V V V PRSNRdB , (5.5) 2 1 2 10210 log10 3log1002,6 V V V PRSNRdB . (5.6) O aumento da SNRq em relação à codificação PCM é dado por, 1 102 1 2 10 log20log10 V V V V . (5.7) Para que a SNRq aumente em relação aos codificadores PCM, assumindo o mesmo número de bits de codificação, V1 deve ser menor que a amplitude do sinal de entrada, ou seja, resultar do preditor e do esquema diferencial uma diminuição de amplitude do sinal (erro de predição) a ser efetivamente quantificado. Se não houver diminuição de V1 não existe qualquer vantagem em utilizar codificação DPCM. Pelo contrário só há desvantagens, uma vez que a codificação DPCM é mais complexa (mais cara) e como veremos adiante mais sensível a erros no canal de transmissão que a codificação PCM. 5.1.2 Tipos de distorção Conforme a equação 5.7, V1 é um parâmetro que atua diretamente no desempenho do quantificador. Se este for demasiado elevado o desempenho diminui, pois aumenta q e a potência do ruído de quantificação. Se for demasiado pequeno o erro de predição pode excedê-lo, provocando saturação de declive (figura 5.3), o que acontece (a=1, preditor de 1ª ordem unitário) quando a variação do sinal de entrada no intervalo entre amostras for superior ao valor máximo de quantificação V1, sendo evitada na condição, ss Tt tmTtmtmV max max1 . (5.8) Codificação preditiva 45 Em zonas de muito pequeno declive um quantificador midrise oscila em torno do sinal de entrada com salto q , provocando ruído denominado de ruído granular. Para evitar o ruído granular deve ser minimizado q , o que pode provocar ruído de saturação de declive. Caso seja utilizado um quantificador midtread, o ruído granular é evitado, devido ao 0 como nível de quantificação. Figura 5.3 Distorção de declive em codificação DPCM. Em codificação DPCM não existe saturação de amplitude mas pode existir saturação de declive (slope overload) e ruído granular. Exemplo para preditor unitário. A saturação de declive é percetivamente incomodativa, pelo que deve evitada utilizando a inequação 5.8. Para garantir no mínimo o valor exato de V1, deve-se utilizar a equação 3.5 e não a equação 3.4. Por outro lado o ruído granular ocorre essencialmente a metade da frequência de amostragem, sendo facilmente atenuado pelo filtro reconstrutor. Uma forma de diminuir todos os tipos de ruído na codificação DPCM é aumentando a frequência de amostragem (equação 5.8), embora à custa do aumento no débito binário (equação 3.7). O valor de V1 para evitar saturação de declive diminui, diminuindo q e consequentemente diminuindo o ruído de quantificação (equação 5.6) e o ruído granular. Contudo, é preferível diminuir q aumentando o número de bits de codificação por amostra, pois a mesma qualidade é obtida com menor débito binário. De facto apenas com 1 bit a mais por amostra V1 vai diminui para metade, sendo preciso duplicar da frequência de amostragem para obter o mesmo efeito. 46 Modulação de pulsos Carlos Meneses A codificação DPCM não sofre de saturação de amplitude, como em codificação PCM. De facto é possível alcançar qualquer amplitude transmitindo consecutivamente o código correspondente à tensão máxima de quantificação V1 (ou mínima –V1). 5.1.3 Ganho de predição e estimação do valor máximo de quantificação Uma das principais dificuldades em DPCM é a estimação do valor máximo de quantificação do erro de predição V1, de modo a evitar a saturação de declive mas minimizando o ruído. Um método aproximado de estimar V1, apenas exato para sinais sinusoidais (Apêndice 4), consiste em assumir que a relação entre as potências de pico de m[n] e e[n] é igual à relação das respetivas potências, refletindo-se esta na gama dos quantificadores, ou seja: 2 1 2 2 max 2 max V V e m P PG e p , (5.9) em que Pe representa a potência do sinal de erro de predição, pelo que Gp, denominado ganho de predição, dá informação da redução de variância do sinal de entrada em relação ao erro de predição. O valor máximo de quantificação que evita a saturação de declive vem, aproximadamente: pG VV 2 1 . (5.10) Resulta do esquema diferencial um aumento da SNRq introduzido pelo ganho de predição (equações 5.6 e 5.9), nmSNRGp V PRGpSNR PCMdBdBdBdB 210 3log1002,6 . (5.11) Esta equação só é válida na condição de ser utilizada a equação 5.10, sendo também válida a equação 5.4 em que se obterá o mesmo valor de SNR. Aliás a equação 5.4 é sempre válida desde que não haja saturação de declive. Codificação preditiva 47 O aumento do ganho de predição, para determinado sinal de entrada, corresponde à diminuição da potência do erro de predição e consequentemente do seu valor máximo. Se, contudo, não for diminuído em conformidade o valor máximo de quantificação V1, por exemplo utilizando a equação 5.10, não há de facto aumento da SNR. Para sinais de fala, a equação 5.10 subestima o valor de V1, dando origem a alguma saturação de declive que pode ser percetivamente relevante. Contudo, como a saturação não é frequente, a SNRq na verdade aumenta em relação à utilização do valor máximo do erro de predição, pois é utilizado um intervalo de quantificação menor com a consequente diminuição da potência do ruído de quantificação. Para se calcular o ganho de predição repare-se que, desde que a quantificação se faça com um número razoável de bits, a potência do ruído pode-se desprezar face à potência do sinal, ou seja7: PPP qmq 2 . (5.12) Nestas circunstâncias a potência do erro de predição vem: 12112 1 12 1lim21 12 1lim 12 1lim 1 12 1lim 12 1lim 22 222 2 2 araPaRPaP nmnm N anm N anm N namnm N ne N P N Nn N Nn qNqN N NnN N Nn qN N NnN e , (5.13) sendo R[k] a função de autocorrelação (Apêndice 5) do sinal de entrada com atraso kTs aproximadamente igual à correlação cruzada entre o sinal de entrada e o sinal quantificado. r[k] corresponde à função de autocorrelação normalizada pela potência P=R[0]. O ganho de predição (não em decibéis) vem: 121 1 2 araP PGp e . (5.14) 7 A potência do sinal soma só é igual à soma das potências desde que os sinais sejam ortogonais. Para um número suficiente de bits, pode-se considerar que o ruído de quantificação é ortogonal ao sinal de entrada. 48 Modulação de pulsos Carlos Meneses Esta equação vem, para o caso particular do coeficiente de predição ser igual a 1 (a=1, preditor de 1ª ordem unitário), em decibéis: 112 1log10log10 1010 rP PGp e dB . (5.15) Na figura 5.4 é ilustrada a redução de gama dinâmica do erro de predição em relação ao sinal de entrada, correspondendo a um ganho de predição maior que a unidade. Figura 5.4 Exemplo do desempenho de um preditor de 1ª ordem unitário. Em cima representa-se 22,5 ms de um sinal de fala. Em baixo o respetivo erro de predição. Estes dois sinais são apresentados na mesma escala, sendo visível a redução na gama dinâmica. O codificador DPCM com preditor unitário não terá nenhuma vantagem em relação ao codificador PCM quando o ganho de predição for igual a 0 dB, ou seja r[1]=0,5 (equação 5.15), sendo vantajoso apenas para correlações superiores a 0,5. Para um valor de r[1] de 0,8 o ganho de predição é de 4 dB, chegando aos 12 dB para um valor de 0,97. O codificador DPCM tem então no máximo um ganho de 2 bits de codificação por amostra em relação ao codificador PCM. 5 10 15 20 -2 -1 0 1 x 10 4 t [ms] A m pl itu de Sinal de fala 2 4 6 8 10 12 14 16 18 20 22 -2 -1 01 x 104 t [ms] A m pl itu de Resíduo de predição - preditor de primeira ordem unitário Codificação preditiva 49 5.1.4 Adaptação do preditor - preditor linear de primeira ordem Supondo o esquema de blocos da figura 5.2 que contêm um preditor linear de primeira ordem, o sinal predito8 é dado por: 1 namnm p . (5.16) O coeficiente de predição ótimo, a, ou seja aquele que minimiza a potência do erro de predição, corresponde a: n n n n ne nmnm N nm N a a nmnm N anm N anm N a P 01 12112 1 12111 2 222 , (5.17) pelo que o valor ótimo do coeficiente de predição é dado por: 10 1 1 1 2 rR R nm nm nm a n n . (5.18) O coeficiente de predição é ótimo apenas para sinais com a mesma autocorrelação (de 1ª ordem), pelo que o preditor está adaptado ao sinal de entrada. Das equações 5.14 e 5.18 o ganho de predição vem: 210 11 1log10 r GpdB . (5.19) Como mostra a figura 5.5, o ganho de predição com preditor adaptado é sempre maior ou igual a 0 dB, independentemente do valor da autocorrelação, o que não acontece com preditor unitário de primeira ordem, em que o ganho de predição pode ser negativo. 8 Assume-se a situação ideal da predição baseada na amostra anterior e não na amostra quantificada. No caso genérico da predição com a amostra atrasada de k, substitui-se 1 por k (equações 4.13 a 4.19). 50 Modulação de pulsos Carlos Meneses Figura 5.5 Ganho de predição função da autocorrelação normalizada de primeira ordem para preditores de 1ª ordem unitário e adaptado. Os preditores unitários têm ganho negativo abaixo de r[1]=0,5. Os preditores adaptados têm sempre ganho positivo, a menos quando a correlação é 0 em que o ganho é 0. O mesmo resultado é obtido por projeção do sinal de entrada sobre a sua versão deslocada de uma amostra, como ilustrado na figura 5.6, assumindo a melhor representação do primeiro sobre este último. De facto, a autocorrelação R[k] não é mais do que o produto interno entre um sinal e a sua versão deslocada de k amostras, correspondendo r[k] à respetiva projeção. À esquerda da figura exemplifica-se a predição com coeficiente unitário, para 3 situações distintas. A predição coincide com a amostra (quantificada) anterior, sendo o erro de predição a diferença entre este e o sinal de entrada. O ganho de predição é de 0 dB quando a projeção do sinal de entrada sobre a predição for de 0,5 (equação 5.15). Gp só é positivo à direita deste ponto. Para o preditor unitário, Gp=0 dB quando a amostra faz um “ângulo” de /3 em relação à predição. Para uma sinusoide como sinal de entrada em que r[1]=cos(2f/fs) (Apêndice 5), então 2f/fs=/3. Para um sinal genérico pode-se definir a frequência, ' maxf , que produz a derivada máxima, pelo que Gp é positivo desde que: 63 2 ' max ' max s s f f f f . (5.20) Para sinais de fala esta situação é quase sempre verdade quando este é amostrado, como em qualidade telefónica, a 8 kHz ( 'maxf <1,333 kHz). -10 0 10 20 30 -1 -0,5 0 0,5 1r (1) Gp (dB) Codificação preditiva 51 Figura 5.6 Interpretação vetorial da predição. À esquerda, predição com coeficiente unitário. À direita, predição adaptada. À direita da figura exemplifica-se a predição adaptada, para 4 situações distintas. A predição corresponde à projeção sobre a amostra anterior, minimizando a energia (norma do vetor) do erro de predição, que lhe é ortogonal. O ganho de predição é sempre positivo (equação 5.19, com exceção da situação em que o sinal de entrada e a sua projeção são ortogonais (a=r[1]=0), em que o erro de predição coincide com o sinal de entrada e o codificador degenera num codificador PCM. Note-se que a adaptação do preditor já não tem como objetivo tirar partido da semelhança entre amostras, como no preditor unitário, mas sim tirar partido da correlação entre amostras. Por exemplo se as amostras foram simétricas (muito diferentes) a correlação normalizada é –1 mas, pela equação 5.19, o ganho de predição é dB, o mesmo que se as amostras consecutivas forem todas iguais, a que corresponde uma correlação normalizada de 1. Os codificadores de fala recentemente normalizados utilizam predição de ordem mais elevada, tipicamente com as 10 últimas amostras, de modo a melhorar o ganho de predição. Os coeficientes são calculados no transmissor e enviados a intervalos regulares. No codificador utilizado em GSM, por exemplo, a cada intervalo de 20 ms são calculados e enviados 10 coeficientes de predição. 52 Modulação de pulsos Carlos Meneses 5.1.5 Adaptação do quantificador - memória de 1 amostra A utilização de um quantificador de valores fixos leva, como ilustrado na figura 5.7, a que quando a variância do sinal à sua entrada é grande, se possa exceder o valor máximo de quantificação e, por outro lado, para variâncias baixas, o ruído de quantificação seja elevado. Figura 5.7 Adaptação ao valor ótimo de quantificação. São apresentados os valores ótimos do valor máximo de quantificação em função do tempo, dependentes da potência e da autocorrelação do sinal, para um preditor de 1ª ordem unitário. A potência do sinal de entrada do quantificador é dependente da potência localizada e da autocorrelação do sinal de entrada e portanto do tempo, sendo possível adaptar localmente a gama do quantificador, tirando partido das zonas quase estacionárias do sinal (em que a potência e a autocorrelação variam lentamente, nomeadamente para sinais de fala), dando origem a uma modulação por código de pulso diferencial adaptativo9 (ADPCM – Adaptive differential pulse code modulation). Os parâmetros de adaptação podem ser obtidos do sinal a quantificar, sendo esta informação enviada para o recetor como informação lateral (AQF – Adaptive quantization with forward estimation), o que contribui para o aumento do débito binário mas oferece um aumento da qualidade. Através da equação 5.9 e conhecido o ganho de predição através da equação 5.14, pode-se estimar o valor máximo de quantificação do sinal de erro de predição. 9 Que se modifica para se adaptar às condições locais do sinal. Em contraste com adaptado, que realiza a adaptação apenas uma vez e se mantêm fixo. Codificação preditiva 53 Outro método de adaptação, que evita o aumento do débito binário, corresponde a obter os parâmetros de adaptação através do índice de quantificação, representado pelos bits de código, existentes no próprio recetor (AQB – Adaptive quantization with backward estimation). Um exemplo bastante simples deste método foi proposto por Jayant10 é baseado no raciocínio seguinte: se o valor de quantificação numa amostra for próximo (em módulo) do valor máximo de quantificação 1V , há risco de distorção de saturação de declive e, portanto, deve ser aumentado para quantificar a amostra seguinte; se, por outro lado, o valor de quantificação for pequeno em relação ao valor máximo de quantificação, este último pode ser diminuído de modo a diminuir o intervalo de quantificação e consequentemente o ruído de quantificação. Como mostrado na figura 5.8, o valor de 1V no instante n depende então do seu valor anterior e do índice de quantificação na amostra anterior 1n , seguindo a regra: 1111 niMnVnV . (5.21) Os valores de 1niM , apresentados na tabela 5.1, correspondem aos fatores multiplicativo do índice i do quantificador na amostra anterior. Com o coeficiente de predição igual a zero o codificador ADPCM transforma-se num codificador APCM (PCM adaptativo). R M(0) M(1) M(2) M(3) M(4) M(5) M(6) M(7) M(8) M(9) M(10) M(11) M(12) M(13)M(14) M(15) 2 1,6 0,9 0,9 1,6 3 1,7 1,25 0,9 0,9 0,9 0,9 1,25 1,7 4 2,4 2,0 1,6 1,2 0,9 0,9 0,9 0,9 0,9 0,9 0,9 0,9 1,2 1,6 2,0 2,4 Tabela 5.1 Fatores multiplicativos de adaptação de quantificadores. M(1) corresponde ao valor mais pequeno de quantificação, correspondendo o aumento do índice a um aumento do valor de quantificação. Uma versão mais complexa do codificador ADPCM, com adaptação do preditor e do quantificador foi adotada como recomendação G.726 (1990 unificação das Rec. G.721 (1984) e G.723 (1988)) pelo ITU-T, para codificação de sinais de fala com débitos binários de 16, 24, 32 e 40 kbit/s (2, 3, 4 e 5 bits por amostra). São utilizados 10 Nikil Jayant, 1949-. Indiano. Professor no Georgia Institute of Technology, Atlanta 54 Modulação de pulsos Carlos Meneses 32 kbit/s para duplicar o número de conversações em relação à recomendação G.711 em canais telefónicos e na norma DECT de sistemas telefónicas de curto alcance. a) Transmissor ADPCM b) Recetor ADPCM Figura 5.8 Modulação por código de pulso diferencial adaptativo. Esquema de blocos do codificador ADPCM, com adaptação amostra a amostra dos níveis de quantificação, baseado no índice de quantificação. 5.1.6 Propagação dos erros de canal de transmissão Uma desvantagem da codificação DPCM em relação à codificação PCM prende-se com a propagação de erros no canal de transmissão. Em PCM, um erro no canal de transmissão afeta apenas a amostra correspondente, enquanto em DPCM este erro é propagado às amostras posteriores, pois o sinal de saída é calculado através do sistema linear representado por: Codificação preditiva 55 nenamnenmnm qqqpq 1 . (5.22) Se |a|< 1, então o erro é atenuado a cada iteração e tende para zero tão mais rapidamente quanto menor for o valor de |a|. Se |a| = 1, então o erro nunca é atenuado, enquanto para |a|> 1 o erro é aumentado a cada iteração. Na presença de erros no canal de transmissão, para além da propagação de erros comum ao DPCM, o ADPCM tem como grande desvantagem uma adaptação mal realizada no recetor, o que conduz a que os quantificadores do recetor e do transmissor sejam diferentes, levando a uma perda significativa de qualidade. 5.2 Modulação Delta A modulação Delta (DM - Delta modulation) é um caso particular da modulação DPCM utilizando um codificador de 1 bit por amostra. O esquema de blocos é apresentado na figura 5.9. O bit de codificação apenas dá informação do sentido do sinal diferença (se positivo ou se negativo), sendo o sinal de saída incrementado ou decrementado de um passo fixo (quantificador midrise de 1 bit por amostra). Figura 5.9 Modulação Delta (DM). Esquema de blocos de um transmissor por Modulação Delta, representando o bit de codificação se a diferença entre o sinal de entrada e a saída anterior é positiva ou negativa. O recetor é igual ao do DPCM (Figura 5.2 b)), mas com um descodificador de 1 bit (2 valores, ±). Embora com estas restrições, e não se esperando de um codificador de 1 bit por amostra uma grande qualidade, este tipo de codificação teve a sua época quando a 56 Modulação de pulsos Carlos Meneses tecnologia digital ainda era de custo elevado, pois pode ser implementado com pequena complexidade tendo como entrada o sinal analógico e utilizando componentes analógicos (comparadores, integradores, S&H), como mostrado na figura 5.10. Modulador DM Desmodulador DM Figura 5.10 Implementação analógica da modulação Delta. O valor de é dado por ATs/RC. 5.2.1 Tipos de distorção Como em DPCM, existem dois tipos de distorções introduzidas em DM, ilustradas na figura 5.11: a saturação de declive típico das zonas de variação rápida do sinal de entrada; e o ruído granular típico das zonas de silêncio ou de pequena variação do sinal de entrada, quando comparado com o passo de quantificação. Figura 5.11 Tipos de distorção na Modulação Delta. Há dois tipos de distorção na modulação delta: a distorção de saturação de declive, típico das zonas de variação brusca do sinal em que o passo do quantificador é insuficiente; o ruído granular, típico das zonas de pequena variação do sinal de entrada em que o passo do quantificador é demasiado grande. Codificação preditiva 57 Existe um compromisso entre estes dois tipos de ruído: aumentando o passo de quantificação para se evitar a saturação de declive aumenta-se o ruído granular e vice-versa. Em PCM e DPCM o ruído granular pode ser evitado com recurso a um codificador midtread, o que não é possível em DM, por ser utilizado 1 bit de codificação por amostra. 5.2.2 Relação sinal-ruído em DM De modo a evitar completamente o ruído de saturação de declive o valor de tem que de no mínimo ser igual à variação máxima do sinal no intervalo entre duas amostras Ts=1/fs: s s f mT t tm max' max , (5.24) sendo max'm a derivada máxima do sinal de entrada. Quando o codificador DM funciona sem saturação de declive pode-se assumir que a função densidade de probabilidade do ruído é uniforme entre – e , e: 32 1 222 deeq . (5.25) Repare-se que 2q, pelo que a expressão 5.25 coincide com a 4.10. A SNRq de quantificação vem, com o valor mínimo de imposto pela equação 5.24: P m fPPSNR s q q 2 ' max 22 3 3 . (5.26) Para um sinal genérico, a derivada máxima é causada pela frequência máxima do sinal. Contudo, para sinais de fala, a derivada máxima não se dá para a frequência máxima do sinal, mas, dependendo do fonema pronunciado, para uma frequência de 58 Modulação de pulsos Carlos Meneses cerca de 1.000 Hz. Definindo, como na equação 5.20, 'maxf como a frequência que produz esta derivada máxima: max '' max 2 mfm . (5.27) De 5.26 e 5.27 e isolando o termo (W/f’), tem-se que, n sss q Pf f m P f fP mf fSNR 2 '2 max 2 2 '2 2 max ' 4 3 4 3 2 3 , (5.28) ou em decibéis: 11log10log20 10'10 n s dB Pf fSNR . (5.29) 5.2.3 ADM - Modulação Delta adaptada Os codificadores por modulação delta não são competitivos em relação ao PCM ou ao DPCM devido ao forte compromisso entre o ruído granular e de saturação de declive. É no entanto possível aumentar a qualidade adaptando o passo de quantificação, dando origem à modulação delta adaptada (ADM – Adaptive delta modulation). O ruído de saturação de declive na modulação delta pode ser detetado através de uma sequência de bits de saída com o mesmo nível lógico. Por outro lado, uma sequência alternada de níveis lógicos indicia um sinal com frequência muito baixa e portanto a predominância de ruído granular. A deteção de ambos os tipos de ruído pode ser aproveitada para adaptar o valor do passo de quantificação. Um método simples, mas eficaz, de adaptação amostra-a-amostra, seguindo o princípio acima referido, devendo este ser aumentado quando se deteta ruído de saturação de declive e diminuído quando se deteta ruído granular. tem a regra seguinte: nb nbnn 111 10 , (5.30) Codificação preditiva 59 em que b[n] é o valor do nível lógico de saída do quantificador no instante n, neste caso tomando os valores ±1 e gere o grau de adaptação. Por exemplo com =0,5 o passo da amostra anterior é multiplicado por 1,5 caso se suspeite de saturação de declive e dividido por 0,5 caso se suspeite de ruído granular. Este método é exemplificado na figura 5.12. Figura 5.12 Modulação Delta Adaptada. O passo do modulador é adaptado de modo a diminuir a distorção, segundo o raciocínio seguinte: uma sequência de bits de saída com o mesmo nível lógico indiciadistorção de saturação de declive e o passo é aumentado; uma sequência de bits de saída com níveis lógicos alternados indicia ruído granular e o passo é diminuído. O princípio de adaptação ilustrado é utilizado em métodos mais complexos mas também mais eficazes, para implementar codificadores de sinais de fala, tais como o CVSD (Continuous variable slope delta), com débitos binários entre os 16 kbit/s e os 128 kbit/s. Para além da adaptação o aumento da qualidade é conseguido através do aumento da frequência de amostragem (equação 5.29) e consequente aumento da correlação entre amostras. Como em ADPCM, devido à adaptação estes codificadores são menos robustos na presença de erros de canal que as respetivas versões sem adaptação, já que a predição está a ser efetuada com amostras descodificadas incorretas. Comparação entre codificadores de sinal 61 6 Comparação entre codificadores de sinal Nas secções 3 a 5 descreveram-se os métodos principais de codificação de forma de onda, com ênfase para a codificação de sinais de fala. Foram deduzidas as expressões da relação sinal-ruído de quantificação, medida objetiva da qualidade, para os diversos métodos de codificação apresentados, tendo sido realçado o compromisso com o débito binário produzido. Na tabela 6.1 apresentam-se as vantagens/desvantagens dos codificadores apresentados, em relação aos seus atributos. PCM uniforme PCM Companding PCM quantif. ótimo DPCM preditor unitário DPCM preditor adaptado ADPCM DM ADM Débito binário (mesmo SNRq) ↓↓ ↓ ↓ - ↑ ↑↑ ↑ ↑↑ Qualidade (mesmo Rb) ↑ ↑ ↑↑ - - ↑↑ ↓ - Complexidade ↑ ↑ ↓ ↓ ↓↓ ↑ ↓ Sensibilidade a erros de canal ↑ ↑ ↑ ↓ - ↓↓ ↓ ↓↓ Dependência do sinal de entrada ↓ ↑ ↓↓ ↓ - ↑↑ ↓↓ - Tabela 6.1 Comparação entre codificadores de sinal. Codificadores de sinal com melhor (↑) e pior (↓) desempenho em termos de atributos. Os codificadores PCM (codificação por modelação de pulsos) diferenciam-se pelo tipo de quantificador: Quantificador uniforme – A SNRq é dependente da potência do sinal de entrada e da tensão máxima de quantificação, sendo esta a sua principal desvantagem. Poderá ser uma boa opção quando não é conhecida a distribuição do sinal de entrada. Utilizado por exemplo em CD (compact disk) de áudio; Quantificador companding – A SNRq é (praticamente) independente do sinal de entrada. Também é independente da tensão máxima de quantificação. A SNRq tem uma 62 Modulação de pulsos Carlos Meneses diminuição de apenas 2,5 dB (figura 6.1), para uma variação da potência do sinal até aos –40 dB. Acima dos –14,77 dB, valor impossível de atingir pelos sinais de fala, o PCM uniforme tem um melhor desempenho. Por exemplo para sinusoides, cuja potência normalizada é de –3 dB (tabela 3.1) e apresenta uma função de probabilidade com maiores ocorrências para valores maiores, a SNRq correspondente para 8 bits/amostra em PCM uniforme é de 50 dB, contrariamente aos 38 dB obtidos pelo PCM companding. Um outro fator importante obtido pelo PCM companding, particularmente quando aplicado a sinais de fala, é o aumento da qualidade percetiva em relação ao PCM uniforme. O aparelho auditivo, através de um processo de mascaramento auditivo, é menos sensível ao ruído em zonas de maior potência. Também por este facto se quantifica melhor os valores menores em detrimento de valores maiores. Conclui-se do melhor desempenho objetivo (aumento da SNRq) e subjetivo (melhoria da qualidade percetiva) para sinais de fala do PCM companding em relação ao PCM uniforme, sendo utilizado em codificação na transmissão telefónica em rede fixa; Quantificador ótimo – Tira partido do conhecimento sobre a função densidade de probabilidade das amplitudes dos sinais a quantificar. Os valores de quantificação e decisão são adaptados (treinados) de modo a maximizar a relação sinal-ruído. Como principal desvantagem, caso o sinal de entrada não mantiver a mesma função densidade de probabilidade dos sinais que serviram para o treino dos quantificadores, a SNRq pode descer para valores intoleráveis. As codificações diferenciais, ao predizerem o valor de uma amostra tirando partido da correlação entre amostras consecutivas, têm ainda uma melhoria na SNRq devido à introdução do ganho de predição. No entanto, ao depender das amostras passadas, a modulação diferencial perde robustez na presença de erros no canal de transmissão. Foram ainda apresentados os princípios básicos da predição e da quantificação adaptada, que se ajustam às caraterísticas dos sinais a codificar. Estes Comparação entre codificadores de sinal 63 sistemas adaptativos são ainda menos robustos na presença de erros no canal, já que a adaptação pode ser mal efetuada levando a diferenças entre os parâmetros adaptados no transmissor e no recetor. O melhor codificador é um conceito inexistente em codificação de fala. Para determinada aplicação devem ser levados em conta os atributos mais relevantes, possivelmente à custa de um pior desempenho em relação aos outros. Por exemplo, a diminuição do débito binário só é possível correlacionando a informação entre amostras, o que leva a um aumento da complexidade e atraso, e possivelmente leva à diminuição da qualidade. Segunda Parte COMUNICAÇÃO DE DADOS (Introdução) (…) um sistema de comunicação (…) consiste essencialmente de cinco partes: 1. Uma fonte de informação que produz uma mensagem ou sequência de mensagens a serem comunicadas ao terminal recetor. (…) 2. Um transmissor que opera sobre a mensagem de alguma forma para produzir um sinal adequado à transmissão ao longo do canal. Na telefonia esta operação consiste simplesmente na mudança de pressão sonora numa corrente elétrica proporcional. Em telegrafia temos um processo de codificação que produz a sequência de pontos, traços e espaços sobre o canal correspondente à mensagem. Num sistema multiplexado PCM os diferentes sinais de fala devem ser amostrados, quantificados, codificados e, finalmente, intercalados adequadamente para construir o sinal. Sistemas vocoder, televisão e de frequência modulada são outros exemplos de operações complexas aplicadas à mensagem para obter o sinal. 3. O canal é meramente o meio utilizado para transmitir o sinal do transmissor ao recetor. Pode ser um par de condutores, um cabo coaxial, uma banda de frequências de rádio, um feixe de luz, etc.. 4. O recetor normalmente executa a operação inversa da que fez o transmissor, reconstruindo a mensagem a partir do sinal. 5. O destino é a pessoa (ou coisa), para quem a mensagem é proposta. Claude E. Shannon A Mathematical Theory of Communication, 1948 Introdução à transmissão de dados 67 7 Introdução à transmissão de dados O problema da comunicação de dados prende-se com a transmissão de informação digital entre dois equipamentos (computadores, telefones, etc.) através de um canal de comunicação. São transmitidos sinais (elétricos, eletromagnéticos, óticos) que correspondem a códigos representando a informação digital. 7.1 Limitações dos sistemas de comunicação No canal de comunicação, os sinais são atenuados devido à resistência elétrica, distorcidos devido à largura de banda, inseridos em ruído devido ao ruído térmico ou a interferências eletromagnéticas e não são transmitidos instantaneamente. Os efeitos do canal de comunicação levam o recetor a nem sempre conseguir discriminar a informação recebida. Havendo erros entre o transmissor e o recetor, a qualidade da transmissão é medida através da relação entre o número bits errados e a totalidade dos bits transmitidos (BER – bit error rate), que é uma estimativa da probabilidade de erro de bit (também denominada relação ou taxa de erro de bit). A largurade banda do canal de comunicação é, a par da energia transmitida, um recurso extremamente importante que interessa preservar. A eficiência espetral, medida como a relação entre o débito binário (número de bits transmitidos por segundo) e a largura de banda ocupada pelo sinal transmitido, serve de medida de qualidade em relação a este atributo. A transmissão M-ária (em oposição à binária), ou seja, a transmissão de símbolos com mais de duas formas de onda possíveis, faz diminuir o débito de símbolos para o mesmo débito binário. A largura de banda é linearmente dependente do débito de símbolos, sendo esta uma forma de melhorar a eficiência espetral. Aos bits de informação poderão ser introduzidos bits de redundância, de modo a que bits errados sejam detetados ou mesmo corrigidos no recetor. Os códigos de correção necessitam de mais redundância que os códigos de deteção, aumentando o número de bits transmitidos. No entanto os códigos de deteção de erros necessitam de 68 Transmissão de dados Carlos Meneses mecanismos que informem o transmissor destes erros de modo a que a informação respetiva possa ser retransmitida. Não é possível encontrar um método de transmitir a informação digital com total eficácia, ou seja, com grande débito binário, grande eficiência espetral, pequena probabilidade de erro de bit, pequena energia e com pequena complexidade dos equipamentos transmissores e recetores. São discutidos nas próximas secções os compromissos entre estes atributos e terá que ser encontrado, função dos recursos disponíveis, o método que melhor se adequa a cada aplicação. Por exemplo, são diferentes as soluções para ligar dois computadores numa mesma sala distanciados de alguns metros, ou quando estes se encontram em qualquer parte de um país ou mesmo do mundo. Chega-se ainda a soluções diferentes quando os utilizadores geram pouco tráfego de baixa prioridade, como os utilizadores domésticos, ou muito tráfego de alta prioridade, como numa empresa com diversos balcões interligados. 7.2 Modelo de referência OSI Para interligar diversos equipamentos de diferentes fabricantes, cada um com a sua arquitetura, formato de dados, sistema operativo, etc., a ISO (International Organization for Standardization) normalizou em 1979 um modelo de referência denominado de OSI (Open system interconnection). Este é um modelo abstrato baseado em 7 camadas (física, ligação, rede, transporte, sessão, apresentação e aplicação), esquematizado na figura 7.1. Cada camada apenas comunica com as camadas imediatamente acima e abaixo, através de uma interface bem definida, e com a mesma camada no equipamento destino, tornando os protocolos que implementam independentes das outras camadas. 7.2.1 Camada física A camada física define as especificações físicas (mecânicas e elétricas) dos equipamentos, i.e., define a relação entre o equipamento e o meio físico. (e.g. tipo de fichas, cabos, formas e tensões dos sinais elétricos, quantidade de bits transmitidos por Introdução à transmissão de dados 69 unidade de tempo, tipo de sincronismo). Apenas tem a noção de bit ignorando as estruturas definidas pelas camadas superiores. Figura 7.1 Modelo de referência OSI. Modelo de 7 camadas normalizado em 1979 pela ISO. 7.2.2 Camada de ligação Como o seu nome (ligação) indica, esta camada preocupa-se essencialmente em gerir a ligação entre dois ou mais equipamentos que comuniquem diretamente entre si, recorrendo para tal à camada física. Oferece às camadas superiores uma forma de transmitir aos equipamentos de destino os dados estruturados em tramas que possuem um cabeçalho, uma zona de dados e uma cauda. O cabeçalho inclui campos de suporte aos serviços disponibilizados e a cauda é usada para suporte da deteção de erros. Presta serviços às camadas superiores (rede) e socorre-se dos serviços da camada inferior (física) para fazer chegar as tramas aos outros equipamentos. Pode prestar vários tipos de serviços como, por exemplo, fiáveis, não fiáveis, ponto-a-ponto, ponto-multiponto, com controlo de fluxo, sem controlo de fluxo. Por exemplo, um trânsito fiável de dados nas ligações físicas da rede implica o uso de um algoritmo de correção de erros através 70 Transmissão de dados Carlos Meneses de códigos apropriados, ou a utilização de protocolos que promovem a retransmissão da trama em falha (correção por retransmissão). Poderá igualmente ser não fiável, deixando neste caso a tarefa da correção de erros, sequenciação, etc. às camadas superiores, se assim for pretendido. 7.2.3 Camada de rede A camada de rede procede ao encaminhamento da informação pela rede, organizando-a em pacotes, gerindo o endereçamento, podendo ter em consideração fatores como a quantidade de tráfego na rede, a capacidade em termos de débito máximo possível e a prioridade segundo o tipo de serviço requerido. Ao contrário dos endereços da camada de ligação, de quem esta camada se socorre para transmitir entre equipamentos vizinhos os seus dados estruturados em pacotes, a noção de endereço nesta camada está associado ao conceito de morada e de encaminhamento. Implica encaminhamento ao longo de redes mais ou menos complexas até atingir o destino (morada) que pode ser remoto. Dependendo do protocolo usado e dos objetivos pretendidos esta camada pode ou não realizar serviços como, por exemplo, a segmentação de dados e a correção de erros. A implementação desta camada é realizada normalmente pelo protocolo IP (Internet protocol). 7.2.4 Camada de transporte A camada de transporte é uma camada que permite a oferta de um conjunto de serviços independente do protocolo de rede, tornando assim as camadas acima independentes da rede utilizada. Os serviços prestados por esta camada podem ser tão simples como apenas realizar multiplexagem dos protocolos superiores sobre a mesma camada de rede (múltiplos protocolos superiores transportados sobre o mesmo protocolo de rede para o mesmo equipamento destino mas para aplicações distintas no destino), caso, por exemplo, do protocolo UDP (User datagram protocol), ou complexa o suficiente para Introdução à transmissão de dados 71 disponibilizar, para além da multiplexagem antes referida, serviços de transferência de dados com garantia de entrega sem erro, possibilitando nomeadamente o controlo de fluxo e a garantia da sequência correta dos dados transportados nos vários segmentos formados nesta camada, caso, por exemplo, do protocolo TCP (Transmission control protocol). 7.2.5 Camadas orientadas à aplicação As camadas orientadas à aplicação (sessão, apresentação, aplicação) são responsáveis pela comunicação entre aplicações a correr em dois equipamentos, pela compatibilidade entre formatos e pela interface com os utilizadores. 7.2.6 Modelo TCP/IP O modelo TCP/IP (Transport control protocol/Internetwork protocol) é um modelo menos rígido mas funcionalmente equivalente ao modelo OSI. É formado por 4 camadas: camada de interface de rede (correspondente às camadas física e de ligação do modelo OSI); camada de Internet (camada de rede); camada de transporte (camada de transporte); camada de aplicação (camadas de sessão, apresentação e aplicação). Este modelo é anterior ao modelo OSI. Os capítulos correspondentes à segunda parte deste texto focarão especificamente a interface elétrica da camada física (secções 8 a 12) e os algoritmos de deteção e correção de erros ao nível do bit (secção 13). Os outros aspetos, como, por exemplo, controlo de fluxo e de sequência, saem do contexto deste texto, devendo sendo abordados por exemplo em unidades curriculares específicas de redes de computadores. Códigos de linha binários 73 8 Códigos de linha binários Os códigos de linha têm como objetivo transmitir informação digital (níveis lógicos “0” e “1”) num canal de comunicação11. Estes códigos encontram-se embanda de base, ou seja, são constituídos por níveis de tensão (ou corrente) que transitam de um modo descontínuo, ocupando uma zona do espetro em torno dos 0 Hz. 8.1 Atributos dos códigos de linha Diferentes características do canal de comunicação, diferentes aplicações e requisitos de qualidade, levaram a desenvolver diferentes códigos de linha, com atributos diferentes. Quase sempre estes atributos estabelecem compromissos, no sentido em que tentar melhorar um deles corresponde a piorar outro ou mesmo outros atributos. Os atributos mais importantes num código de linha são: 8.1.1 Débito binário Numa transmissão binária em série o débito binário Rb (número de bits transmitidos por segundo) corresponde ao inverso do tempo de cada bit Tb (duração de cada símbolo binário), ou seja: b b T R 1 . (8.1) 8.1.2 Energia média por bit e potência transmitida A energia é um recurso extremamente importante, do qual depende o valor a pagar à empresa fornecedora. Este torna-se ainda mais importante num mundo cada vez mais móvel, em que os equipamentos não estão ligados a tomadas (e.g. telefones móveis, computadores portáteis) mas são alimentados por baterias. Um maior consumo de energia corresponde assim à utilização de baterias de maior capacidade e portanto mais caras e mais pesadas e/ou a um menor tempo da sua duração. 11 Também designado de linha de transmissão, dando origem ao termo código de linha. 74 Transmissão de dados Carlos Meneses A energia (normalizada) de cada símbolo é determinada por: dttsE bT ll 0 2 , l= ”0” ou “1”, (8.2) em que l representa o nível lógico “0” ou “1” e tsl a respetiva forma de onda. A energia média por bit, bE , corresponde à média ponderada pela probabilidade de cada nível lógico, p0 e p1, respetivamente para o nível lógico “0” e “1”: 1100 EpEpEb . (8.3) Neste texto assume-se que os níveis lógicos são equiprováveis, ou seja, p0=p1=0,5. Esta hipótese é suficientemente realista e simplifica a análise dos sistemas de comunicação. Nesta situação obtêm-se: 2 10 EEEb . (8.4) A potência (normalizada) transmitida é definida por, bb b b T RET ES . (8.5) 8.1.3 Eficiência espetral Qualquer canal de comunicação (secção 9) funciona numa banda de frequências limitada. Para evitar distorção da forma de onda o espetro do código de linha tem de estar contido na banda do canal de comunicação. Por outro lado, quando se pretende transmitir vários sinais digitais ao mesmo tempo no mesmo canal de comunicação, quanto menor for a largura de banda de cada sinal mais sinais se conseguem transmitir. A banda disponível no canal de comunicação aparece assim como um recurso de extrema importância, que deve ser bem administrado. Códigos de linha binários 75 Como os códigos de linha têm transições bruscas entre níveis (descontinuidades), a sua largura de banda é infinita. Este problema e suas soluções serão abordados posteriormente (secção 10), mas a largura de banda do código de linha, TB , depende do número máximo de transições por segundo e deve ser a menor possível. A eficiência espetral, medida de qualidade de como determinado código aproveita a largura de banda, correspondente à relação entre o débito binário e a largura de banda ocupada e é dada por: T b B R . (8.6) 8.1.4 Probabilidade de erro de bit Uma das características dos canais de comunicação (secção 9) é a presença de ruído, que pode levar a erros de bit entre o transmissor e o recetor. Um código de linha deve ser o mais imune possível ao ruído, ou seja, deve ser descodificado com o menor número de erros de bit. Deve-se então minimizar a probabilidade de erro de bit, BER, para uma dada relação sinal-ruído no canal de comunicação. A probabilidade de erro de bit é definida por: dos transmitibits de Número errados bits de Número BER , (8.7) em que, como qualquer estimativa estatística, se deve tender o número de bits transmitidos para infinito. 8.1.5 Componente DC Alguns canais de comunicação têm apenas acoplamento AC (corrente alterna), contendo condensadores em série que eliminam a componente DC (corrente contínua). Um canal típico com apenas acoplamento AC é a linha telefónica. Para transmitir neste tipo de canais o código de linha não pode apresentar componente DC, ou seja, o seu valor médio deve ser nulo, pois esta vai ser eliminada até chegar ao recetor. Também é de evitar componentes DC localizadas pois podem ser desvanecidas num tempo curto. 76 Transmissão de dados Carlos Meneses 8.1.6 Capacidade de deteção de erros de bit Alguns códigos são capazes de detetar erros de bit entre o transmissor e o recetor, ao restringir por regra a sequência de símbolos transmitidos. Se houver possibilidade de informar o transmissor destes erros os respetivos bits poderão ser retransmitidos. Esta capacidade, sem o envio de informação redundante, consegue diminuir a probabilidade de erro de bit sem aumentar o débito binário (a menos da informação retransmitida). 8.1.7 Capacidade de sincronismo de símbolo De modo a que o recetor consiga extrair corretamente a informação, este tem de conhecer o instante de início e fim de cada símbolo (sincronismo de símbolo). Existem dois modos de transmissão: modo assíncrono e modo síncrono: O modo assíncrono de transmissão é utilizado tipicamente quando a geração da informação é aleatória e em pequena quantidade e exemplificado no fim desta secção. O modo síncrono de transmissão é utilizado para transmitir grande quantidade de informação (trama). No recetor, o relógio com informação de início e fim de cada símbolo (ou bit no caso da transmissão binária) tem que ser extraído do próprio código de linha, a partir das transições entre níveis. Esta capacidade deve ser independente da sequência de símbolos transmitidos. Idealmente, para que não haja perda de sincronismo, deve ser garantida uma transição por símbolo. 8.1.8 Complexidade Um código de linha deve ser fácil de realizar e de ser detetado, pois esta facilidade leva à utilização de equipamentos menos complexos que por sua vez se traduzem num custo menor. Por exemplo, os equipamentos que, devido ao código que implementam, necessitem de fontes de alimentação com apenas uma polaridade, são mais baratos que os que necessitem de polaridades simétricas. Os recetores que necessitem de sincronismo de símbolo e este não seja fácil de realizar são também mais sofisticados e portanto mais dispendiosos. Códigos de linha binários 77 8.2 Formatos dos códigos de linha Quanto à polaridade os códigos de linha binários podem ser: (1) Polares (P), quando definidos por duas formas de onda simétricas; (2) Unipolares (U) quando um dos símbolos é definido pela tensão 0 V; (3) Bipolares12 (B) quando definidos por 3 símbolos, sendo duas formas de onda simétricas e pela tensão 0 V. Quanto à maneira como a informação é transmitida os códigos de linha podem ser: (1) de nível, quando a informação se encontra no nível de tensão; (2) de transição, quando a informação se encontra na transição entre níveis. Esta transição pode se dar entre símbolos ou a meio do símbolo. Salienta-se que na presença de ruído é mais fácil detetar transições do que níveis de tensão. Os códigos de linha podem ainda ser: (1) de retorno a zero (RZ – Return to zero), normalmente a meio do bit, produzindo sempre pelo menos uma transição por símbolo de modo a facilitar o sincronismo; (2) sem retorno a zero (NRZ – No return to zero), mantendo a mesma tensão durante todo o tempo de bit. Seguidamente descrevem-se alguns dos códigos de linha mais comuns, representados na figura 8.1. 8.2.1 Polar sem retorno a zero (PNRZ) Este é um código de nível em que o nível lógico “1” é representado pela tensão +A e o nível lógico “0” pela tensão –A. Estecódigo, ilustrado na figura 8.1-a, é também designado por NRZ-L (level – código de nível). O sincronismo de símbolo é conseguido através das transições que só ocorrem quando da troca de níveis lógicos, pelo que este pode ser perdido quando da transmissão de uma sequência longa de bits ao mesmo nível lógico. O número máximo de transições por segundo é de Rb, ou seja, no máximo uma transição por símbolo. Esta situação dá-se quando se envia uma sequência alternada de níveis lógicos. 12 Alguns autores referem-se à codificação bipolar como sendo aquela que neste texto, como referido também por outros autores, é referida como codificação polar. 78 Transmissão de dados Carlos Meneses Figura 8.1 Formas de onda dos códigos de linha mais comuns. Exemplo para a sequência binária “1 0 1 0 0 1 1 0”. a) PNRZ b) PRZ c) UNRZ d) Manchester e) BNRZ f) NRZI g) Manchester diferencial. Se os níveis lógicos forem equiprováveis a componente DC é nula. Contudo, para uma sequência ao mesmo nível lógico suficientemente prolongada, existirá desvanecimento do sinal se o canal tiver acoplamento AC. Códigos de linha binários 79 A potência deste código, independentemente da probabilidade de ocorrência de cada nível lógico, é A2, obtendo-se para a energia média por bit de, bbTb TATSE 2 . (8.8) Um exemplo da transmissão com código PNRZ é a interface RS-232, usada para conectar numa rede local dois computadores, ou um computador e teclados, impressoras, modems, etc., com débitos binários até 115 kbit/s. 8.2.2 Polar com retorno a zero (PRZ) Este código é semelhante ao PNRZ mas, como representado na figura 8.1-b, é produzido um retorno a 0 V a meio de cada bit. A vantagem deste código em relação ao PNRZ é serem produzidas sempre duas transições por bit, uma no início e outra a meio do símbolo, nunca se perdendo o sincronismo. O número de transições por segundo é assim de 2Rb, independentemente da sequência de níveis lógicos. A potência deste código, independentemente da probabilidade de ocorrência de cada nível lógico, é A2/2, sendo a energia média por bit, bb T AE 2 2 . (8.9) Este código pode ser considerado um código de transição, já que ao símbolo “1” corresponde uma transição positiva no início do bit e negativa a meio do bit, tendo o símbolo “0” as transições contrárias. 8.2.3 Unipolar sem retorno a zero (UNRZ) Este código é análogo ao PNRZ mas, como representado na figura 8.1-c, o nível lógico “0” é representado por 0 V (também designado Unipolar NRZ-L. A vantagem principal é ser de fácil implementação, nomeadamente por necessitar apenas de uma fonte de alimentação. A grande desvantagem é ter sempre uma componente DC. Todas as outras características são idênticas às do código PNRZ. Aliás, este código pode ser interpretado como um código PNRZ ao qual foi adicionado uma componente DC, de 80 Transmissão de dados Carlos Meneses modo que o nível lógico “0” seja representado por 0 V. A energia do símbolo “1” é A2Tb e a do símbolo “0” é 0 J. A energia média por bit é, para símbolos equiprováveis, dada pela equação 8.9. Este código é vulgarmente utilizado para interligar em paralelo (em bus normalmente com dimensão múltipla de um byte) componentes de um computador, tais como o microprocessador, a RAM e controladores. Outra norma utilizando o código UNRZ é o “laço de corrente de 20 mA”. Esta utiliza 20 mA de corrente ou a ausência de corrente como símbolos. A vantagem da utilização da corrente em vez de tensão é um aumento da distância possível entre equipamentos. A corrente poder ser utilizada no recetor para ativar um led que fará acoplamento ótico com um fototransístor, isolando eletricamente o transmissor do recetor. 8.2.4 Manchester Este código, também denominado de split-phase, é um código polar de transição entre níveis. Como representado na figura 8.1-d, o nível lógico “1” é representado pela transição a meio do tempo de bit da tensão –A para +A e o nível lógico “0” pela transição contrária. Dito de outra forma, o nível lógico “1” é representado pela amplitude –A na primeira metade do bit e por +A na segunda metade e o nível lógico “0” pelas amplitudes simétricas. Como existe sempre uma transição a meio do bit o sincronismo de bit é facilitado. O número mínimo de transições por segundo é assim de Rb. No máximo o número de transições é de 2Rb, quando se envia uma sequência do mesmo nível lógico. Os símbolos não têm componente DC, pelo que o código não tem componente DC, seja qual for a sequência a ser transmitida e a probabilidade de ocorrência dos símbolos. A potência é também independente da probabilidade de ocorrência dos símbolos, sendo dada por A2 e a energia por bit é dada pela equação 8.8. Este código é utilizado por exemplo na norma IEEE 802.3 a 10 Mbit/s, para interligar equipamentos de redes locais Ethernet. Códigos de linha binários 81 8.2.5 Bipolar Sem Retorno a Zero (BNRZ) Neste código de nível bipolar, o nível lógico “1” é representado alternadamente pelas tensões +A e –A, e o símbolo “0” por 0 V. Este código está ilustrado na figura 8.1-e, em que se assume que o último nível lógico “1” foi representado por –A. Uma das principais vantagens deste código13 é ter memória e ser possível detetar erros de bit quando da receção dos níveis lógicos “1” que devem ocorrer no recetor com tensões alternadas. Violações a esta regra correspondem a erros de bit, levando a que erros isolados sejam sempre detetados. Outra vantagem deste código é a de ser insensível à polaridade. Pode-se inverter a polaridade do cabo de ligação entre os equipamentos transmissor e recetor que a informação continua a ser descodificada corretamente. Devido à alternância da polaridade no símbolo “1” o código não produz componente DC nem sequer durações prolongadas à mesma tensão e portanto não sofre de desvanecimento. O número máximo de transições é de Rb, o que acontece quando se transmitem apenas níveis lógicos a “1”. A energia do símbolo “1” é A2Tb e a do símbolo “0” é 0 J. A energia por bit é, para símbolos lógicos equiprováveis, dada também pela equação 8.9. Quando de um nível lógico “1” existe sempre uma transição que permite o sincronismo de símbolo. Quando de uma sequência prolongada de níveis lógicos “0” o sincronismo pode perder-se, pois de fato não há sinal na linha (0 V). Em relação a este atributo o código BNRZ é mesmo assim melhor que os códigos PNRZ e UNRZ, que podem perder o sincronismo quando de uma sequência prolongada a qualquer nível lógico. Uma das maneiras de evitar a perda de sincronismo em BNRZ é produzir transições como se fossem transmitidos níveis lógicos “1”, mas com violações que permitam ao recetor detetar esta situação e substituir por níveis lógicos “0”. A esta 13 Também denominado pseudo-ternário pois tem 3 símbolos, embora a informação seja binária. Também denominado AMI (alternate mark inversion). Existe a versão deste código com retorno a zero (BRZ). 82 Transmissão de dados Carlos Meneses técnica dá-se o nome de bipolar com substituição de N zeros (BNZS – Bipolar with N zero substitution), em que N é o número de níveis lógicos consecutivos a “0” a ser substituídos. Exemplos comuns deste código são o B3ZS, B6ZS e B8ZS. O B6ZS tem a regra seguinte: – Último símbolo transmitido positivo, transmite-se “0 +A –A 0 –A +A” – Último símbolo transmitido negativo, transmite-se “0 –A +A 0 +A –A ” Note-se que existem duas violações, no 2º e 5º símbolo. Se o número de zeros for múltiplo de 6 a substituição é efetuada o mesmo número de vezes. A utilização desta técnica não inibe a deteção de erros já que a probabilidade de ocorrência de uma substituição e de haver erros é muito pequena. Este código é utilizado por exemplo em ISDN ITU-T Rec.I.430 e na interligação entre centrais telefónicas por cabo de cobre. 8.2.6 Sem retorno a zero invertido (NRZI) O código NRZI parece ser idêntico ao PNRZ mas é um código de transição e não de nível como é o PNRZ. Representa um dos níveis lógicos invertendo o símbolo em relação ao último símbolo transmitido e o outro nível lógico corresponde a manter o último símbolo transmitido. Existem duas versões deste código: NRZ-M (inversão em mark), representado na figura 8.1-f, em que o nível lógico “1” é codificado com a inversão do símbolo e o nível lógico “0” sem inversão; e NRZ-S14 (inversão em space) em que o nível lógico “0” corresponde a inverter o símbolo em relação ao último símbolo transmitido e o nível lógico “1” corresponde a manter o último símbolo transmitido. Como o código BNRZ, este código também é insensível à polaridade, o que emerge do facto de a informação fluir na transição, independentemente de esta ser 14 Alguns autores estabelecem uma diferença entre o código NRZI e as suas variantes NRZ-M e NRZ-S, em relação à altura de ocorrência das transições. Códigos de linha binários 83 positiva ou negativa. A potência é independente da probabilidade de ocorrência de cada símbolo e é dada por A2, sendo a energia média por bit dada pela equação 8.8. O código NRZ-M tem sempre transições quando da codificação de bits ao nível lógico “1”, mas pode perder o sincronismo quando é enviada uma sequência longa de bits ao nível lógico “0”, acontecendo o oposto para o código NRZ-S. Como os códigos BNRZ, estes códigos diferenciais garantem então melhor sincronismo do que os códigos PNRZ e UNRZ. O código NRZI pode ser encarado como um código PNRZ em que a sequência binária b[n] é pré-codificada em a[n] = (a[n–1] xor b[n]). No recetor esta pré-codificação é desfeita com a pós-descodificação c[n] = (a[n] xor a[n–1]) (figura 8.2), que se verifica ser igual a b[n]. Figura 8.2 Código de linha NRZI. PNRZ com pré-codificação e pós-descodificação Pré-codificação (a[n] = a[n–1] xor b[n]). Pós-descodificação (c[n] = a[n] xor a[n–1] = b[n]). Na tabela 8.1 é apresentado um exemplo da pré-codificação e da respetiva pós-descodificação do exemplo da figura 8.1-f. b[n] 1 0 1 0 0 1 1 0 a[n] = a[n–1] xor b[n] 0 1 1 0 0 0 1 0 0 c[n] = a[n] xor a[n–1] = b[n] 1 0 1 0 0 1 1 0 Tabela 8.1 Pré-codificação e pós-descodificação em NRZI. Exemplo correspondente ao da figura 8.1-f). Um exemplo da transmissão com código NRZ-S é a interface de computador USB, usada para conectar periféricos. 84 Transmissão de dados Carlos Meneses 8.2.7 Manchester diferencial Os códigos, como o código NRZI, em que os níveis lógicos são codificados invertendo ou não o símbolo anterior são genericamente denominados de códigos diferenciais. Têm como principais vantagens serem insensíveis à polaridade e tornar os recetores menos complexos, já que, na presença de ruído, é mais robusto detetar transições do que comparar com um limiar. Um código diferencial bastante comum é o código Manchester diferencial, representado na figura 8.1-g, em que o nível lógico “1” é codificado invertendo o símbolo anterior e o nível lógico “0” corresponde a manter o símbolo anterior. Como consequência não existe transição no início dos símbolos correspondentes ao nível lógico “1” e existe sempre transição quando se transmite o nível lógico “0”. Este código contempla todas as características do código Manchester, realçando-se pela positiva a facilidade de sincronismo de bit e adicionando-lhe as vantagens de um código diferencial, e pela negativa uma maior largura de banda. Exemplos da utilização do código Manchester diferencial são a norma IEEE 802.5 de redes locais a 100 MHz e o armazenamento em discos magnéticos e óticos. 8.3 Bit de enchimento Relembre-se que os códigos PNRZ e UNRZ podem perder o sincronismo quando envida uma sequência longa de bits ao mesmo nível lógico, e no código NRZI esta situação acontece quando do envio de uma sequência longa de bits ao nível lógico “0”. Para evitar a perda de sincronismo quando destas sequências longas, coloca-se um bit artificial que imponha uma transição, denominado de bit de enchimento (bit stuffing). Este bit é descartado no recetor, servindo no entanto a sua transição para efetuar o sincronismo, sem aumentar o número máximo de transições e consequentemente a largura de banda. Relembre-se que nos códigos PRZ e Manchester o sincronismo está facilitado, mas à custa de colocar transições a meio do bit, o que aumenta a largura de banda. Códigos de linha binários 85 Como desvantagem da introdução do bit de enchimento, esta provoca um aumento artificial do débito binário, o que não acontece com a utilização da técnica BNZS em códigos BNRZ. Por exemplo na interface USB que funciona com o código NRZI, de modo a nunca perder o sincronismo, para uma sequência de 6 bits ao nível lógico “0” é colocado um sétimo bit ao nível lógico “1”. Mas como a probabilidade da ocorrência de 6 bits consecutivos ao nível lógico “0” é pequena (1/64 para sequências equiprováveis), este método consegue garantir o sincronismo de símbolo com a introdução de muito poucos bits de enchimento. 8.4 Modo de transmissão assíncrono Os códigos NRZ, nas suas versões polar e unipolar, não são especialmente vocacionadas para fornecer sincronismo de símbolo ao recetor, pois não são criadas transições quando são transmitidas longas sequências do mesmo símbolo lógico. Para distâncias curtas em que o canal de comunicação é um cabo elétrico, nomeadamente na transmissão numa mesma sala, é possível transmitir num segundo condutor a informação do relógio do transmissor para sincronismo do recetor. Contudo existe um outro método para resolver o sincronismo de símbolo que evita a transmissão do relógio num segundo condutor, denominado de modo de transmissão assíncrono. O modo de transmissão assíncrono é utilizado também em distâncias curtas, mas especialmente quando a geração da informação é aleatória e em pequena quantidade. É exemplo a geração de informação num teclado e transmitido para um computador, em que cada carácter é representado por um código, por exemplo o código ASCII (American standards committee for information interchange) de 7 bits. O processo de transmissão assíncrono é exemplificado na figura 8.3 com o código de linha PNRZ e para a tecla “B”, a que corresponde a sequência binária em ASCII “1 0 0 0 0 1 0”. Entre o premir de duas teclas não há informação transmitida e a linha fica inativa (idle), representado pela tensão +A. Quando uma tecla é premida é gerado um bit de início (start bit) à tensão –A. Esta transição da linha inativa para o bit de início desencadeia o sincronismo de símbolo, que não é perdido se for transmitido apenas um 86 Transmissão de dados Carlos Meneses carácter (total ≈10 bits). O início de sincronismo corresponde a iniciar um relógio a uma frequência mais alta que o débito binário (tipicamente 16 ou 32 vezes maior), sendo possível a meio de cada bit verificar o nível de tensão e portanto o nível lógico. Figura 8.3 Exemplo de transmissão assíncrona com código de linha PNRZ para o carácter “B”, utilizando código ASCII. Começa-se com um bit de início com polaridade contrária ao estado inativo, de modo a sincronizar o relógio. São depois enviados os 7 bits de informação começando pelo bit menos significativo. Segue-se um bit de paridade e termina-se com o bit de fim à mesma polaridade do estado inativo. A seguir ao bit de início são enviados os 7 bits correspondentes ao código ASCII da tecla premida, começando pelo bit menos significativo (LSB). Pode ainda ser transmitido um bit de paridade de modo que o conjunto de 8 bits (byte) transmitidos contenha um número par de bits com nível lógico “1” (paridade par) ou ímpar (paridadeímpar). Este bit serve para detetar erros de bit. Finalmente é enviado um ou mais bits de fim de carácter (stop bit). A transmissão assíncrona é também utilizada para transmitir informação de um conjunto de caracteres, por exemplo para impressoras. Neste caso a informação não é gerada aleatoriamente mas a seguir ao bit de fim de carácter é enviado o bit de início de novo carácter, sincronizando novamente o relógio. O fim da transmissão corresponde ao envio do carácter especial ASCII EOT (end of text). Numa transmissão assíncrona o número de bits de informação, a existência ou não de bit de paridade e o número de bits de fim de carácter têm que estar pré-determinados. Os bits de início e fim de carácter correspondem a cerca de 20% dos bits transmitidos, sendo esta a principal desvantagem da transmissão assíncrona, quando transmitidas seguidamente grandes quantidades de informação. Canal de comunicação 87 9 Canal de comunicação O canal de comunicação é o meio físico que liga os equipamentos na camada física do modelo OSI. O canal tem quatro características que afetam o desempenho dos sistemas de comunicação, pois diminuem a capacidade do recetor de descriminação dos símbolos: (1) o ruído, que altera o sinal de modo aleatório; (2) a largura de banda, que para que não haja distorção tem de ser maior que a largura de banda do sinal transmitido; (3) a resposta em frequência, que provoca diferentes atenuações e atrasos do sinal ao longo da banda; (4) e a dimensão, que atrasa e atenua os sinais e portanto os níveis de tensão que chegam ao recetor. 9.1 Canal AWGN de banda limitada Independentemente do meio de transmissão (cabo elétrico, fibra ótica, canal rádio) o modelo do canal adotado neste texto é apresentado na figura 9.1. À sua entrada encontra-se o sinal de saída do transmissor e à sua saída o sinal de entrada do recetor. Figura 9.1 Canal AWGN com filtragem passa-baixo. O canal adiciona ruído gaussiano e branco ao sinal de entrada. Tem uma característica passa-baixo com ganho Hc(0) e largura de banda Bc. Para simular um canal passa-banda o filtro deve ser do tipo passa-banda. O filtro modela a banda do canal (frequência de corte do filtro) e a atenuação (ganho na zona passante), tornando o canal de banda limitada. O filtro que modela a banda do canal é do tipo passa-baixo, adequado aos códigos de linha, mas poderia modelar um canal do tipo passa-banda (modulações). É ainda adicionado ruído branco e gaussiano, pelo que o canal toma a designação de canal AWGN (Additive white 88 Transmissão de dados Carlos Meneses gaussian noise). O ruído branco é caracterizado por ter uma função densidade espetral de potência constante ao longo de uma larga gama de frequências (No/2 tem dimensão W/Hz ou J). O termo branco provém da analogia com a luz branca, que teoricamente contem todas as frequências e com igual energia. A causa do ruído é o movimento aleatório das partículas elétricas devido à temperatura (ruído térmico). 9.2 Relação sinal-ruído no canal O ruído gaussiano é caracterizado por ter uma distribuição de amplitudes que segue uma distribuição normal (gaussiana), com média nula. A variância corresponde à potência do ruído. Sendo o ruído branco, ocupa uma largura de banda infinita e a sua potência é teoricamente infinita. Este modelo idealizado é válido desde que a função densidade espetral de potência do ruído tenha uma característica plana na banda do sinal transmitido, já que este deve ser filtrado à entrada do recetor com um filtro com essa banda passante. Assumindo um código de linha, este filtro é do tipo passa-baixo com largura de banda BT. A distribuição do ruído nesta banda é também normal (apêndice 6) com potência 2c , TTc BNB N 0 02 )2( 2 . (9.1) A relação entre a potência do sinal à saída do canal e a potência do ruído na banda do sinal, ou seja, a relação sinal-ruído à entrada do recetor, tendo em conta as equações 8.5, 8.6 e 9.1, é determinada por: 000 2 N E B R N E BN SSSNR b T bb T R c R c , (9.2) sendo bE a energia média por bit à entrada do recetor. Esta é uma das medidas da qualidade da comunicação, sendo a probabilidade de erro de bit função deste valor. 9.3 Canal sem distorção Canal de comunicação 89 Para que um sinal possa ser transmitido, a largura de banda do sinal, TB , tem que no máximo igual à largura de banda do canal, CT BB . (9.3) Além de seguir a equação 9.3, de modo a que o sinal chegue ao recetor sem distorção, o sinal a transmitir apenas pode ser multiplicado por um fator de escala G (correspondente ao ganho do filtro )0(cH no modela da figura 9.1) e sofrer um atraso constante td. A atenuação corresponde a uma perda de energia, contribuindo para aumentar a probabilidade de erro de bit. Um atraso constante não é significativo porque existem no recetor circuitos de recuperação do relógio síncronos com o sinal recebido. Em comunicação bidirecional, contudo, um atraso longo é psicologicamente incómodo. Na banda do sinal a transmitir o canal não pode portanto ter diferentes ganhos ou provocar diferentes atrasos função da frequência. O sinal de saída do canal, sem a influência do ruído, tem por isso que ser descrito por: dTR ttGsts . (9.4) Tendo em conta as propriedades da linearidade e deslocamento no tempo da Transformada de Fourier, o espetro do sinal recebido é descrito por: dftjTR efGSfS 2 . (9.5) A resposta em frequência do canal, fH c , até à largura de banda do sinal, TB , é descrita por, dftj T R c GefS fSfH 2 TBf . (9.6) Para que não haja distorção de amplitude, GfHc )( TBf . (9.7) Para que não haja distorção de fase, 90 Transmissão de dados Carlos Meneses ftfH dc 2)(arg TBf , (9.8) em que dt é denominado atraso de grupo, definido como a derivada da fase em relação à frequência. Canais reais, contudo, podem provocar distorção quer de amplitude quer de fase. Neste caso é necessário que, à entrada do recetor, se coloque um equalizador. Este tem como função garantir que o sistema resultante (canal mais equalizador) não provoque distorção de amplitude nem de fase, ou seja, o produto da resposta em frequência do canal de comunicação com a resposta em frequência do equalizador, )( fH e , cumpra os requisitos da equação 9.7 e 9.8: ftfHfH GfHfH dec ec 2)()(arg )()( TBf . (9.9) 9.4 Atenuação Devido à dimensão do canal o sinal é atenuado (termo G da equação 9.6 ou ganho do filtro )0(cH no modela da figura 9.1), sendo a atenuação correspondente à relação entre a potência transmitida e recebida (sem ruído): R T S SAt , (9.10) ou, em decibéis, )0(log20log10 1010 c R T dB HS SAt . (9.11) A atenuação depende da distância, sendo o canal normalmente caracterizado em decibéis por quilómetro, D AtAt dBkmdB 1000/ , (9.12) sendo D a dimensão do canal. Canal de comunicação 91 As equações 8.3, 8.4, 8.5 e as que relacionam a potência do sinal com a energia média por bit e a amplitude do sinal são válidas também à entrada do recetor, desde que se utilize a respetiva potência recebida RS . Embora a notação para a energia média por bit e para a amplitude utilizada neste texto seja a mesma à entrada e saída do canal, esta ambiguidade deve ser resolvida do contexto em que os sinais se aplicam. 9.5 Atraso O atraso de uma transmissão define-se como o tempo entre o início da transmissão e o momento que todos os dados estão presentes no recetor. Para além do tempo de processamento dos equipamentos, existem essencialmente dois tipos de atrasos: o atraso de propagação e o atraso de transmissão. Atraso de propagação – Define-se atraso de propagação ao tempo que um sinal leva a atravessar o canalde comunicação. Este depende do comprimento do canal e da velocidade de propagação no meio de transmissão. A velocidade de propagação no meio de transmissão é dada por, i i n Cv , (9.13) em que in é o índice de refração do meio e C a velocidade de propagação da luz no vácuo (300.000 km/s). O atraso de propagação depende da velocidade de propagação no meio e da sua dimensão, sendo dado por, i p v DT . (9.14) Quanto maior a dimensão do canal maior é o atraso de propagação. No vácuo, a luz demora 3,3(3) s a percorrer um quilómetro, sendo normal caraterizar um meio de transmissão através deste parâmetro. 92 Transmissão de dados Carlos Meneses Atraso de transmissão – Nas redes de computadores os bits são normalmente enviados em pacotes de N bits. Define-se tempo de transmissão de um pacote como o tempo que o transmissor demora a colocá-lo no canal, b bt R NNTT . (9.15) O atraso de transmissão é relevante para débitos binários baixos enquanto o atraso de propagação é relevante para canais de grande dimensão. Para canais de dimensão e débito binário elevados o atraso dominante é o atraso de propagação. Pelo contrário, para canais de pequena dimensão e baixo débito binário é o atraso de transmissão o dominante. O atraso total, correspondente à soma dos diversos atrasos, pode ser um problema grave principalmente em aplicações interativas bidirecionais, como é o caso do telefone ou jogos online. 9.6 Meios de transmissão Os canais de comunicação são compostos por um ou mais meios de transmissão diferentes em série, cada um com características distintas. Seguidamente caracterizam-se sucintamente alguns dos principais meios de transmissão, sendo a largura de banda, a atenuação e o atraso de propagação típicos de cada um dos meios de transmissão caracterizados, apenas como ilustração, na tabela 9.1. Cabo de par trançado – Os cabos de par trançado são constituídos por dois condutores de cobre enrolados em espiral, para, através do efeito de cancelamento, reduzir o efeito das interferências eletromagnéticas. A velocidade de propagação é de cerca de 175.000 km/s, a que corresponde um atraso de propagação de 5,7 s/km. Um das suas aplicações é o canal telefónico, construído de modo a transmitir sinais de fala entre dois pontos. Este canal tem um ganho praticamente constante entre os 300 e os 3.300 Hz, capaz de transmitir fala percetível. Embora com maior atenuação que na zona do sinal de fala, este canal é também utilizado até aos 2,2 MHz, na transmissão de sinais digitais baseado em ADSL2+ (Asymmetric digital subscriber line). Canal de comunicação 93 Cabo coaxial – Os cabos coaxiais são constituídos por um condutor interno de cobre, coberto por um isolante. Uma malha exterior, também em cobre, atua como segundo condutor. Um segundo isolante protege todo o cabo. A largura de banda deste meio de transmissão é superior ao do cabo trançado. A velocidade de propagação é de cerca de 250.000 km/s, a que corresponde um atraso de propagação de 4 s/km. Uma utilização típica dos cabos coaxiais é a ligação entre equipamentos numa rede local. Outra é a transmissão de sinais de TV analógicos que podem coexistir com sinais digitais no fornecimento de televisão por cabo. Fibra ótica – As fibras óticas transportam sinais de luz de um ponto para outro. A sua grande vantagem é uma elevada largura de banda aliada a uma pequena atenuação. A largura de banda depende da distância percorrida (ao contrário dos outros meios de transmissão) pois esta aumenta a dispersão dos impulsos de luz. É ainda imune a interferências eletromagnéticas tendo um tamanho e peso pequenos. A velocidade da luz na fibra é cerca de 200.000 km/s, sendo o atraso de propagação de cerca de 5 s/km. As fibras óticas são largamente utilizadas na transmissão digital de informação, quer na ligação entre centrais e operadores quer no fornecimento de serviços integrados (Internet, televisão, voz). Canal rádio – Os canais de comunicação que empregam a transmissão rádio utilizam o espaço livre como meio de propagação de ondas eletromagnéticas. Têm uma característica passa-banda, servindo para transmitir sinais modulados (áudio, televisão) ou para dar mobilidade à rede telefónica e às redes de computadores. Pode sofrer de receção multipercurso devido a reflexões em obstáculos. O atraso de propagação num canal rádio é praticamente igual ao da luz, 3,3(3) s/km. Satélite – Um satélite geoestacionário encontra-se perto da linha do equador, a uma distância de cerca de 36.000 km, de modo a que as forças centrifuga e centrípeta se anulem. Uma ligação via satélite funciona com frequências mais elevadas que a transmissão rádio normal, dado que tem que transpor a ionosfera, o que se dá 94 Transmissão de dados Carlos Meneses apenas acima dos 40 MHz. A velocidade de propagação é praticamente igual à velocidade da luz, pelo que o atraso de propagação do sinal para percorrer duas vezes (ida e volta) a distância da terra ao satélite é de 0,24 s. Os satélites são usados como retransmissores de modo a cobrir uma grande área para difundir sinais de televisão ou efetuar ligações intercontinentais de voz ou televisão. São também utilizados no fornecimento de serviços integrados. Meio de Transmissão Banda [MHz] Atenuação [dB/km] Atraso de propagação [s/km] Par trançado classe A 0,1 8,3 5,7 Par trançado classe C 16 130 5,7 100 112 4 Cabo coaxial RG59 400 237 4 3.000 808 4 (comp. onda 850 nm) 1 5 Fibra ótica (comp. onda 1.310 nm) 103 x km 0,3 5 (comp. onda 1550 nm) 0,2 5 Rádio 0,1 a 103 ---- 3,3(3) Satélite 103 a 105 ---- 3,3(3) Tabela 9.1 Características de diversos tipos de meios de transmissão. Os valores apresentados são meramente ilustrativos. Nas próximas secções serão apresentadas soluções para minimizar os efeitos da largura de banda e da adição de ruído gaussiano no canal comunicação, utilizando o modelo do canal AWGN apresentado na figura 9.1. Equalizadores, para resolver o efeito da distorção de amplitude e fase, não serão abordados. Largura de banda 95 10 Largura de banda Todos códigos de linha têm uma largura de banda infinita, imposta por transições instantâneas entre variações de nível de tensão. Na figura 10.1 são esboçadas as funções densidade espetral de potência para os diversos códigos apresentados na secção 8, sendo as respetivas equações apresentadas no Apêndice 6. Assume-se que os níveis lógicos são equiprováveis, a sua geração independente e que a potência é de 1 W. Não são apresentados os códigos NRZI e Manchester diferencial, que neste contexto são idênticos respetivamente aos códigos PNRZ e Manchester. Figura 10.1 Funções densidade espetral de potência dos diversos códigos de linha. Assume-se para todos os códigos uma potência de 1 W (e não a amplitude), geração independente e equiprovável dos níveis lógicos. 10.1 Interferência intersimbólica Utilizando canais de banda limitada, como o canal descrito na secção 9, as transições instantâneas dos códigos de linha transformam-se em variações lentas que interferem com os símbolos subsequentes. A esta distorção dá-se o nome de interferência intersimbólica (ISI – Intersymbolic interference). Existem dois critérios para lidar com a interferência intersimbólica e definir a largura de banda do sinal transmitido, apresentados seguidamente: o critério do primeiro zero espetral e o critério de Nyquist. 0 0.25 0.5 0.75 1 0 0.5 1 1.5 2 2.5 3 3.5 PNRZ PRZ UNRZ Manchester BNRZ PNRZ PRZ Manchester BNRZ D en si da de E sp ec tra l d e P ot ên ci a UNRZ f /R b 96 Transmissão de dados Carlos Meneses 10.2 Critério do primeiro zero espetral Como se pode verificar na figura 10.1, as funções densidade espetral de potência vão tendendo para zero (segundo o quadrado de uma função sinc) à medida que a frequênciaaumenta, mais rapidamente quando o primeiro zero se situa em Rb (PNRZ, UNRZ, BNRZ e NRZI) e mais lentamente quando este se situa em 2Rb (PRZ, Manchester). Um critério de determinação da largura de banda corresponde a considerar que a maior parte da potência do sinal está contida até à frequência do primeiro zero espetral (first null bandwidth) assumindo ser esta a largura de banda. De facto, para qualquer dos códigos apresentados, esta potência é no mínimo 90% do valor total. Uma largura de banda superior à do primeiro zero espetral torna a distorção devido à interferência intersimbólica insignificante. É tipicamente esta a situação na transmissão assíncrona, de baixo débito binário, em que o canal tem uma dimensão de apenas alguns metros e a sua largura de banda é mesmo bastante superior ao débito binário. 10.3 Critério de Nyquist Uma solução para evitar a interferência intersimbólica é assumir que em pelo menos um instante por símbolo o sinal à entrada do transmissor tem de passar exatamente pelo valor desejado, ao mesmo tempo que se limita a largura de banda. Se a largura de banda do canal de comunicação for maior que a limitação de banda imposta pelo transmissor o sinal não é distorcido. Nesta análise considera-se o canal ideal até à largura de banda imposta pelo transmissor. Este método de evitar a interferência intersimbólica obriga a uma formatação dos pulsos correspondentes aos símbolos (pulse shaping) no transmissor, já que estes deixam de apresentar transições bruscas para apresentarem transições suaves. Por exemplo no caso do código PNRZ, basta garantir um instante a meio dos símbolos de zero de ISI ( A conforme o nível lógico), sem ser determinante a evolução entre estes instantes. Este método de determinar a largura de banda denomina-se de critério de Nyquist. Largura de banda 97 10.3.1 Filtro ideal Existe uma infinidade de pulsos capazes de corresponder ao critério de Nyquist. Para se obter o pulso a que corresponde a menor largura de banda relembre-se que, pelo teorema de Nyquist-Shannon, um sinal deve ser amostrado com uma frequência igual (ou superior) a duas vezes a sua largura de banda e que o sinal é recuperado sem erro por filtragem passa-baixo ideal com frequência de corte igual a metade da frequência de amostragem. Deste modo, assumindo um instante de zero de ISI a meio de cada símbolo, gera-se uma amostra por símbolo e são consequentemente geradas Rb amostras por segundo. Filtrando esta sequência de amostras à frequência Rb/2 produz-se um sinal com esta largura de banda, pelo que, 2 b T R B . (10.1) O critério de Nyquist pode ser visto então como o dual do teorema de Nyquist-Shannon. Cada símbolo passa a ser definido por pulsos, que em PNRZ são positivos ou negativos conforme o nível lógico correspondente, e que têm a forma da resposta impulsiva do filtro passa-baixo (Transformada de Fourier inversa de um retângulo, correspondente ao filtro ideal): tRAtp bsinc . (10.2) Na figura 10.2 é apresentada a forma de onda com formatação de pulsos do sinal para a sequência binária “1 0 1 1 0 0 1” em PNRZ, com amplitude A=1 V. O pulso toma, como se pretende, o valor ±A para t=0 e 0 nos instantes múltiplos de Tb, ou seja, para t= Tb, 2Tb,…, não interferindo nos instantes de amostragem dos outros símbolos. Verifica-se que apesar das variações lentas o código toma os valores A nos instantes de zero de ISI (a meio do símbolo). 98 Transmissão de dados Carlos Meneses Figura 10.2 Resposta do filtro ideal de formatação de pulsos para o código de linha PNRZ. com A=1 V, tendo como entrada a sequência binária “1 0 1 1 0 0 1”. Na figura 10.3 é apresentada a cadeia transmissor–canal–recetor, em que à saída do transmissor é colocado o filtro de formatação de pulsos. Para que não haja distorção no canal este deve ter uma largura de banda superior à largura de banda dos códigos de linha após a formatação. O recetor pode amostrar o sinal a meio dos símbolos nos instantes de zero de ISI tomando a decisão sobre o nível lógico correspondente. Para tal é necessário sincronismo de símbolo no recetor. Figura 10.3 Transmissão de códigos PNRZ com formatação de pulsos por filtro ideal. O sinal transmitido é filtrado no transmissor de modo a limitar a largura de banda, mas criando um ponto de zero de interferência intersimbólica. Este ponto pode servir no recetor para tomar uma decisão sobre qual o bit enviado. É contudo impossível realizar uma filtragem passa-baixo ideal e possíveis aproximações são não causais e com a “cauda” da função sinc correspondente à resposta impulsiva exibindo um decaimento lento, criando maior atraso e sendo difíceis de realizar. -2,0 -1,0 0,0 1,0 2,0 0 1 2 3 4 5 6 t /Tb Largura de banda 99 10.3.2 Filtro de cosseno elevado A filtragem ideal para zero de ISI pode ser alterada de modo a que a resposta ao impulso mantenha o termo da equação 10.2 e portanto continue a seguir o critério de Nyquist, com um fator que torne a resposta em frequência mais suave, logo mais fácil de realizar. O pulso toma a forma: tR tR tR tp b b b Asinc 21 cos 2 , (10.3) em que é denominado fator de rolloff, variando entre 0 e 1. Este pulso é apresentado na figura 10.4-a e a respetiva resposta em frequência na figura 10.4-b, para diversos valores de . Como se pretende, quanto maior for mais depressa decai a “cauda” da função sinc correspondente à resposta impulsiva, produzindo menor atraso e sendo mais fácil de realizar. (a) (b) Figura 10.4 Filtro de cosseno elevado. (a) Pulsos de formatação de pulsos para diversos valores de . (b) Respetiva resposta em frequência. -0,3 1 -5 -4 -3 -2 -1 0 1 2 3 4 5 =0 =0,5 =1 t /Tb p (t ) 0 0 0,25 0,5 0,75 1 =0 =1 =0,5 P (f ) 1/Rb f /Rb 100 Transmissão de dados Carlos Meneses A resposta em frequência tem a forma de um cosseno elevado, dando o nome ao filtro respetivo (raised cosine filter). Esta é dada por: 1 2 0 1 2 1 2 1 22 cos1 1 2 1 2 b bbb bb b b R f R f RR f RR R f R fP . (10.4) Este filtro continua a ser do tipo passa-baixo e produz sinais com uma largura de banda dada por: 1 2 b T R B , (10.5) que é tanto maior quanto maior for o fator de rolloff. Tomando =0 obtêm-se a filtragem ideal e, no outro extremo, com =1, duplica-se a largura de banda. Na figura 10.5 é apresentada a forma de onda do sinal para a sequência binária “1 0 1 1 0 0 1” em PNRZ, com amplitude A=1 V. Pode-se verificar que apesar das variações lentas o código toma o valor de A nos instantes de zero de ISI (a meio do símbolo), independentemente do valor de . O filtro ideal (=0) tem como vantagem impor uma menor largura de banda, mas esta é a única vantagem em relação ao filtro de cosseno elevado. Para além do maior atraso e da dificuldade de realização devido à maior energia da “cauda” da função sinc, outra desvantagem do filtro ideal advêm do facto de que a sua resposta impulsiva manifesta uma grande variação no instante de zero de ISI nos símbolos adjacentes, correspondendo às passagens por zero da função sinc. Esta característica torna o filtro sensível a erros de sincronismo de símbolo no recetor, já que uma pequena variação no instante de amostragem corresponde a obter um valor bastante diferente do desejado. Com o aumento do fator de rolloff, como se pode verificar nas figuras 10.4 e 10.5, Largura de banda 101 provoca-se menor variação do sinal, sendo mais robusto na presença de erros de sincronismo de símbolo no recetor. Também se pode verificar da comparação das figuras 10.5-a e 10.5-b que com =1 as passagens por zero do sinal formatado coincidem com as do sinal original,ao contrário do que acontece com fatores de rolloff mais pequenos, facilitando o sincronismo de símbolo. Figura 10.5 Resposta do filtro de formatação de pulsos para o código de linha PNRZ A=1 V, tendo como entrada a sequência “1 0 1 1 0 0 1”; (a) =0,5; (b) =1. Verifica-se que quanto maior for o fator de rolloff menor é a energia da “cauda” da função sinc e as passagens por zero do sinal aproximam-se das do sinal original. A maior robustez a erros de sincronismo, menor atraso e maior facilidade de realização do filtro tem como contrapartida um aumento da largura de banda, sendo a escolha do fator de rolloff claramente um compromisso entre estes atributos. -2,0 -1,0 0,0 1,0 2,0 0 1 2 3 4 5 6 t /Tb (a) = 0,5 -2,0 -1,0 0,0 1,0 2,0 0 1 2 3 4 5 6 t /Tb (b) = 1 102 Transmissão de dados Carlos Meneses 10.3.3 Largura de banda e eficiência espetral Para os códigos de linha sem retorno a zero (PNRZ, UNRZ e BNRZ) a largura de banda é dada pela equação 10.5, pois sendo códigos em que a tensão se mantêm fixa durante todo o tempo de bit necessita apenas de um instante de zero de ISI por bit (abertura da função sinc na origem de 2Tb). No caso dos códigos de linha PRZ e Manchester, estes são definidos por dois níveis de tensão por símbolo, necessitando para cada um destes níveis de um instante de zero de ISI, pelo que o símbolo é definido por dois pulsos que têm uma abertura de apenas Tb e a largura de banda vem o dobro da produzida pela equação 10.5: 1bT RB . (10.6) Para os códigos sem retorno a zero como os códigos PNRZ, UNRZ, BNRZ e NRZI, a eficiência espetral, dada pela equação 8.6, vem: 1 2 , (10.7) e para os códigos PRZ e Manchester a eficiência espetral vem: 1 1 . (10.8) Para códigos de linha binários a melhor eficiência espetral é de 2 bits por segundo por Hertz, obtido para códigos NRZ com fator de rolloff de 0. A pior situação corresponde a uma eficiência espetral de 0,5 bits por segundo por Hertz, obtido para códigos RZ e Manchester com fator de rolloff de 1. Note-se que, para qualquer código de linha, a largura de banda é proporcional ao número máximo de transições por segundo. Este valor corresponde exatamente à largura de banda máxima pelo critério de primeiro zero espetral e à pior situação (=1) usando o critério de Nyquist. Largura de banda 103 10.4 Padrão de olho Existem essencialmente duas causas, no canal de comunicação, que levam ao aumento da BER num sistema de comunicação: (1) a interferência intersimbólica; (2) e o ruído no canal. A influência destes dois factos pode ser aferida visualmente através do padrão de olho (eyes pattern). O padrão de olho tem o aspeto corresponde à figura apresentada por um osciloscópio, tendo como sinal de entrada o sinal recebido tsR e sincronizado no início do símbolo, mas em que a luminosidade de cada varrimento não desaparece. Este tem a aparência de um olho (ou dois caso o varrimento corresponda a dois bits), que está tanto mais aberto quanto melhor for o desempenho do sistema. Na figura 10.6 é apresentado um padrão de olho de um código de linha PNRZ sem formatação de pulsos, em que o canal não tem ruído e a largura de banda corresponde à do primeiro zero espetral ( bT RB ). Figura 10.6 Padrão de olho com 2 bits consecutivos e 100 varrimento do código de linha PNRZ. Canal sem ruído, do tipo passa-baixo de 1ª ordem, com Bc=Rb (primeiro zero espetral). O eixo das abcissas está normalizado em múltiplos de Tb. Os instantes de deteção correspondem a 0.5 e 1.5. 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Padrão de Olho Canal passa-baixo Bc=Rb Pn=0.00 Watt 104 Transmissão de dados Carlos Meneses Pode-se verificar a interferência intersimbólica correspondente à transição lenta entre símbolos, mas o sinal a meio do bit, aonde se dá a deteção no recetor, está “perto” do nível correto. Na figura 10.7 é apresentado um padrão de olho para o mesmo código da figura 10.6, mas de modo a se verificar o efeito da interferência intersimbólica o canal tem metade da largura de banda exigida pelo critério do primeiro zero espetral. O olho apresenta-se mais fechado devido às transições mais lentas entre símbolos, diminuindo a qualidade da comunicação e estando sujeito mais facilmente a erros de bit. Comparando as figuras 10.6 e 10.7, verifica-se que quanto maior for a largura de banda do canal mais aberto se apresenta o olho e o pulso aproxima-se do pulso original sem interferência intersimbólica. Esta melhoria contudo é conseguida através do aumento da largura de banda. Figura 10.7 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Canal passa-baixo de 1ª ordem, com Bc=Rb/2 e sem ruído. De modo a verificar o efeito do ruído é apresentado na figura 10.8 um padrão de olho para o mesmo código e o mesmo canal da figura 10.6 (Bc=Rb), mas com uma relação sinal-ruído de 13 dB. Pode-se verificar também o fecho do olho, mas agora 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Padrão de Olho Canal passa-baixo Bc=Rb/2 Pn=0.00 Watt Largura de banda 105 devido ao ruído e não devido ao efeito a interferência intersimbólica. Na figura 10.9 é apresentado o efeito conjunto da ISI e do ruído. Figura 10.8 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Canal passa-baixo de 1ª ordem, com Bc=Rb e 13 dB de SNR. Figura 10.9 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Canal passa-baixo de 1ª ordem, com Bc=Rb/2 e 13 dB de SNR. 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Padrão de Olho Canal passa-baixo Bc=Rb Pn=0.05 Watt 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Padrão de Olho Canal passa-baixo Bc=Rb/2 Pn=0.05 Watt 106 Transmissão de dados Carlos Meneses Na figura 10.10 é apresentado o padrão de olho para um código PNRZ com formatação de pulsos para =0. Pode-se verificar que a meio do bit não existe interferência intersimbólica. Contudo, com ruído, como apresentado na figura 10.11, o olho fecha-se deteriorando a qualidade da transmissão. Figura 10.10 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Formatação de pulsos com fator de rolloff =0 e sem ruído. Figura 10.11 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Formatação de pulsos com fator de rolloff =0 e 13 dB de SNR. 0 0.5 1 1.5 2 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Padrão de Olho rolloff=0 Pn=0.00 Watt 0 0.5 1 1.5 2 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Padrão de Olho rolloff=0 Pn=0.05 Watt Largura de banda 107 Na figura 10.12 é apresentado o padrão de olho correspondente ao da figura 10.10 mas com =1. A variação a meio do bit não é tão acentuada, sendo mais robusto em relação a erros de sincronismo. Contudo o sinal tem o dobro da largura de banda. Na figura 10.13 ilustra-se o padrão de olho correspondente ao da figura 10.12 mas com 13 dB de relação sinal-ruído. Figura 10.12 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Formatação de pulsos com fator de rolloff =1 e sem ruído. Figura 10.13 Padrão de olho com 2 bits consecutivos de um código de linha PNRZ. Formatação de pulsos com fator de rolloff =1 e 13 dB de SNR. 0 0.5 1 1.5 2 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Padrão de Olho rolloff=1 Pn=0.00 Watt 0 0.5 1 1.5 2 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 Padrão de Olho rolloff=1 Pn=0.05 Watt Recetor ótimo 109 11 Recetor ótimo Num canal de comunicação AWGN, ao sinal transmitido é adicionado ruído branco e gaussiano. Esta situação é ilustrada na figura 11.1 para a mesma sequência binária da figura 10.2 e 10.5, com código PNRZ. São exemplificadas as situações sem formatação de bit, com formatação de bit com fator de rolloff, =1, com e sem ruído. Figura11.1 Código PNRZ com ruído. Sequência “1 0 1 1 0 0 1” em PNRZ com A=1 V, =1, ao qual foi adicionado ruído gaussiano. Caso a deteção fosse efetuada por comparação num ponto intermédio entre os níveis lógicos (=0 volt), pode-se verificar no bit “5” um erro devido ao ruído. À entrada do recetor deve ser colocado um filtro passa-baixo que deixe passar o sinal mas que corte o ruído fora da sua banda, tendo por isso uma largura de banda TB . Como deduzido adiante, a estimativa da probabilidade de erro de bit depende da relação entre a energia média por bit e a densidade espetral de potência do ruído, 0NEb . Esta relação não tem em conta a eficiência espetral mas apenas a limitação de energia. A relação sinal-ruído entre a potência do sinal recebido e a potência do ruído na banda do sinal ( cSNR – equação 9.2) entra em conta com a eficiência espetral, já que estas são calculadas apenas na banda do sinal. 11.1 Descodificador de máximo a posteriori Denominando por y o valor observado após filtragem nos instante de zero de interferência intersimbólica após o filtro de entrada do recetor, por y1 e y0 os valores -2,0 -1,0 0,0 1,0 2,0 0 1 2 3 4 5 6 t /Tb 110 Transmissão de dados Carlos Meneses correspondentes sem ruído quando enviados respetivamente o nível lógico “1” e “0” e assumindo que o filtro não afeta a amplitude do sinal (continuando o exemplo da figura 11.1, em PNRZ), Ay Ay 0 1 , (11.1) correspondendo A à amplitude do código à entrada do recetor. Note-se que, sendo esta descodificação efetuada no recetor, assume-se sempre nesta secção amplitudes e energias recebidas e não transmitidas. Como ilustrado na figura 11.2, a função densidade de probabilidade das amplitudes após o filtro, dado enviado o símbolo “1”, é uma distribuição normal, ),("1|" 21 nyNyf , com média y1 e variância 22 cn (equação 9.1). A função densidade de probabilidade ),("0|" 20 nyNyf , quando enviado o símbolo “0”, tem média y0 e a mesma variância. Figura 11.2 Funções densidade de probabilidade do ruído em códigos de linha binários. d é a distância do símbolo sem ruído após filtragem à tensão ótima de comparação ot. n2 é a potência do ruído após filtragem. Recetor ótimo 111 As funções densidade de probabilidade condicionada (a posteriori) de ter sido transmitido cada um dos símbolos lógicos, dada a observação da tensão y após filtragem no instante de amostragem, segue a Lei de Bayes15, "0" lógico nível o para )( "0|" |"0" "1" lógico nível o para )( "1|" |"1" 0 1 yf pyf yf yf pyfyf , (11.2) em que p1 e p0 são as probabilidades a priori de ocorrência dos níveis lógicos “1” e “0”, respetivamente. O critério ótimo de descodificação de qual o nível lógico emitido, pois minimiza a probabilidade de erro, corresponde a selecionar o nível lógico com a maior probabilidade a posteriori (MAP – Máximo a posteriori), ou seja, "0" lógico nível o se-detecta|"0"|"1" "1" lógico nível o se-detecta|"0"|"1" yfyf yfyf . (11.3) 11.2 Descodificador de máxima verosimilhança Assumindo que as probabilidades a priori são iguais (p1=p0=0,5) a descodificação MAP, que é ótima no sentido de minimizar a BER, é equivalente à descodificação com um critério de máxima verosimilhança (MV – Máxima verosimilhança), dada por, "0" lógico nível o se-detecta"0|""1|" "1" lógico nível o se-detecta"0|""1|" yfyf yfyf . (11.4) Este critério, utilizado na maioria das aplicações, é assumido neste texto, simplificando a estimativa da probabilidade de erro de bit. Note-se que os valores das probabilidades a priori, necessárias no critério MAP, não são conhecidos no recetor antes de se começar a deteção, mas o valor de tem de ser conhecido nessa altura. No caso em análise da descodificação em duas classes em que as distribuições de 15 Thomas Bayes, 1701-1761. Inglês, matemático e pastor presbiteriano. 112 Transmissão de dados Carlos Meneses probabilidade são ambas normais com a mesma variância, este critério corresponde a assumir um limiar cujo valor ótimo ot (figura 11.2) é o valor médio entre as tensões dos dois símbolos sem ruído, 2 10 yy ot (11.5) A figura 11.3 apresenta o diagrama de blocos do recetor, com o filtro passa-baixo que atenua o ruído e o descodificador implementado através do comparador com ot Figura 11.3 Diagrama de blocos do recetor binário. Recetor constituído por filtragem passa-baixo na banda e descodificador MAP. A decisão é efetuada uma vez por símbolo, sincronizado (sincronismo de símbolo) no instante de zero de ISI, sendo este implementado pelo circuito de amostragem e retenção (S&H – sampling & hold). A saída deste bloco conterá a sequência binária com eventuais erros de bit, em que cada nível lógico é representado pelas correspondentes tensões de saturação do comparador. 11.3 Probabilidade de erro de bit A probabilidade de erro de bit, independentemente do critério utilizado (MAP, MV ou outro, nomeadamente utilizando um valor arbitrário de ) é dada pela probabilidade de erro em cada nível lógico pesadas pelas respetivas probabilidades a priori, ou seja, 100011 ppppBER , (11.6) Recetor ótimo 113 em que p01 é a probabilidade de errar o nível lógico “1” (enviar o nível lógico “1” mas descodificar o nível lógico “0”) e p10 é a probabilidade de errar o nível lógico “0”. Estas probabilidades são definidas por, "0|" "1|" 10 01 yfp yfp . (11.7) Utilizando o valor ótimo de , equidistante de y0 e y1, determinado pela equação 11.5, tendo em conta a figura 11.2 e a função complementar de erro (Apêndice 7): 2 2 10 2 2 01 22 1"0|" 22 1"1|" n n derfcdyyfp derfcdyyfp opt opt . (11.8) Note-se que as probabilidades de errar os bits ao nível lógico “0” e ao nível lógico “1” são iguais. A probabilidade de erro de bit corresponderá à soma destas probabilidades pesadas pelas probabilidades a priori, ou seja: 2 2 100011 22 1 n derfcppppBER . (11.9) Assinale-se que a BER depende da diferença de tensão entre os símbolos e não dos seus valores absolutos, uma vez que, 2 01 yyd . (11.10) Se em vez de um critério de máxima verosimilhança (MV) fosse utilizado um critério de máximo a posteriori (MAP) a figura 11.2 e as equações 11.5, 11.9 e 11.10 seriam as apresentadas no Apêndice 8. 114 Transmissão de dados Carlos Meneses 11.3.1 Código PNRZ Com o código PNRZ exemplificado na figura 11.1, Ad , a largura de banda é dada pela equação 10.5 e a energia média por símbolo dada pela equação 8.8 (assumindo a amplitude e a energia recebida), pelo que a BER vem: 12 1 22 1 00 2 1001 N Eerfc BN AerfcppBER b T . (11.11) Tendo em conta a relação sinal-ruído (equação 9.2) tem-se ainda: 22 1 cSNRerfcBER . (11.12) 11.3.2 Código UNRZ Se o código for UNRZ, então os valores das tensões sem ruído no instante de amostragem resultam: 00 1 y Ay . (11.13) Pela figura 11.2 2Ad , a largura de banda é dada pela equação 10.5 e a energia média por símbolo dada pela equação 8.9 e obtêm-se para a BER: 122 1 242 1 00 2 N Eerfc BN AerfcBER b T . (11.14) Comparando as equações 11.11 e 11.14, para que a BER seja igual com os códigos PNRZ e UNRZ, a relação 0NEb tem que ser o dobro (+3 dB) em UNRZ do que a do PNRZ. Isto deve-se ao facto de a componente DC dos códigos UNRZ consumirem metade da energia mas não servirem para distanciar os dois símbolos. Recetorótimo 115 11.4 Filtro adaptado O recetor estudado nos pontos anteriores assume filtragem passa-baixo ideal, com frequência de corte igual à largura de banda do sinal recebido, de modo a eliminar o ruído fora da banda. Assume ainda um instante de amostragem em que não exista interferência intersimbólica. Contudo, nem sempre é possível definir um instante de zero de ISI e a filtragem apenas tem em conta a largura de banda e não a forma do sinal transmitido. Para resolver estes problemas, o Norte-Americano Dwight North em 1943, concebeu o filtro ótimo (matched filter) para deteção de um sinal conhecido, corrompido por ruído branco e aditivo. Considere-se que o símbolo transmitido é ts l , com l igual “0” ou “1”, respetivamente para os símbolos correspondentes aos níveis lógicos “0” e “1”. A este sinal é adicionado ruído )(tw no canal de comunicação, sendo recebido o sinal )()()( twtsts lR . Se for efetuada uma projeção sobre um sinal )(tksj , como mostrado na figura 11.4, é anulada a componente do ruído perpendicular ao símbolo, permanecendo apenas a componente do ruído colinear ao símbolo. Figura 11.4 Interpretação vetorial do filtro adaptado. Esta projeção é realizada através do produto interno entre o sinal recebido com ruído e um vetor de base, por exemplo proporcional ao símbolo “1” (j=l). tc é então, tkstc 1 . (11.15) O produto interno é determinado através do integral do produto entre o sinal de entrada )(ts R e o vetor de base c(t). Se fosse possível integrar, como definido pelo 116 Transmissão de dados Carlos Meneses produto interno, em tempo infinito e sendo o ruído ortogonal aos símbolos, o ruído seria todo eliminado. Não é no entanto possível que este integral seja efetuado em tempo infinito mas apenas no tempo de símbolo Tb, pois é necessária uma decisão por símbolo. Nestas circunstâncias o produto interno é definido por: bT Rb dttstcTy 0 )()( , (11.16) que corresponde a uma filtragem em que a resposta impulsiva corresponde a: tTkstTcth bb 1 , (11.17) pelo que se designa de filtro adaptado (ao símbolo 1). O diagrama de blocos do recetor, completo, que é ótimo no sentido que minimiza a BER, é apresentado na figura 11.5. Com este filtro é retirado o ruído ortogonal ao sinal, que corresponde a todo o ruído fora da banda mas também algum ruído na banda do sinal. Figura 11.5 Diagrama de blocos do recetor ótimo. Recetor constituído por filtro adaptado e deteção MAP. O integrador é colocado a zero no início de cada símbolo, representado na figura 11.5 pela entrada bT +, sendo tomada uma decisão no fim do símbolo, amostrando y(t) nos instantes bT –, imediatamente antes de o integrador ser recolocado a zero e se reiniciar o processo para descodificação do próximo símbolo. Com a integração no tempo de bit, a função de verosimilhança para cada símbolo l tem uma distribuição normal ),( 2nlyN , sendo para a filtragem adaptada Recetor ótimo 117 válida a figura 11.2. ly , com l igual “0” ou “1”, corresponde às tensões sem ruído para os símbolos “0” e “1” respetivamente. A projeção obtêm-se de, b bb b b T l TT l T l T Rb dttwtksy dttwtksdttstks dttwtstks dttstcTy 0 1 0 1 0 1 0 1 0 )( )( )()( )()( l=0 ou 1. (11.18) O segundo termo desta equação corresponde ao resultado da filtragem do ruído introduzido pelo canal. Note-se que para todos os códigos de linha o símbolo “0” ou é nulo (unipolar, bipolar) ou simétrico ao símbolo “1” (polar, bipolar). Deste modo os valores da projeção sem ruído correspondem a, unipolary polarkEy kEy 00 10 11 . (11.19) Definindo eqA como a área equivalente do ruído no filtro adaptado (Apêndice 9), numericamente igual à energia do vetor de base e correspondente ao dobro da largura de banda de um filtro ideal passa-baixo de ganho unitário: 12 0 2 1 2 0 2 EkdttskdttcA bb TT eq , (11.20) a componente filtrada do ruído tem uma distribuição normal com média nula e potência dada por (Apêndice 9): 1 20002 222 EkNENAN ceqn . (11.21) 118 Transmissão de dados Carlos Meneses 11.5 Filtro adaptado normado Assumindo que o vetor de base c(t) tem energia unitária, a área equivalente do ruído é também unitária (filtro adaptado normado16): 1eqA , (11.22) e da equação 11.20, o fator de escala k vem: 1 1 E k . (11.23) As tensões sem ruído no instante de amostragem, para o filtro adaptado normado (equações 11.19 e 11.23) resultam: unipolary polarEy Ey 00 10 11 , (11.24) e a potência do ruído vem (equações 11.21 e 11.22), 2 02 N n . (11.25) Nesta situação a equação 11.9 pode ser reescrita como: 0 2 2 1 N derfcBER . (11.26) Note-se que assumir o vetor de base normado, ou tomando qualquer outro valor arbitrário, não altera a probabilidade de erro, já que a amplitude de c(t) tanto afeta o sinal como o ruído. Torna no entanto mais fácil a comparação com espaços vetoriais e simplifica as expressões da potência do ruído após filtragem e da BER. 16 Referencial com vetor de base com norma unitária. Recetor ótimo 119 11.6 BER em códigos de linha binários Seguidamente deduz-se a equação da BER para os diversos códigos em estudo neste texto. 11.6.1 Código PNRZ Retomando o exemplo com código PNRZ, os símbolos correspondem a tensões contínuas localizadas com amplitude A ou –A. Com o filtro adaptado ao símbolo “1”, c(t)=kA=C. O Valor de C, impondo que o filtro está normado, é determinado por17, b T beq RCtcTCdtCA b 0 221 . (11.27) Nesta situação y1 é determinado por: bbbb T b T EETAATRAdtRdttstcy bb 12 00 11 )()( , (11.28) como já definido pela equação 11.24. O valor de y0, também como na equação 11.24, é igual a –y1, uma vez que os símbolos são simétricos e, pela mesma razão, 0ot (equação 11.5). O valor de d é definido pela equação 11.10: bE yy d 2 01 , (11.29) A figura 11.2 adaptada para a situação PNRZ com filtro adaptado normado é apresentada na figura 11.6. Desta figura, e das equações 11.26 e 11.29, a BER em PNRZ resulta: 02 1 N EerfcBER b . (11.30) 17 O resultado da eq. 11.27 é válido para todos os códigos apresentados com excepção do código PRZ. Para este código o resultado é bRC 2 até 2bT e 0 de 2bT a bT . 120 Transmissão de dados Carlos Meneses Figura 11.6 Funções densidade de probabilidade do ruído em PNRZ com filtro adaptado normado. Figura 11.2, com 0ot , bEd , 2 02 N n Ao contrário da equação 11.11, deduzida com filtro de banda plano, com um filtro cuja resposta em frequência é dada (filtro adaptado) pela transformada de Fourier dos símbolos (símbolo “1”), a BER deixa de ser dependente do fator de rolloff e passa a ser função apenas da relação sinal-ruído entre energias Eb/No, proporcional à SNRc no canal (equação 9.2). As formas de onda para o código PNRZ, ao longo do recetor ótimo, são apresentadas na figura 11.7. Mantendo a potência recebida e tendo em conta a equação 8.8, a equação 11.30 vem: 00 2 2 1 2 1 NR Serfc N TA erfcBER b Rb . (11.31) Desta equação deduz-se que, desde que não se altere a potência recebida, o aumento do débito binário e consequente diminuição da energia de bit, corresponde a um aumento na probabilidade de erro de bit. Para manter a probabilidade de erro de bit, ao aumento do débito binário terá que corresponder um aumento da potência recebida. Recetor ótimo 121 Figura 11.7 Formas de onda no recetor ótimo com código PNRZ com ruído.a) Sequência de símbolos com ruído; b) Sinal após filtragem c) bits descodificados. A tracejado, forma de onda se não houvesse ruído. A descodificação dos bits insere 1 símbolo de atraso devido à decisão ser tomada apenas no fim do bit. Apesar do ruído não existem erros. 122 Transmissão de dados Carlos Meneses 11.6.2 Códigos polares Genericamente para os casos dos códigos de linha polares (PNRZ, PRZ, Manchester), em que os símbolos estão relacionados por : tsts 01 . (11.32) As tensões no instante de amostragem correspondem a (equação 11.19): b b kEkEy kEkEy 10 11 . (11.33) Nesta situação o valor de comparação ótimo vem, 0 2 bbopt kEkE . (11.34) O valor de d é determinado por: bopt kEyd 1 . (11.35) A potência do ruído é dada pela equação 11.21 e a BER vem (equação 11.9), 00 2 22 2 2 2 1 2 1 22 1 N Eerfc NEk EkerfcderfcBER b b b n . (11.36) A BER é apenas função da relação entre energias 0NEb , deixando de depender, ao contrário da equação 11.11, do fator de rolloff. 11.6.3 Códigos unipolares Para o caso dos códigos de linha unipolares (UNRZ), em que o símbolo “0” corresponde a 0 V, a adaptação da figura 11.2 ao filtro adaptado não normado é apresentada na figura 11.8. As tensões de observação de cada símbolo sem ruído no instante de amostragem são (equação 11.19): 0 2 0 11 y kEkEy b . (11.37) Recetor ótimo 123 Figura 11.8 Funções densidade de probabilidade do ruído em UNRZ com filtro adaptado não normado. Figura 11.2, com bot kE , bkEd , 0 22 NEk bn Nesta situação o valor de comparação ótimo é determinado por, b b ot kE kE 2 02 . (11.38) O valor de d é obtido de: bbbopt kEkEkEyd 21 . (11.39) Uma vez que a potência do ruído é dada pela equação 11.20 e 11.21: 0 22 NEk bn . (11.40) A BER vem (equação 11.9): 00 2 22 2 2 22 1 22 1 22 1 N Eerfc NEk EkerfcderfcBER b b b n . (11.41) Como nos códigos polares, a probabilidade de erro de bit depende apenas da relação sinal–ruído 0NEb e não, como na equação 11.14, do fator de rolloff. Se o filtro adaptado estiver normado, c(t) é o mesmo que o deduzido na equação 11.27 pois os símbolos lógicos “1” em PNRZ e UNRZ são iguais. 124 Transmissão de dados Carlos Meneses 11.6.4 Código BNRZ Na situação do código de linha bipolar sem retorno a zero existem duas possibilidades quando se transmite o nível lógico “1”: ou se transmite o símbolo A ou se transmite o símbolo –A, situações que ocorrem alternadamente e portanto com a mesma probabilidade. A figura 11.2 é então adaptada para três símbolos, conforme mostrado na figura 11.9. As tensões no instante de amostragem do filtro adaptado, denominadas respetivamente por 1y e 1y e 0y , são dadas por: 0 2 2 0 11 11 y kEkEy kEkEy b b . (11.42) O valor de d é definido pela equação 11.10, pelo que: b b kE kEkEd 2 2 2 01 . (11.43) Figura 11.9 Funções densidade de probabilidade na receção do código BNRZ. São apresentados 3 símbolos (pseudo-ternário), pois existem dois símbolos correspondentes ao símbolo lógico “1”. O nível lógico “0” é descodificado com erro se o valor de y for maior que d ou menor que –d (2 vezes a área abaixo da curva de Gauss). Cada um dos dois símbolos, Recetor ótimo 125 representando o nível lógico “1” com polarização positiva ou negativa, tem probabilidade a priori de metade da probabilidade a priori deste nível lógico. O esquema de blocos do recetor BNRZ é apresentado na figura 11.10, em que o comparador que efetua a descodificação MV é substituído por um quantificador de três níveis. Figura 11.10 Recetor ótimo para o código BNRZ. Havendo 3 símbolos a descodificação MV é substituído por um quantificador de três níveis. Deste modo resulta para a BER: 2 2 1 2 2 1 2 2 0 22 1 222 1 222 12 nnn derfcpderfcpderfcpBER . (11.44) Assumindo os níveis lógicos equiprováveis esta equação reduz-se a: 2 2 24 3 n derfcBER , (11.45) pelo que, utilizando as equações 2.9, 11.21 e 11.43, vem: 00 2 22 24 3 24 3 N E erfc NEk Ek erfcBER b b b . (11.46) Este valor da BER não entra em conta com a capacidade deste código detetar erros por violação da regra de polaridade alternada quando do envio de níveis lógicos “1”. Se houver a capacidade do recetor informar o transmissor destes erros, a 126 Transmissão de dados Carlos Meneses informação poderá ser reenviada. Por exemplo, erros isolados conseguem sempre ser detetados se: – O último nível lógico “1” foi codificado com determinada polaridade e o nível lógico “0” consequente é incorretamente descodificado para “1” com a mesma polaridade; – O último nível lógico “1” foi codificado com determinada polaridade e o nível lógico “0” consequente é incorretamente descodificado para a polaridade contrária. No próximo nível lógico “1” haverá uma violação; – Havendo erro num nível lógico “1” que foi entendido como nível lógico “0”, haverá uma violação no próximo nível lógico “1” transmitido. 11.6.5 Códigos diferenciais Nos códigos diferenciais, um erro de símbolo isolado (antes da pós-codificação) origina dois erros de bit seguidos (após a pós-descodificação), uma vez que cada símbolo contém informação sobre o nível lógico presente e o imediatamente posterior. Uma vez que estes códigos são insensíveis à polaridade, se antes da pós-descodificação forem cometidos erros consecutivos de símbolos, apenas são produzidos dois erros de bit com pós-descodificação, na posição do primeiro erro de símbolo e na posição seguinte ao último símbolo errado. Os códigos diferenciais exibem então uma BER inferior ao do dobro da BER do respetivo código não diferencial. Para os códigos NRZI e Manchester diferencial tem-se que, da equação 11.36: 0N EerfcBER b . (11.47) Desde que a probabilidade de erro de símbolo seja baixa a BER tende para a igualdade na equação 11.47. Esta é a situação mais realista que sendo um limite máximo vai ser adotada no resto do texto. Recetor ótimo 127 11.7 Comparação do desempenho A tabela 11.1 indica, para cada atributo, os códigos que têm melhor e pior desempenho, conforme exposto nas secções anteriores. PNRZ PRZ UNRZ Manch. BNRZ NRZI Manch. Dif bE (mesma BER) ↑ ↑ - ↑ ↓ - - ↑ ↓ ↑ ↓ ↑ ↑ ↓ DC - - ↓ ↑ ↑ - ↑ BER (mesma bE ) ↑ ↑ - ↑ ↓ - - Deteção de Erros - - - - ↑ - - Capacidade de Sincronismo ↓ ↑ ↓ ↑ - ↓ ↑ Complexidade do transmissor - - ↑ - ↓ - - Complexidade do recetor ↓ ↑ ↓ ↑ ↓ ↓ - Inversão de polaridade - - - - ↑ ↑ ↑ Tabela 11.1 Códigos com melhor, (↑) e pior (↓) desempenho em termos de atributos. Como se pode verificar, existem compromissos entre os diversos códigos, não existindo nenhum com melhor desempenho para todos os seus atributos. Na figura 11.10 são apresentados os valores da probabilidade de erro dos diversos códigos de linha, função da relação da energia média por bit e a potência por Hertz (Eb/No) em decibéis. A relação sinal-ruído no canal é dada pelo produto desta relação pela eficiência espetral (equações 8.6 e 9.2). Da tabela 11.1 e da figura 11.10 podem ser tiradas várias conclusões, tais como: – Os códigos de linha “polares” (PNRZ, PRZ, Manchester), com símbolos simétricos, obtêm o melhor desempenho em termos da BER, pois são os que têm a menor energia para o máximo afastamento entre símbolos; – Os códigos “unipolares” (UNRZ) estão distanciados dos códigos “polares” de 32/1log10 10 dB de relação Eb/No, ou seja, têmo mesmo desempenho para +3 dB (o dobro em linear) de relação Eb/No; – Para a mesma relação Eb/No, os códigos diferenciais polares (NRZI, Manchester diferencial) têm o dobro da BER exibida pelos códigos polares; 128 Transmissão de dados Carlos Meneses – O código BNRZ é o que tem pior desempenho em termos da BER. No entanto esta comparação não entra em consideração com sua a capacidade de deteção de erros isolados, embora necessite de mecanismos de reenvio. Em seu favor tem boa capacidade de sincronismo desde que utilize a técnica BNZS, ocupando apenas a largura de banda (menor) dos códigos PNRZ e UNRZ e não do Manchester e do PRZ que têm o mecanismo de sincronismo incorporado. Também não tem componente DC nem sofre de desvanecimento. No entanto aumenta a complexidade do transmissor e do recetor, devido à implementação do BNZS e à descodificação de três símbolos diferentes. Figura 11.10 BER dos diversos códigos em função da relação sinal-ruído Eb/No. O melhor desempenho (BER) para a menor relação Eb/No é conseguido pelos códigos polares. Os códigos unipolares precisam de +3dB de Eb/No para obter o mesmo desempenho. Os códigos diferenciais têm o dobro da BER para a mesma Eb/No. O código BNRZ tem o pior desempenho mas tem conjuntamente boa eficiência espetral e boa capacidade de sincronismo. Transmissão M-ária em banda de base 129 12 Transmissão M-ária em banda de base Como visto na secção 10, a largura de banda depende do número máximo de transições por segundo produzido pelo código de linha. Uma maneira de diminuir o número de transições e consequentemente a largura de banda é fazer com que o símbolo contenha informação de mais do que 1 bit, diminuindo o débito de símbolos sR (baud rate) sem diminuir o débito binário. O símbolo deixa de ser binário para ser M-ária, ou seja, com M formas de onda possíveis. 12.1 PAM Digital – Modulação por amplitude de impulsos digital Um código de linha M-ária, em que os símbolos são representados por diferentes amplitudes, apresentado na figura 12.1, é denominado PAM (pulse amplitude modulation) digital18 (ou PNRZ M-ária). Figura 12.1 Código PAM digital. M símbolos simétricos em torno do zero. A distância entre símbolos adjacentes é de a. O número de bits por símbolo K e o número de símbolos diferentes M (neste caso amlitudes diferentes) do código estão relacionados por: KM 2 . (12.1) 18 Em contraste com o PAM analógico, em que são transmitidos diretamente as amplitudes de um sinal analógico após amostragem, podendo estes ter uma gama contínua de valores. 130 Transmissão de dados Carlos Meneses O tempo de símbolo sT e o tempo (médio) de bit estão relacionados por: bs KTT . (12.2) O débito de símbolos, sR , está relacionado com o débito binário por: K RR bs . (12.3) 12.2 Energia média por símbolo Denominando a como a tensão entre símbolos adjacentes, a energia média por símbolo, assumindo que estes são equiprováveis, é dada por, min 2222/ 1 2 2 3 )1( 3 )1( 4 5,02 EMMaTk M aTE s M k ss , (12.4) que aumenta com o quadrado de a e de M. minE é a energia do símbolo de menor energia, com amplitude a/2: sT aE 2 min 2 . (12.5) A energia média por bit vem: K E E sb . (12.6) 12.3 Largura de banda Assumindo o instante de zero de ISI a meio dos símbolos, a abertura dos pulsos com critério de Nyquist é de sT2 e a largura de banda vem: 1 2 1 2 K RRB bsT . (12.7) Como se pretende, a largura de banda diminui com o aumento do número de bits por símbolo. A equação 12.7 é um caso geral da equação 10.5, substituindo bR por sR . Transmissão M-ária em banda de base 131 A eficiência espetral (equação 8.6) também melhora com o aumento do número de bits por símbolo: 1 2K B R T b . (12.8) 12.4 Probabilidade de erro de símbolo O recetor ótimo para códigos PAM digital é mostrado na figura 12.2 e é idêntico ao do recetor binário da figura 11.5, mas com o comparador substituído por um quantificador/codificador de modo a detetar M níveis de saída do filtro adaptado. Figura 12.2 Recetor ótimo normado PAM digital. Filtro adaptado (normado) seguido de quantificador/codificador. Assumido que o filtro ótimo está normado e dado que os símbolos correspondem a tensões contínuas localizadas, c(t)=C, pela equação 11.22: s T seq RCtcTCdtCA s 0 221 , (12.9) que é um caso geral da equação 11.27, outra vez substituindo bR por sR . As funções densidade de probabilidade do ruído, para os diversos símbolos, à saída do filtro no momento de amostragem, são apresentadas na figura 12.3. O valor de d para o cálculo da probabilidade de erro de símbolo vem: min 2 0 222 ETaTRadttcad s T ss s . (12.10) 132 Transmissão de dados Carlos Meneses Figura 12.3 Funções densidade de probabilidade no código PAM digital. Generalização da figura 11.2 para M-ária. No cálculo da probabilidade de erro de símbolo terá de se ter em conta com as áreas acima de d à esquerda e à direita, a menos das duas funções densidade de probabilidade das “pontas”, em que esta área só contará uma vez. A probabilidade de erro de símbolo, ( SER – Symbol error rate), vem então, assumindo que todos os símbolos são equiprováveis: 0 2 0 2 2 12 2 122 N dercf MN dercf M MSER . (12.11) Através das equações 11.26, 12.4, 12.10 e 12.11, chega-se a: 0 2 0 min 1 3)1()1( N E M Kercf M M N Eercf M MSER b . (12.12) 12.5 Probabilidade de erro de bit Um símbolo representa um conjunto de K bits. Para o cálculo da probabilidade de erro de bit em função da probabilidade erro de símbolo irão admitir-se duas situações na disposição dos bits em cada símbolo: (1) disposição aleatória: 1 erro de símbolo corresponde a errar de 1 a K bits de um modo equiprovável; (2) código Gray: 1 erro de símbolo corresponde com maior probabilidade ao erro de apenas 1 bit. Transmissão M-ária em banda de base 133 12.5.1 Código aleatório Se não houver qualquer preocupação no modo em como se define o código de K bits do símbolo, poderá assumir-se que quando se erra um símbolo estarão errados quaisquer número de bits entre 1 e K. Em média estarão errados (K+1)/2 bits, pelo que: errados 2 1errado 11 bitsKsímbolobits SER Ksímbolos SER , (12.13) e a BER é dada por: 2 121 SER K K SERK KBER . (12.14) 12.5.2 Código Gray A probabilidade de, quando existe um erro de símbolo, ser descodificado um dos dois símbolos adjacente (amplitudes adjacentes) é muito maior do que ser descodificado qualquer outro símbolo. Se houver o cuidado que a símbolos adjacentes correspondam códigos apenas com 1 bit de diferença, como num código Gray, então quando se erra 1 símbolo apenas 1 bit está errado. Nestas circunstâncias, vem: errado 1errado 11 bitsímbolobits SER Ksímbolos SER , (12.15) pelo que, K SERBER . (12.16) A tabela 12.1 ilustra o código Gray para 4 bits. 0 0000 4 0110 8 1100 12 1010 1 0001 5 0111 9 1101 13 1011 2 0011 6 0101 10 1111 14 1001 3 0010 7 0100 11 1110 15 1000 Tabela 12.1 Código Gray de 4 bits. Duas palavras consecutivas apenas têm um bit trocado, minimizando os erros de bit. 134 Transmissão de dados Carlos Meneses Sendo esta uma situação mais favorável que a utilização de uma disposição aleatória, deve-se assumir desde que nada seja dito em contrário a utilização de um código Gray. Para uma transmissão M-ária a BER vem então, pelas equações 12.12 e 12.16: 0 2 1 3)1( N E M Kerfc KM MBER b . (12.17) 12.6 Código 2B1Q Um bom compromisso entre o desempenho e a complexidade correspondea utilizar um código PAM digital com 2 bits por símbolo (2B1Q – 2 binary 1 quaternary) e código Gray, apresentado na figura 12.4. Figura 12.4 Código 2B1Q Correspondente a PAM digital quaternário ou 4-área, utilizando código Gray. Aplicando a equação 12.17 com K=2 bits por símbolo, obtêm-se: 05 2 8 3 N EerfcBER b . (12.18) A largura de banda vem, pela equação 12.7: 1 4 b T R B . (12.19) Obtém-se então metade da largura de banda comparando com um código PNRZ (M=2), com um aumento moderado da complexidade e da BER. O recetor ótimo deste Transmissão M-ária em banda de base 135 código corresponde ao da figura 12.2, mas em que o quantificador/codificador é de apenas 2 bits em código Gray. Na figura 12.4 é apresentado o padrão de olho do código 2B1Q com fator de rolloff =0 e distância entre símbolos adjacentes a=2 V. Pode-se verificar os instantes sem ISI a meio dos símbolos, com tensões 1 V e 3 V. Figura 12.4 Padrão de olho do código 2B1Q =0 e a=2, sem ruído. O código 2B1Q é utilizado por exemplo em RDIS (Rede Digital Integrada de Serviços) entre a central telefónica e o equipamento de entrada que fará a distribuição. A RDIS utiliza o sistema telefónico, permitindo dois canais de 64 kbit/s mais um canal de 16 kbit/s para sinalização e controlo. 0 0.5 1 1.5 2 -5 -4 -3 -2 -1 0 1 2 3 4 5 Padrão de Olho rolloff=0 Pn=0.00 Watt/Hz 136 Transmissão de dados Carlos Meneses 12.7 Comparação do desempenho Na figura 12.5 e tabela 12.2 é apresentada uma comparação entre as probabilidades de erro para diversos números de bits por símbolo (M=2, 4, 8, 16). Pode-se verificar o aumento da BER à medida que se aumenta M, mas relembre-se que se diminui a largura de banda ocupada (equação 12.7). Figura 12.5 BER em função da relação 0NEb , para PAM digital. Código Gray com M a variar entre 2 e 16. M=2 M=4 M=8 M=16 eficiência espetral 2(1+) 4(1+) 6(1+) 8(1+) Eb/No dB (BER=10-6) 10,5 14,4 18,8 23.5 BER (Eb/No=15 dB) 8,9x10 -16 1,8x10-7 7,7x10-4 2x10-2 Tabela 12.2 Compromisso entre a eficiência espetral e BER para PAM digital. Quanto maior for o número de bits por símbolo e portanto melhor a eficiência espetral, pior será a BER do sistema. Transmissão M-ária em banda de base 137 12.8 Regeneração do sinal Por vezes é necessário comunicar a distâncias consideráveis (maior atenuação) e através de canais que inserem bastante ruído, o que faz aumentar a probabilidade de erros. Uma estratégia para evitar estes erros é a regeneração. Por regenerar o sinal entende-se, em pontos intermédios do canal, detetar os símbolos e retransmiti-los sem ruído (e.g. nos equipamentos da rede como os hubs, switchs e routers). Se a atenuação ainda não for grande e o sinal ainda não tiver sido muito afetado pelo ruído, é possível regenerar o sinal praticamente sem erros. Note-se que não é possível regenerar um sinal analógico mas apenas amplificá-lo, o que implica amplificar também o ruído. Figura 12.6 Cadeia Transmissor-canal-regenerador-canal-recetor. Por regenerar o sinal entende-se detetar os símbolos e retransmiti-los sem ruído, em pontos intermédios, por exemplo nos equipamentos da rede. 12.9 Capacidade de canal Assumindo a largura de banda mínima do critério de Nyquist (=0) para transmissão sem ISI, das equações 12.7 e 12.1 vem, 22log2 MBKBR TTb . (12.20) Das equações 12.4 e 12.5 vem, 222 2 1211 12 a SMMa T ES R s s R . (12.21) De 12.20 e 12.21, 22 121log a SBR RTb . (12.22) 138 Transmissão de dados Carlos Meneses Considerando um canal com ruído gaussiano e de banda limitada cB , sendo recebido um sinal com potência SR, Shannon demonstrou em 1949 que existe um débito binário máximo para transmissão com probabilidade de erro de bit arbitrariamente pequena, denominando-o de capacidade de canal. A equação da capacidade de canal (gaussiano) é semelhante à equação 12.22: C R C c R C BN SBSBC 0 222 1log1log . (12.23) Este é um limite teórico, conhecido por Lei de Hartley19-Shannon. Se o débito binário for superior à capacidade de canal não é possível transmitir sem erros. Shannon não especificou qual o método de codificação e descodificação capaz de atingir este limite, mas a Lei de Hartley-Shannon tem vindo a servir de referência de modo a verificar a eficiência de uma transmissão. Para determinada capacidade de canal pode-se reduzir a largura de banda à custa do aumento da potência transmitida ou vice-versa. Note-se que a capacidade de canal depende linearmente da largura de banda mas para se obter o mesmo efeito é necessário alterar a potência transmitida exponencialmente. A limitação de potência estabelece um número máximo de bits por símbolo para determinada SNR, de modo a que os níveis correspondentes aos diversos símbolos estejam suficientemente espaçados para que o ruído não interfira na sua descodificação. 19 Ralph Vinton Lyon Hartley, 1888-1970. Americano, engenheiro eletrotécnico. Codificação para controlo de erros 139 13 Codificação para controlo de erros Num sistema de comunicação digital existem dois tipos de erros de bit: os erros devido aos efeitos do canal AWGN; e os erros devido a interferências eletromagnéticas esporádicas ou a variações rápidas das condições do próprio canal. Os primeiros correspondem a erros aleatórios independentes, como apresentado nas secções 11 e 12. Os segundos correspondem a erros em rajada. Dependendo do tipo de erros existem estratégias diferenciadas para, no recetor, os detetar ou mesmo corrigir. Em qualquer dos casos, como ilustrado na figura 13.1, é necessário no transmissor introduzir bits com informação redundante (codificação para controlo de erros), produzindo um aumento do débito binário de Rb’ (débito binário da informação) para Rb (débito binário no canal de comunicação). O efeito da codificação para o controlo de erros é a diminuição da probabilidade de erro de bit de BER para BER’ (descodificação para controlo de erros). Figura 13.1 Cadeia transmissor-canal-recetor com codificação para controlo de erros. A codificação de erros no transmissor coloca bits de redundância aumentando o débito binário. No recetor, após deteção ou correção de erros, os bits de redundância são retirados. 13.1 Atributos dos códigos de controlo de erros Seguidamente descrevem-se os atributos dos códigos de controlo de erros, que devem ser ponderados face ao tipo de aplicação desejada. 140 Transmissão de dados Carlos Meneses 13.1.1 Razão do código Um código composto por um bloco de dimensão fixa é denominado código de bloco. Ao contrário, existem códigos, denominados códigos convolucionais, que estendem a sua atuação a todos os bits transmitidos em vez de estarem limitados a dimensões fixas. Este texto focará apenas os códigos de bloco. A dimensão do bloco é denominada n, com k (k<n) bits de informação, sendo referido como código de bloco (n, k). Este código contém 2k palavras de código (blocos válidos) diferentes. Quando os k bits de informação são transmitidos sem qualquer alteração o código é denominado de código sistemático. Os códigos apresentados neste texto são todos sistemáticos, sendo mais fáceis de tratar do que os códigos não sistemáticos. A razão do código, cR , é uma medida da eficiência do código no sentido em que mede os bits de informação em relação ao número total de bits do código (e não no sentido do que é que o código é capaz de detetar ou corrigir), sendo dada por: b b c R R n kR ' 10 cR . (13.1) Com o aumento do número de bits devido à inserção do código, duas situações (ou uma situação intermédia) podem ocorrer em relação à situação sem codificação:1) Mantêm-se o tempo de transmissão da informação. Aumenta-se o débito binário no canal de comunicação de modo a transmitir a informação com o mesmo débito binário 'bR . Este procedimento diminui a energia por bit, que por sua vez aumenta a BER. Espera-se contudo que, após deteção ou correção, o valor da BER’ seja mais baixo que o valor da BER inicial sem codificação. 2) Mantêm-se o débito binário Rb no canal de comunicação. Diminui-se o débito binário da informação e demora-se mais tempo a transmitir: cR T T ocodificaçã semocodificaçã com . (13.2) Codificação para controlo de erros 141 13.1.2 Códigos de deteção e correção Existem códigos de controlo de erros que levam a que seja possível afirmar que num conjunto de bits alguns estão errados, mas não se sabe quais. Estes códigos denominam-se de códigos de deteção de erros. Nalgumas aplicações o recetor descarta esta informação mas consegue continuar a operar. Noutras aplicações, contudo, tem que existir um mecanismo para que o recetor informe o transmissor da presença desses erros, para que a informação seja retransmitida (ARQ – Automatic repeat request). Para que haja retransmissão o sistema tem que ser bidirecional (ligações half-duplex ou full-duplex) 20. Caso se consiga encontrar a posição dos erros, estes podem ser corrigidos (FEC – Forward error correction) por inversão do valor lógico do respetivo bit. Estes códigos denominam-se códigos de correção de erros. Ao contrário dos códigos de deteção, os códigos de correção não necessitam de ligações bidirecionais e portanto não necessitam (ou não podem) esperar que a informação seja retransmitida. A capacidade de deteção de bits errados mede-se através do número máximo de bits errados capazes de ser sempre detetados. A capacidade de correção mede-se através do número máximo de bits errados capazes de ser sempre corrigidos. Na situação de correção, se estes números forem ultrapassados duas situações podem acontecer: manter a informação recebida; ou inverter bits corretos originando mais erros. Para a mesma capacidade de deteção e correção, os códigos de correção necessitam de colocar maior redundância no canal do que os códigos de deteção, apresentando portanto uma razão de código menor. Não sendo possível detetar ou corrigir todos os erros é importante medir a diminuição da probabilidade de erro após correção, BER’ em relação à BER, que mede o ganho efetivo da introdução destes códigos. 20 Numa ligação half-duplex pode haver transmissão no canal nos dois sentidos, mas não simultaneamente. Numa ligação full-duplex pode haver transmissão no canal nos dois sentidos simultaneamente. 142 Transmissão de dados Carlos Meneses A razão do código e a capacidade de deteção e correção são de difícil otimização em conjunto. Como exposto adiante, quanto maior for a razão do código menor a capacidade de deteção e/ou correção de bits do código e vice-versa. A solução a implementar corresponde assim a um compromisso entre estes dois atributos. 13.1.3 Controlo de erros aleatórios e erros em rajada Algumas perturbações, como por exemplo descargas eletromagnéticas, podem corromper um bloco de dados com vários erros, sendo este efeito denominado de rajada de erros. Define-se dimensão de uma rajada como o número de bits entre o primeiro e o último erro, inclusive. Dentro da rajada os bits podem ou não estar errados. Haverá entre rajadas pelo menos determinado número de bits corretos que fará parte da definição da rajada. Alguns códigos têm apenas a capacidade de detetar ou corrigir erros aleatórios independentes, e não rajadas de erros. Outros, contudo, são capazes de detetar rajadas de erros, sendo esta capacidade medida através do comprimento máximo da rajada que é sempre detetada e pela relação total de rajadas não detetadas. Não é possível corrigir diretamente os erros de uma rajada, mas através da técnica interleaving, apresentada adiante, é possível converter os erros em rajada em erros isolados, sendo estes corrigidos. 13.2 Probabilidade de erro de bloco Assume-se neste texto que a probabilidade de geração dos símbolos lógicos e a respetiva probabilidade de os descodificar erradamente, BER, é a mesma (canal binário simétrico). Num bloco de n bits, a probabilidade de errar i bits, independentemente da posição no bloco, é dada pela função de probabilidade binomial (apêndice 11): inini BERBERCBERnif 1, . (13.3) A probabilidade de errar i ou mais bits é dada pela soma das respetivas probabilidades: Codificação para controlo de erros 143 n ij jnjn j BERBERCBERnif 1,maisou . (13.4) Para 0i , valores típicos de BER pequenos e 1nBER (nBER corresponde ao valor médio), a equação 13.4 simplifica-se para: ini BERCBERnifBERnif ,,maisou . (13.5) O número médio de erros num bloco de n bits iguala a média (A.11.3): nBERerros ________ . (13.6) A probabilidade de um bloco de n bits não conter erros vem: nBERBERnf 1,0 . (13.7) Havendo bits com erros aleatórios com probabilidade BER, é produzido em média 1 erro de 1/BER em 1/BER bits. O tempo médio entre erros vem igual a esse valor multiplicado pelo tempo de cada bit, ou seja: BERR T BER T b be 11 . (13.8) 13.3 Código de paridade A paridade de um bloco de bits é considerada par se o número de bits com valor lógico “1” for par e considerada ímpar se este número for ímpar. Um código de paridade é constituído por n bits, dos quais k=n–1 são bits de informação, sendo adicionado um bit de modo a garantir a paridade desejada. Ao conjunto dos bits de informação e bit de paridade denomina-se palavra de código. Este texto assume sempre paridade par. Para n=3, as palavras de código válidas são “0 0 0”, “0 1 1”, “1 0 1” e “1 1 0”, correspondendo o último bit ao bit de paridade colocado pelo transmissor. No recetor, caso se receba um bloco com paridade ímpar, 144 Transmissão de dados Carlos Meneses como por exemplo 010, conclui-se que foi produzido entre o transmissor e o recetor pelo menos 1 erro e o bloco deve ser retransmitido. Caso se produzam dois erros a paridade vem novamente correta. Por exemplo, caso se transmita “1 1 0” e se receba “0 1 1”, são produzidos erros nos primeiro e terceiro bits, mas o bloco corresponde a uma palavra de código válida. De facto só é possível detetar um número ímpar de erros. Assumindo a aproximação da equação 13.5, a probabilidade do recetor não detetar erros corresponderá à probabilidade de errar 2 bits no bloco de n bits: 222 2 1,2 BERnnBERCBERnfP nb . (13.9) Nesta situação estarão errados apenas 2 bits em n bits, pelo que a probabilidade de erro de bit vem, aproximadamente: 212 BERnP n RBE b . (13.10) Este código tem uma fraca capacidade de deteção (máximo 1 bit errado), não sendo capaz de corrigir qualquer bit. Pelo contrário, dado que os bits de informação são 1 nk , a razão do código é a melhor possível para o mesmo n: n nRc 1 , (13.11) O tempo médio entre erros após correção corresponde à aplicação da equação 13.8, substituindo BER por BER’ e com um débito binário Rb’ sem os bits de redundância. Este é um tempo médio entre erros mas note-se que, num código de paridade, os erros sucedem-se aos pares no mesmo bloco. A melhoria na probabilidade de erro de bit é conseguida à custa da implementação de um sistema de retransmissão e de um maior número de bits transmitidos (bits de paridade e bits retransmitidos). Codificação para controlo de erros 145 A probabilidade de retransmissão, que iguala a probabilidade de errar um número ímpar de bits, é aproximadamente igual à probabilidade de errar 1 bit no bloco: nBERBERBERCBERnfP nnr 11 )1(,1 . (13.12) 13.4 Carácter de verificação de bloco (BCC) Um blocode bits pode ser subdividido em sub-blocos, em que cada sub-bloco está protegido através de um bit de paridade. Por exemplo, na transmissão de caracteres ASCII (7 bits), cada carácter pode estar protegido por 1 bit de paridade ( xp ). Este procedimento está ilustrado na figura 13.2, em que cada carácter é apresentado em cada linha. Por sua vez cada coluna, correspondente ao bit com o mesmo peso de cada carácter, está também protegida por 1 bit de paridade, produzindo um carácter de verificação ( xc ), que dá o nome ao código de carácter de verificação de bloco (BCC – Block check character). 71m 61m 51m 41m 31m 21m 11m 1p 72m 62m 52m 42m 32m 22m 12m 2p 73m 63m 53m 43m 33m 23m 13m 3p 74m 64m 54m 44m 34m 24m 14m 4p 75m 65m 55m 45m 35m 25m 15m 5p 76m 66m 56m 46m 36m 26m 16m 6p 77m 67m 57m 47m 37m 27m 17m 7p 7c 6c 5c 4c 3c 2c 1c 0c Figura 13.2 Código de carácter de verificação de bloco. m – bits de mensagem; p – bits de paridade; c – carácter de verificação de bloco. A relação de código é função do número de colunas (cl) e linhas (li): licl liclRc 11 (13.13) Neste código, embora 2 bits errados possam escapar à deteção numa linha, não passam na deteção de bloco (coluna) e vice-versa. Dois erros, desde que não na mesma 146 Transmissão de dados Carlos Meneses linha ou na mesma coluna, são também detetados, mas não é possível corrigi-los porque a posição dos erros fica indefinida entre duas hipóteses (duas diagonais). Três erros são também sempre detetados. No caso de número ímpar de erros na mesma linha (ou na mesma coluna) é mesmo possível encontrar a posição dos bits errados e corrigi-los por inversão do seu valor lógico. Uma situação de erros não detetados corresponde a quatro erros nos vértices de um retângulo. O código BCC é também capaz de detetar rajadas de erros. Se os bits forem enviados por linha, uma rajada de erros de dimensão máxima igual ao número de colunas produz apenas 1 bit errado por coluna e esta situação é verificada através do carácter de verificação de bloco. Se o número de linhas for maior que o número de colunas os bits devem ser transmitidos por coluna e não por linha, para permitir detetar rajadas com maior dimensão. A dimensão máxima da rajada sempre detetada, maxb , coincide assim com o número máximo entre o número de linhas ou colunas. ),max(max liclb (13.14) 13.5 Distância de Hamming e capacidade de deteção e correção Dado um bloco (palavra de código com ou sem erros) recebido, br, a função de probabilidade condicionada (probabilidade a posteriori) de ter sido transmitida a palavra de código jc , é dada por: )( | | brf pcbrf brcf jcjj . (13.15) Como código corretor e utilizando um critério de máximo a posteriori é descodificada a palavra de código jc com maior probabilidade a posteriori (MAP). Assumindo que todas as palavras de código são equiprováveis, o critério de máximo a posteriori é equivalente ao critério de máxima verosimilhança (MV), pelo que é Codificação para controlo de erros 147 descodificada a palavra de código jc que maximiza a função de verosimilhança: jcbrf | . (13.16) Pela análise da função de probabilidade binomial (equação 13.5 com BER muito pequeno e nBER <<1), verifica-se que a função de verosimilhança é tanto maior quanto menor for o número de bits diferentes entre br e jc . Define-se distância de Hamming21 entre dois blocos, jcbrd , , como o número de bits diferentes entre br e jc , em igual posição. Por exemplo os blocos “001” e “010” terão uma distância de Hamming de 2, porque os 2º e 3º bits são diferentes. Para correção de erros, o critério de máxima verosimilhança é equivalente a: Descodificar a palavra de código que diste a menor distância de Hamming em relação ao bloco recebido. Define-se distância mínima de Hamming de um código, mind , como a menor distância de Hamming entre todas as palavras desse código. Este é um parâmetro que limita a capacidade de deteção e de correção. Se o número de erros for igual a mind o bloco recebido pode corresponder a outra palavra de código. Consequentemente, como ilustrado na figura 13.3, para deteção de erros o número de erros tem que ser inferior a mind . Para correção, se o número de erros for superior a metade de mind pode existir outra palavra de código com distância de Hamming menor, e a tentativa de correção dá origem a descodificar uma palavra de código errada. A capacidade de deteção e correção vêm (figura 13.3): Deteção até l erros mindl (13.17-a) Correção até t erros 2 1min dt (13.17-b) 21 Richard W. Hamming, 1915–1998. Americano, trabalhou nos Laboratórios Bell e foi professor na Naval Postgraduate School. 148 Transmissão de dados Carlos Meneses Figura 13.3 Capacidade de deteção e correção. Exemplo de código com mind =5. Bloco recebido r a d(r, ci)=2 bits e d(r, cj)=3 bits. Código de deteção – uma vez que não é uma palavra de código, são detetados erros. Código de correção – descodificado ci, já que é esta palavra de código que lhe fica mais próxima (menor distância de Hamming). Note-se que os códigos com distância mínima de Hamming superior a 2 podem funcionar como código de correção ou deteção. Os códigos com distância mínima de Hamming de 2, como o código de paridade, não conseguem corrigir qualquer erro e só conseguindo detetar 1 bit errado, pois neste caso ocorrem sempre pelo menos duas palavras de código com distância de Hamming de 1. Em contrapartida tem a razão do código (equação 13.1) a maior possível para o mesmo valor de n. O código BCC tem uma distância mínima de Hamming de 4 bits, já que consegue sempre corrigir 1 bit errado e detetar sempre 2 ou 3 bits errados. Este valor também podia ser obtido observando que, ao alterar 1 bit de informação, altera-se a paridade da sua linha e coluna, e altera-se 0c , paridade dos bits de paridade. Para um código de dimensão n ser capaz de corrigir 1 bit, tem que haver por cada uma das 2k palavras de código pelo menos mais n blocos não válidos, cada um correspondendo a 1 erro em cada uma das n posições. Como ao todo existem 2n blocos diferentes de n bits: kn n 212 . (13.18) Codificação para controlo de erros 149 Para que se consiga corrigir até 2 bits tem que se acrescentar ao lado direito desta inequação o número de combinações de n, 2 a 2. Define-se limite de Hamming como o número mínimo de bits de redundância, n –k, a colocar para se corrigir até t bits, que satisfaz a inequação: t j n j n t nkn CCCn 0 2 ...12 . (13.19) Um código corretor que utilize o mínimo de bits de redundância, seguindo o limite de Hamming, designa-se de código perfeito de correção de t bis. Pelo limite de Hamming, depreende-se que para uma maior capacidade de correção maior terá que ser o número de bits de redundância, n–k. Contudo, nem todos os códigos que satisfaçam esta inequação conseguem de facto corrigir t bits errados (limite de Hamming é condição necessária mas não suficiente), sendo necessário também que o código tenha uma distância mínima de Hamming que respeite a equação 13.17-b. 13.6 Códigos lineares Um código linear é aquele em que a adição em aritmética em módulo-2 de quaisquer duas das suas palavras ( ou exclusivo bit a bit; paridade par) de código dá origem a outra palavra do código. Contem ainda a palavra de código nula, com todos os bits ao nível lógico “0”. O peso de Hamming de uma palavra de código é definido como o número de elementos não “0” dessa palavra. A distância mínima de Hamming de um código linear corresponde ao menor peso de Hamming de todas as palavras do código, com exceção da palavra de código nula. Caso haja erros, definidos por um padrãode erro E , em que: i i ei posição na erro existe não quando0 posição na erro um produzido é quando1 , (13.20) o efeito do canal corresponde a somar (módulo-2) os bits transmitidos com o padrão de erro. Se um código for linear e o padrão de erro coincidir com uma palavra de código o 150 Transmissão de dados Carlos Meneses bloco recebido corresponde a outra palavra de código e os erros não serão detetados. Esta é uma propriedade importante dos códigos lineares. Note-se que um código de paridade ímpar não é linear, pois não contém a palavra de código nula nem a adição de duas palavras de código dá em geral um bloco com paridade ímpar. A maior dificuldade em tratar estes códigos leva a que neste texto sejam apenas referidos códigos de paridade par. 13.7 Código de repetição Um código de repetição corresponde a repetir um bit de informação n–1 vezes, produzindo um código (n, 1), também denominado R(n), com n ímpar. Por exemplo para n=5, as duas palavras de código são “0 0 0 0 0” e “1 1 1 1 1”. A distância de Hamming entre as palavras de código é de n, (de n bits a “0” até n bits a “1”) pelo que se corrige até 21n bits errados (regra por maioria). Por exemplo, se, para n=5, for recebido o bloco “0 0 0 1 1” é descodificado o nível lógico “0”, pois existem uma maioria de “0” recebidos. Para 21n ou mais bits errados, a descodificação produz um erro. A probabilidade de erro vem então: 2 1 2 1 n n n BERBER' C . (13.21) A razão do código de repetição (k=1) é dada por, n Rc 1 . (13.22) Para o mesmo n, o código de repetição tem a razão de código menor (pior) possível, pois o numerador da equação 13.22 é k=1. Como contrapartida é o código que consegue corrigir o maior número de erros, ou seja, até metade (exclusivo) de n. Ao contrário, o código de paridade cuja razão é a maior (melhor) possível para o mesmo n, consegue apenas detetar um erro de bit, encontrando-se estes códigos nos dois extremos de razão do código versus capacidade de deteção e correção. Codificação para controlo de erros 151 Na figura 13.4 apresentam-se os blocos possíveis de 3 bits num espaço tridimensional, em que cada bloco corresponde a um vértice de um cubo. Os pontos a cheio representam as palavras de código. Blocos separados de uma aresta têm distância de Hamming de 1 bit. Errar 1 bit corresponde ao deslocamento numa aresta. (a) (b) Figura 13.4 Blocos de 3 bits num espaço tridimensional. (a) Código de repetição (b) Código de paridade. ● Palavras de código. Errar 1 bit corresponde ao deslocamento numa aresta. O código de repetição tem maior separação entre palavras de código (3 arestas ou distância de Hamming de 3) do que o código de paridade (2 arestas ou distância de Hamming de 2). Utilizando o código de paridade, quando existe 1 erro o bloco recebido fica posicionado num vértice, à distância de 1 aresta de 3 palavras de código diferentes, todas com a mesma probabilidade. No código de repetição o bloco recebido fica a uma aresta da palavra original e a duas da outra palavra de código, corrigindo-se para a palavra de código correta. Embora com uma razão do código muito baixa, o código de repetição é utilizado no armazenamento de dados que necessitem de alta proteção, como por exemplo os dados de clientes num banco, colocando n discos em paralelo. Quando da escrita a mesma informação é gravada em todos os discos. Quando a informação é lida é aplicada uma regra por maioria de modo a corrigir eventuais erros. Erros sistemáticos num dos discos conseguem ser detetados sem por em causa a informação, de modo a poder ser substituído. 152 Transmissão de dados Carlos Meneses 13.8 Código de Hamming Um código perfeito com uma distância de Hamming mínima de 3, capaz de corrigir 1 bit ou detetar 2 bits errados, é o código de Hamming. Para ilustrar este código considere-se uma mensagem de 4 bits, por exemplo “1 0 0 1”. Este código requer 3 bits de paridade, num total de 7 bits (equação 13.18 com código perfeito), correspondendo a um código H(7,4) (Hamming (7,4)). Coloque-se os bits de informação da esquerda para a direita, respetivamente nas posições: m7 m6 m5 p4 m3 p2 p1 1 0 0 x 1 x x Os 3 bits marcados com x, que estão nas posições condizentes com potências de 2, corresponderão aos bits de paridade. Coloque-se agora os bits de mensagem nas posições indicadas na figura 13.5-a, como ilustrado na figura 13.5-b. (a) (b) Figura 13.5 Cálculo dos bits de redundância do código de Hamming (7,4). (a) Diagrama genérico (b) Exemplo. Os bits de paridade correspondem ao cálculo da paridade par dentro do mesmo círculo. Os bits transmitidos, incluindo os bits de paridade, são: m7 m6 m5 p4 m3 p2 p1 bits transmitidos 1 0 0 1 1 0 0 Caso haja um erro, por exemplo em m6, os bits recebidos são: m7 m6 m5 p4 m3 p2 p1 bits recebidos 1 1 0 1 1 0 0 Codificação para controlo de erros 153 O procedimento de correção a ser efetuado no recetor é o seguinte: 1) Recalculam-se os bits de paridade, sem ter em conta os bits de paridade recebidos. Figura 13.6 Cálculo do código de Hamming (7,4). No recetor, recalcula-se os bits de paridade para comparação com os recebidos. 2) Adicionam-se (módulo-2) os bits de paridade recebidos e calculados correspondentes (ou, de um modo equivalente, calcula-se a paridade par), produzindo um número denominado síndrome; m7 m6 m5 p4 m3 p2 p1 bits recebidos 1 1 0 1 1 0 0 bits calculados 1 1 0 0 1 1 0 Síndrome 1 1 0 3) Lendo os bits da síndrome da esquerda para a direita, e transformando-a em decimal 110 ↔ 6, então o bit errado é o bit m6; 4) Inverte-se o nível lógico do bit errado e retiram-se os bits de paridade, descodificando os bits m7, m6, m5, m3 = “1 0 0 1”, os bits corretos; 5) Quando não há erros os bits de paridade recebidos e recalculados são iguais, pelo que a síndrome vem “0 0 0”, indicando não haver erros. Note-se pelo diagrama da figura 13.5-a, que o bit m6 influência as paridades (p4, p2) exatamente as posições com nível lógico “1” da conversão para binário do seu índice (6 ↔ “1 1 0”), assumindo as posições pela ordem (p4, p2, p1). Esta situação 154 Transmissão de dados Carlos Meneses repete-se para todos os outros bits de informação e é por este facto que a síndrome corresponde ao bit errado. Uma alternativa ao cálculo dos bits de paridade no código de Hamming corresponde a adicionar em módulo-2 as posições em binário dos bits de informação ao nível lógico “1”. Com o exemplo da sequência binária “1 0 0 1”, o bit m7 e m3 estão ao nível lógico “1”, pelo que: p4 p2 p1 7↔111 1 1 1 3↔011 0 1 1 Paridade 1 0 0 No recetor, repete-se o procedimento, incluindo os bits de paridade. Neste caso acrescenta-se p4 que está ao nível lógico “1”, Se a síndrome der 0 não existem erros: p4 p2 p1 7↔111 1 1 1 4↔100 1 0 0 3↔011 0 1 1 Síndrome 0↔000 0 0 0 Assumindo um erro na posição m6, a síndrome corresponde novamente à posição errada, bastando para corrigir o bit inverter o seu nível lógico. p4 p2 p1 7↔111 1 1 1 6↔110 1 1 0 4↔100 1 0 0 3↔011 0 1 1 Síndrome 6↔110 1 1 0 Em alternativa ao diagrama da figura 13.6, um código em que os bits de redundância são definidos por paridades de subconjuntos do bits de entrada estes podem também ser definido com a operação ou exclusivo ou . Para o código de Hamming (7,4) tem-se (figura 13.6): 7654 mmmp 7632 mmmp 7531 mmmp . (13.23) Codificação para controlo de erros 155 Num código de Hamming, para qualquer que seja o número de bits de paridade é apenas possível corrigir 1 bit, pois a distância mínima de Hamming é sempre 3. A relação entre o número de bits de informação e a dimensão do código torna o código de Hamming perfeito, ou seja, corresponde ao menor valor de n da inequação 13.18, dado pela equação: 12 knn .(13.24) Segundo a equação 13.24 aplicada para 2 bits de paridade, é gerado um código (3,1), corresponde a um código de repetição de 3 bits. No entanto, embora gozando das propriedades dos códigos de Hamming, este não é considerado como tal: m3 p2 p1 Com 4 bits de paridade o código corresponde a um código H(15,11): m15 m14 m13 m12 m11 m10 m9 p8 m7 m6 m5 p4 m3 p2 p1 Qualquer que seja o código de Hamming, uma vez que a distância mínima de Hamming é sempre 3, a probabilidade de errar um bloco corresponde à probabilidade de errar 2 bits (ou mais): 222 2 1,2 BERnnBERCBERnfP nb . (13.25) Nesta situação o bit “corrigido” é sempre um terceiro bit (mal corrigido), o que corresponde no final a 3 bits errados em n, pelo que: 21 2 33' BERnP n BER b . (13.26) Na figura 13.7 é apresentada uma comparação entre os códigos de repetição e de Hamming, para BER=10-5. Realça-se o compromisso entre a razão do código e a capacidade de correção. Num código de repetição, quanto maior for o número de bits de repetição mais bits se conseguem corrigir mas a razão do código decai também muito 156 Transmissão de dados Carlos Meneses rapidamente. Os códigos de Hamming, mantendo constante a capacidade de corrigir 1 bit, melhoram a razão do código à medida que vão protegendo maior número de bits de informação. Figura 13.7 Desempenho dos códigos de repetição e códigos de Hamming. Exemplo com para BER=10-5. A probabilidade de erro após correção é tanto maior (pior) quanto maior (melhor) for a razão do código. 13.9 Matriz geradora Códigos lineares e sistemáticos podem ser gerados através de um produto matricial em aritmética de módulo-2. Considere-se um conjunto de bits de informação representados sob a forma de um vetor linha m (1, k): 12... mmmm k , (13.27) e uma matriz geradora do código G (k, n), definida por: PIG k | , (13.28) 1.E-72 1.E-68 1.E-64 1.E-60 1.E-56 1.E-52 1.E-48 1.E-44 1.E-40 1.E-36 1.E-32 1.E-28 1.E-24 1.E-20 1.E-16 1.E-12 1.E-08 1.E-04 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Razão do código B ER ' H(7,4) H(15,11) H(31,26) R(5) R(3)=H(3,1) R(31) Codificação para controlo de erros 157 em que Ik (k, k) é uma matriz identidade e P (k, n–k) é uma matriz que define os bits de paridade. O vetor linha c (1, n) representado as palavras de código é definido por: mGc . (13.29) Devido à matriz identidade, os bits de informação são copiados para o código, tornando-o sistemático. Note-se que a soma de duas palavras de código origina outra palavra de código, tornando-o linear: GmmGmGmcc jijiji . (13.30) Cada linha da matriz geradora corresponde a uma palavra de código. Esta é gerada quando apenas um e um só bit de informação se apresenta ao nível lógico “1”. Da esquerda para a direita, se o bit j for o único bit ao nível lógico “1”, a palavra de código correspondente é dado pela linha j. Todas as outras palavras de código correspondem à combinação linear (módulo-2) das respetivas linhas da matriz geradora. Por exemplo, se o bit i e o bit j estiverem ao nível lógico “1”, a palavra de código correspondente é dada pela combinação linear das linhas i e j. De modo a que no recetor se consiga perceber se houve erros na transmissão, assume-se a matriz de verificação de paridade, HT (n, n–k): kn T I PH , (13.31) em que In-k (n–k , n–k) é uma matriz identidade. Verifica-se que: 0...00 TcHS . (13.32) O produto com a matriz P recalcula a paridade (linha) e o produto com a matriz In-k compara este resultado com a paridade, que sendo a mesma dá resultado 0 em todas as colunas. 158 Transmissão de dados Carlos Meneses Caso haja erros representados pelo padrão de erro da equação 13.20, o que é recebido é Ec . Multiplicando por HT obtêm-se: TTTT EHEHcHHEcS . (13.33) O resultado, S, da verificação, depende apenas do padrão de erro e não do código enviado. Caso este resultado seja 0 não há erros. Se o limite de Hamming (equação 13.19) e a distância mínima de Hamming (equação 13.17-b) forem suficientes, este resultado corresponde a uma síndrome capaz de indicar quais os bits errados. Caso haja apenas 1 bit errado na posição j (da esquerda para a direita), a síndrome corresponde à linha j da matriz de verificação. Caso haja mais do que 1 erro a síndrome corresponde à combinação linear das respetivas linhas da matriz de verificação. Como em qualquer código linear, caso o padrão de erro coincida com uma palavra de código a síndrome anula-se e embora existam erros estes não são detetados. 13.9.1 Código de paridade Num código de paridade todos os bits de informação influenciam o único bit de paridade, pelo que a matriz de paridade P (k, 1) corresponde a um vetor coluna com todos os elementos iguais a 1. Apresenta-se seguidamente a matriz geradora e a matriz de verificação de paridade para um código de dimensão 5: 1 1 1 1 1000 0100 0010 0001 G 1 1 1 1 1 TH . (13.34) 13.9.2 Código de repetição Num código de repetição de n bits, (n, 1), existe apenas 1 bit de informação e duas palavras de código. Todos os bits de paridade são iguais ao bit de informação. A matriz P (1, n–1) e a matriz geradora G (1, n) correspondem a vetores linha com todos Codificação para controlo de erros 159 os elementos iguais a 1. Apresenta-se seguidamente a matriz geradora e a matriz de verificação de paridade para um código de repetição de 5 bits: 1111|1G 1000 0100 0010 0001 1 11 1 TH . (13.35) 13.9.3 Código de Hamming H(7, 4) Para um código de Hamming H(7,4), em que os 4 bits de informação são representados pelo vetor linha: 3567 mmmmm , (13.36) e o código representado por, 1243567 pppmmmmc , (13.37) a matriz geradora é definida por (equação 13.23 ou figura 13.5-a): 110 101 011 111 1000 0100 0010 0001 G . (13.38) Note-se que o bit m7 influência os 3 bits de paridade (1ª linha), o bit m6 influência os bits de paridade p4 e p2 (2ª linha), o bit m5 influência os bits de paridade p4 e p1 (3ª linha) e o bit m3 influência os bits de paridade p2 e p1 (4ª linha). Caso o vetor de entrada estivesse representado por outra ordem na equação 13.36 as linhas da matriz P estariam também por outra ordem. Da mesma forma, se a ordem dos bits de paridade fosse diferente na equação 13.37 a matriz P teria também colunas trocadas. 160 Transmissão de dados Carlos Meneses Visto a partir das colunas, o bit de paridade p4 é função dos correspondentes bits ao nível lógico “1” da primeira coluna desta matriz, bits m7, m6 e m5, pelo que as três primeiras posições desta coluna são 1 e a última posição que depende do bit m3 está a 0. O bit de paridade p2 é função dos correspondentes bits ao nível lógico “1” da primeira coluna desta matriz, bits m7, m6 e m3, pelo que as respetivas posições da 2ª coluna são 1 e a 3ª posição que depende do bit m5 está a 0. O mesmo raciocínio se aplica para p1. A matriz de verificação de paridade (equações 13.28 e 13.31 e 13.38) vem: 100 010 001 110 101 011 111 TH . (13.39) Existindo um erro, por exemplo na posição 6, o padrão de erro vem: 0000010E , (13.40) dando origem a uma síndrome: 011 TEHS , (13.41) que corresponde à segunda linha da matriz de verificação de paridade, estando por isso errado o segundo bit a contar da esquerda no padrão de erro. Generalizando este raciocínio, para um código de correção de 1 bit, o bit errado corresponde ao índice da linha coincidente com a síndrome. Estas linhas têm que ser todas diferentes para que o bit errado seja inequívoco.Codificação para controlo de erros 161 13.10 Códigos cíclicos Os códigos cíclicos são uma subclasse dos códigos lineares, com uma estrutura algébrica bem definida e simples de implementar. O princípio dos códigos cíclicos é o seguinte: suponha-se um número a enviar entre o transmissor e o recetor. No transmissor, faça-se a divisão inteira deste número por um dividendo conhecido no transmissor e no recetor. É enviado o número original e o resto da divisão inteira. No recetor é novamente efetuada a divisão e os restos são comparados. Caso sejam iguais é considerado que não há erros. Contudo, erros em que resulte um resto igual não serão detetados. Aplicando este princípio para transmissão binária, considerando: xm – polinómio de grau 1k ( k bits ou coeficientes do polinómio, tomando valores 0 ou 1, correspondentes à mensagem a enviar22); xg – divisor ou polinómio gerador, de grau kn ; xr – polinómio correspondente aos resto da divisão inteira com xg , de grau 1 kn (com kn coeficientes); tem-se que, xg xrxq xg xxm kn , (13.42) e, xqxg xr xg xrxq xg xrxxm kn . (13.43) As palavras de código correspondem a xrxxmxT kn , equivalente a colocar os kn bits de xr nos bits à direita de knxxm (somar ou subtrair é idêntico). xm tem exatamente k bits e são adicionados n–k bits de redundância (resto) pelo que este código corresponde a um código (n, k). 22 Para x=2 os polinómios correspondem à leitura dos bits em binário. 162 Transmissão de dados Carlos Meneses No recetor o polinómio recebido é também dividido por xg , não se obtendo resto como resulta da equação 13.43. Como consequência todas as palavras de código são múltiplas (módulo-2) do polinómio gerador xg . Havendo erros representados pelo padrão de erro da equação 13.20, o que é recebido é xExT . Este polinómio é dividido pelo polinómio gerador para se verificar o resto: xg xE xg xT xg xExT . (13.44) Como xgxT produz resto zero, os erros só não são detetados se xgxE não produzir resto zero. Esta situação dá-se quando o padrão de erro é múltiplo do polinómio gerador, coincidindo com uma das palavras de código. A mesma conclusão é tirada da propriedade dos códigos lineares segundo a qual os padrões de erro correspondentes às palavras de código não são detetados. Se uma palavra de código for rodada para a esquerda, colocando o coeficiente de ordem n–1 na posição do coeficiente de ordem 0, o resultado é outra palavra de código. É esta característica que dá o nome de códigos cíclicos. É também a estrutura cíclica que torna este código fácil de implementar. Contudo, para se garantir que um código com dimensão n é cíclico, duas condições devem ser satisfeitas: (1) xg tem que ser um fator de 1nx ; (2) O coeficiente de ordem 0 de xg tem que ser 1. Se a condição (2) não fosse satisfeita, o bit mais à direita do resto e portanto das palavras de código seria sempre 0, independentemente dos bits a transmitir, o que para além de tornar o código não cíclico é inútil. 13.10.1 Códigos cíclicos como códigos de correção Para além das condições para que o código seja cíclico, para corrigir t bits o número de bits de redundância a introduzir deverá satisfazer o limite de Hamming dado Codificação para controlo de erros 163 pela equação 13.19. Uma escolha apropriada do polinómio gerador deverá ainda atender à distância mínima de Hamming, satisfazendo a equação 13.17-b. A informação sobre quais os bits errados é dada pelo resto, que opera como síndrome. Apresentam-se três exemplos de polinómios geradores: os polinómios dos códigos H(7,4) e H(15,11), com distância mínima de Hamming de 3; e o polinómio do código de Goley (23, 12), com distância mínima de Hamming de 7, único código perfeito conhecido para correção de 3 bit. – Hamming (7,4) (m5 m7 m6 m3) x3+x+1 – Hamming (15,11) x4+x+1 (13.45) – Código de Goley (23, 12) x11+x9+x7+ x6+x5+x+1 13.10.2CRC – Verificação cíclica de redundância Na transmissão de pacotes em redes de computadores estes atingem uma dimensão de centenas ou mesmo milhares de bits, sendo de dimensão variável. A implementação de códigos corretores para estas dimensões é uma tarefa complexa, nomeadamente na presença de erros em rajada. Contudo, para o código funcionar apenas como detetor de erros, basta verificar se o resto é diferente de zero. O resto não opera como síndrome, pelo que não há qualquer restrição ao número de bits de informação em relação à dimensão total do código. Note-se que o código deixa de ser cíclico uma vez que xg deixa de ser um fator de 1nx . Daqui se conclui que, quando se pretende apenas detetar erros, qualquer polinómio gerador pode ser utilizado qualquer que seja a dimensão dos bits a transmitir. Neste contexto os códigos cíclicos tomam o nome de códigos de verificação cíclica de redundância (CRC – Cyclic redundancy check). Uma das grandes vantagens do código CRC é como detetor de rajadas de erros. Segundo a equação 13.44, não se deteta erros se o padrão de erro for múltiplo do polinómio gerador. Relembrando que uma rajada começa e acaba sempre com um erro, existem três casos a serem considerados: 164 Transmissão de dados Carlos Meneses (1) Rajadas de dimensão menor ou igual ao grau (n–k) do polinómio xg não poderão corresponder aos seus múltiplos e são todas detetadas; (2) Para rajadas com dimensão (n–k+1) existe apenas um padrão de erro múltiplo de xg , que condiz exatamente com xg , em )1(2 kn padrões de erro possíveis, devidas a (n–k+1)–2 bits no interior da rajada. Assumindo que estes padrões são equiprováveis, obtêm-se para a relação de rajadas não detetadas: )1()1( 22 1 kn kn , (13.46) definindo relação de rajadas não detetadas como a relação entre o número de rajadas não detetadas e o número total de rajadas; (3) Para rajadas de dimensão (n–k+2) existe apenas um múltiplo de xg em )(2 kn padrões de erro possíveis, devidas a (n–k+2)–2 bits no interior da rajada. Por cada bit que se aumenta na rajada o número de padrões de erro diferentes duplica mas também duplica o número de múltiplos de xg , mantendo-se a mesma relação )(2 kn . A relação total de rajadas não detetadas numa trama, BFER, (Burst frame error rate) entre o número de rajadas não detetadas e o número total de rajadas, corresponde ao valor médio das três situações anteriores. Dado que o somatório de padrões de erro da situação (1) iguala os da situação (2), a sua média iguala a da situação (3). A relação de rajadas não detetadas BFER, assumindo que todas as dimensões de rajadas de erros e todos os padrões de erro são equiprováveis, vem: )(2 rajadas de totalº detectadas não rajadas kn n BFER . (13.47) Apesar da dimensão do polinómio gerador não estar à partida definido, este é um parâmetro importante que determina a dimensão das rajadas de erros a detetar. Com o aumento da dimensão (n–k) do polinómio gerador, a razão do código diminui. Contudo, aumenta a dimensão mínima (n–k) da dimensão das rajadas sempre detetadas Codificação para controlo de erros 165 e diminui, segundo a equação 13.47, a relação de rajadas não detetadas. Note-se ainda que, mesmo para um polinómio gerador com uma ordem moderada, são detetados a maioria dos padrões de erro. Alguns exemplos de polinómios utilizados como CRC são: – Paridade x+1 – CRC–5 USB x5+x2+1 – CRC8 ITU–T x8+x7+x3+x2+1 (13.48) – CRC16 ITU–T x16+x12+x5+1 – CRC16 (USA) x16+x15+x2+1 Os códigos CRC são utilizados por exemplo na interface USB e em redes de computadores, ou na escritae leitura de ficheiros em computadores. 13.10.3Códigos cíclicos e matriz geradora Os códigos lineares podem ser implementados através de diversos métodos. A divisão pelo polinómio gerador xg aqui descrita e a geração através de multiplicação por uma matriz geradora G , descrita anteriormente, são dois destes métodos. Relacionando-os e relembrando que a j-ésima linha da matriz geradora corresponde à palavra de código com apenas 1 bit de informação na posição j (da esquerda para a direita) ao nível lógico “1”: (1) A última linha (k) da matriz G é igual aos coeficientes de xg , pois este corresponde à palavra de código com apenas o bit de informação na coluna k ao nível lógico “1” e com zeros à esquerda; (2) A linha 1k de G corresponde à linha k rodada para a esquerda (estrutura cíclica), desde que a nova coluna k não seja 1, de modo a manter a matriz identidade da equação 13.28. Caso contrário soma-se a linha k (código linear) forçando esta posição a zero; (3) Repete-se o procedimento (2) paras as linhas acima seguintes, partindo sempre da linha anterior, até se chegar à linha 1. 166 Transmissão de dados Carlos Meneses 13.11 IP Checksum Um código robusto de deteção de erros, embora não linear, é o código IP checksum, utilizado na deteção de erros dos cabeçalhos do protocolo TCP/IP. Considere-se que se divide os bits de informação em sub-blocos, Mi, com dimensão (n–k) bits. O código IP checksum utiliza sub-blocos de dimensão de 16 bits. O checksum corresponde ao complemento para um (negação) da adição a (n–k) bits em complemento para um de todos os sub-blocos. MjMMXCS ...21~~ . (13.49) A adição em complemento para um tem a mesma dimensão das parcelas, qualquer que seja o número de parcelas, pois, ao contrário da adição vulgar, os bits de arrasto são adicionados aos bits menos significativos. CS tem portanto (n–k) bits correspondendo aos bits de redundância. O código é sistemático, sendo a palavra de código constituída pelos bits de informação e pelo checksum. A adição em complemento para um goza das propriedades comutativa e associativa da adição vulgar. Estas propriedades podem ser utilizadas para diminuir a complexidade na implementação, quer em hardware quer em software, nomeadamente efetuando a adição aos pares ou em paralelo. MjMMMM MjMMMMMjMMMM ...4321 ...4321...4321 . (13.50) No recetor, repete-se o procedimento do transmissor, incluindo o checksum. Correspondendo o checksum ao complemento para um da adição em complemento para um, o resultado final é zero: 0~~~ XXCSX . (13.51) Caso este valor não seja 0 é porque foram produzidos erros entre o transmissor e o recetor e o pacote deve ser retransmitido. Codificação para controlo de erros 167 13.12 Interleaving As rajadas de erros podem ser detetadas com códigos adequados, como por exemplo os códigos BCC e CRC. Estes códigos, contudo, não têm capacidade para corrigir bits mas apenas para detetar a presença de erros. De modo a resolver esta insuficiência, o interleaving é uma técnica capaz de converter erros em rajada em erros isolados, para que estes sejam corrigidos através de um qualquer código corretor. O interleaving (entrelaçamento) é implementado criando uma matriz, em que os bits são colocados por linha, mas transmitidos por coluna. No recetor, os bits são recolocados na sua ordem original. Os bits que no canal faziam parte de uma rajada passam a estar distanciados. Na figura 13.8 apresenta-se um exemplo em que os bits são substituídos por letras, para mais fácil demonstração do procedimento. E x e m p l o D e T r a n s m i s s a o I n t e r l e a v i n g ⇨ Código Original ⇨Código Com Interleaving ⇨ Código com erro em rajada ⇨ Código com erros isolados após reconstrução Figura 13.8 Exemplo de código com interleaving. A dimensão da rajada de erros é de 6 ( ), menor que o número de linhas 8. Nesta condição os erros em rajada transformam-se em erros isolados espaçados do número de colunas, 4. Se a rajada de erros tiver uma dimensão inferior ao número de linhas, erros em rajada transformam-se em erros isolados espaçados da dimensão do número de colunas. Note-se que o interleaving não é um código em si, tendo-se que recorrer a um código corretor de erros aleatórios. Se, por exemplo, forem colocados os bits de um código de bloco de correção em cada linha, os erros são corrigidos se não for 168 Transmissão de dados Carlos Meneses ultrapassada a sua capacidade de correção. Se o código corretor tiver a capacidade de corrigir apenas 1 bit (por exemplo o código Hamming), a dimensão máxima da rajada é igual ao número de linhas. Utilizando um código de correção de t bits, a dimensão máxima da rajada detetada e corrigida, maxb , é de: litb max , (13.52) em que li é o número de linhas, ou número de blocos do código de correção utilizado. No projeto de um interleaving toma-se então em consideração o número de bits n código corretor que se quer utilizar (cl=n – número de colunas) e, em função do número de bits máximo corrigidos e da dimensão máxima da rajada que se quer corrigir (li=bmax/t – número de linhas). A razão de código final é a razão do código de correção utilizado em cada linha. Se não for já inerente um atraso na transmissão, como por exemplo na transmissão de um pacote em redes de computadores, o interleaving impõe um atraso correspondente à dimensão do número de bits da matriz, já que no recetor é preciso ter acesso a todos os bits para os poder recolocar. Discussão sobre transmissão de dados 169 14 Discussão sobre transmissão de dados Esta segunda parte do texto corresponde a uma introdução sobre a interface elétrica da camada física do modelo OSI e os algoritmos de controlo de erros de bit das camadas superiores dependentes da rede e da camada de transporte. Estes blocos do sistema de comunicação digital são apresentados como solução para lidar com as limitações do canal de comunicação, otimizando recursos importantes como a energia e a largura de banda disponível. Foram descritos os principais códigos de linha, binários e M-ária, para transmissão em canais passa-baixo. Constituem atributos dos códigos de linha a energia média por bit (esforço), o débito binário e eficiência espetral (velocidade), a probabilidade de erro de bit (qualidade), a presença de componente DC, a capacidade de deteção de erros, a facilidade de sincronismo de símbolo e a complexidade de implementação dos transmissores e recetores. Existem claramente compromissos em relação a estes atributos, já que, por exemplo, para diminuir a largura de banda ocupada diminui-se o número de transições por segundo, o que dificulta o sincronismo de símbolo, que por sua vez aumenta a complexidade do recetor. Num outro exemplo, para melhorar a probabilidade de erro de bit pode-se aumentar a energia de bit e vice-versa. Para todos os códigos de linha apresentados foram deduzidas as expressões da energia média por bit, da probabilidade de erro de bit e da largura de banda. Para a largura de banda foi utilizado o critério de primeiro zero espetral, já razoável para atenuar a interferência intersimbólica, e segundo o critério de Nyquist, que a evita completamente. Foram apresentados os recetores ótimos, realizados com filtro adaptado e deteção segundo o critério de máxima verosimilhança. Tendo sido assumido que os símbolos são equiprováveis, a deteção de máxima verosimilhança é de facto equivalente à deteção ótima com critério de máximo a posteriori. Os códigos de linha M-ária correspondem também a compromissos, já que a sua implementação tem maior complexidade e para a mesma relação entre a energia média 170 Transmissão de dados Carlos Meneses por bit e potência de ruído por Hertz, apresentam a probabilidade deerro de bit maior, mas conseguem uma melhor eficiência espetral, ou seja, transmitem um maior débito binário numa menor largura de banda. De modo a diminuir a probabilidade de erro é possível regenerar o sinal em pontos intermédios do canal de comunicação, por exemplo nos equipamentos da rede (e.g. hubs, switchs, routers). Se a atenuação ainda não for demasiada e o sinal ainda não tiver sido muito afetado pelo ruído, é possível regenerar o sinal praticamente sem erros. Note-se que não é possível regenerar um sinal analógico mas apenas amplificá-lo, o que implica amplificar também o ruído. Devido ao ruído no canal de comunicação é impossível evitar erros de bit entre o transmissor e o recetor. Inserindo bits de redundância é contudo possível detetar ou, se o número de bits de redundância introduzidos for suficientes, corrigir estes erros. Para os códigos de deteção de erros é necessário um mecanismo que informe o transmissor destes erros, para que a informação seja retransmitida. São apresentados alguns dos principais códigos de deteção e correção de erros e suas limitações. São deduzidas as probabilidades de erro após retransmissão no caso da utilização de códigos detetores, ou correção no caso da utilização de códigos corretores. É ainda apresentado o interleaving, procedimento para lidar com erros em rajada mas utilizando códigos para erros aleatórios. Como código para lidar diretamente com os erros em rajada é apresentado o CRC e calculada a respetiva relação de rajadas não detetadas, que funciona como medida de qualidade da transmissão na presença deste tipo de erros. Interleaving 171 Apêndices Principais Equações Perguntas Teóricas Exercícios Resolvidos Exercícios Propostos Exercícios em MATLAB 172 Apêndices Carlos Meneses Apêndice 1 – Estimação estatística da potência de um sinal Assumindo um sinal tx , verifica-se que a média corresponde ao valor médio ou componente DC e o valor esperado de segunda ordem corresponde à potência do sinal: dxxxfdttx T T T Tx 2/ 2/ 1lim (A.1.1) dxxfxdttx T P T T Tx 2 2/ 2/ 21lim (A.1.2) Tem-se ainda que, xACxDCxxx PPP 22 , (A.1.3) em que xDCP é a potência da componente contínua e xACP a potência da componente AC ou variável. Se a componente DC for 0 V, o que acontece na maioria dos sinais de interesse: dxxfxP xx 22 0 (A.1.4) Estes conceitos podem ser estendidos a sinais discretos com distribuição contínua: dxxxfnx N N NnN x 2/ 2/. 1lim (A.1.5) dxxfxnx N P N NnN x 2 2/ 2/ 21lim (A.1.6) O que estas equações traduzem é que não é preciso conhecer um sinal em todo o instante, mas apenas a sua distribuição de amplitudes, para estimar a sua componente DC e potência. Esta conclusão é de extrema utilidade quando se analisa sinais aleatórios como o ruído (e.g. com distribuição de amplitudes uniforme ou normal). Apêndice 1 – Estimação estatística da potência de um sinal 173 Exemplo: Calcule o valor da componente DC e a potência de um sinal dente de serra tm , com período 0T e amplitude maxm . No domínio do tempo, uma vez que o sinal é periódico, o valor médio é dado por, 0 44 221 20 2 0 2 0 max 2 2 2 2 0 max 2 2 2 0 max 2 2 0 max 0 0 0 0 0 0 0 TT T mt T mtdt T mdtt T m T m T T T T T T DC 3883 4 3 4421 2max 3 0 3 0 3 0 2 max 2 2 3 3 0 2 max 2 2 2 3 0 2 max 22 2 0 max 0 0 0 0 0 0 0 mTT T mt T mdtt T mdtt T m T P T T T T T T m Uma vez que um sinal dente de serra tem distribuição uniforme entre maxm e maxm , 0 442 1 max 2 max 2 max max 2 max max max max max m mm m mdxm m dmmmfm m m m m DC 3662 1 2max max 3 max 3 max max 3 2 max 2 max max max max m m mm m mdxm m dmmfmP m m m m x Segundo as equações A.1.1 e A.1.2, o cálculo no domínio do tempo ou estatístico dão valores iguais. 174 Apêndices Carlos Meneses Apêndice 2 – Decibéis O Decibel (dB) é uma unidade que expressa a relação entre duas grandezas físicas, geralmente entre duas potências (S1 e S2), através de uma escala logarítmica, sendo definido como: 2 1 10log10 S S . (A.2.1) O Decibel corresponde a um décimo de Bel, nome atribuído em homenagem ao fundador da companhia de telefones Bell (1877), nos Estados Unidos da América. Seguidamente apresentam-se utilizações típicas do Decibel enquanto medida: Relação sinal ruído – Medida de qualidade entre dois sinais analógicos que deveriam ser iguais, mas em que um deles (normalmente os sinal de saída de um sistema) está contaminado com ruído. Mede-se assim a qualidade através da SNR (Signal to noise ratio), relação entre a potência do sinal (P) e a potência do ruído (N): N PSNRdB 10log10 . (A.2.2) Atenuação – Relação entre a potência de entrada e a potência de saída de um sistema que atenua um sinal, por exemplo um canal de comunicação, em que a potência do sinal no recetor (SR) é menor que a potência no transmissor (ST): R T dB S SAt 10log10 . (A.2.3) Amplificação – Relação entre a potência de saída (So) e entrada (Si) de um sistema (e.g. amplificador) que amplifica um sinal: i o i o dB v v S SG 1010 log20log10 , (A.2.4) considerando vo e vi respetivamente como as tensões de saída e entrada do sistema (assumindo sobre a mesma carga). Apêndice 2 – Decibéis 175 Decibel como valor absoluto Um valor de potência é expresso em relação a um valor de referência, como por exemplo 1 W, dando origem à unidade dBW: 1 log10 10 S SdB . (A.2.5) Note-se que, por exemplo, que uma potência de 1 W corresponde a 0 dBW, 2 W a 3 dBW, 10 W a 10 dBW e 1 mW a –30 dBW. Sinais com potência menor que 1 W tornam o valor em dBW negativo, o que é evitado tomando como referência 1 mW em vez de 1 W, definido como dBm (ou mesmo 1 W, definindo-se como dB): 310 10 log10 S SdBm . (A.2.6) Para converter potencias em dBm para dBW tem-se que: 30 dBmdB SS . (A.2.7) As vantagens da utilização do Decibel são: - O resultado dos ganhos e atenuações de sistemas consecutivos correspondem à sua soma (ou subtração) em decibéis, e não à multiplicação (ou divisão); - Transforma números muito pequenos ou muito grandes em números mais fáceis de operar; - Na acústica, está mais próximo da sensibilidade do ouvido humano, que tem uma resposta logarítmica da sensação em relação à potência. 176 Apêndices Carlos Meneses Apêndice 3 – Algoritmo de quantificação ótima Entradas: Número L de valores de quantificação; Histograma normalizado dos valores de entrada mi: i=1:k; k>>L; Histograma normalizado dos valores de entrada fM(mi): i=1:k; Índice de distorção ; Inicialização: 1) Calculam-se arbitrariamente L níveis de quantificação vj; j=1:L; (e.g.: quantificação uniforme); 2) Assume-se a potência do ruído de quantificação da iteração –1, )1(2q ; 3) Ordem de iteração n=0; Iteração: 1) Calculam-se os espaços Sj, j=1:L com mi Sj se, (mi – vj)2 (mi – vl) 2 , l j, l=1:L; j=1:L; 2) Calcula-se a potência do ruído de quantificação da iteração n, )(2 nq , )()( 1 22 iM m j i jiq mfvmn , mi Sj; 3) Se )( )()1( 2 22 n nn q qq calculam-se as saídas e termina-se o algoritmo; 4) Calculam-se novos valores de quantificação como a média normalizada dos espaços Sj: i ii iMi j mf mfm v )( )( j=1:L, mi Sj; 5) Incrementa-se n e retorna-se ao ponto 1); Saídas: Valores de quantificação: vj , j=1:L Valores de decisão: (L–1) valores equidistantes dos valores de quantificação; Apêndice 4 – Sinusoide com preditor unitário 177 Apêndice 4 – Sinusoide com preditor unitário Prova que, pG VV 2 1 , assumindo um preditor unitário, é exata para entrada sinusoidal: i. Pela equação 5.15, 112 1 r G p ii. A autocorrelação de uma sinusoide normalizada (A.5.4) para uma amostra de atraso vem sf f r 02cos1 , pelo que: s p f f G 02cos12 1 . iii. Assumindo a aproximação da equação 5.10, sssp f f V f f V f f V G VV 002202 2 1 sin2sin42cos12 , (A.4.1) que corresponde de facto, para uma sinusoide, à máxima variação no tempo Ts, que se dá na zona de maior declive, ou seja, à volta de 0, como se pode verificar pela figura seguinte: iv. Para DM e com a certeza que o sinal de entrada é uma sinusoide, sf fV 0sin2 (A.4.2) é uma melhor (menor) estimativa de do que a produzida por sf fV 02 . Estas aproximam-se se sff 0 , pois nestas condições ss f fV f fV 00 2sin2 . 178 Apêndices Carlos Meneses Apêndice 5 – Função de autocorrelação A função de autocorrelação temporal (e não estatística) para sinais discretos é definida por N NnN knmnm N kR 12 1lim , correspondendo ao produto interno do sinal com a sua versão deslocada de k amostras. Para calcular esta função para uma sinusoide discreta, opta-se por a calcular em tempo contínuo e amostrar seguidamente. A função de autocorrelação para sinais em tempo contínuo corresponde ao produto interno do sinal e da sua versão deslocada do tempo : T T T dttmtm T R 2 1lim . (A.5.1) Para uma sinusoide tfmtm 0max 2cos , com período fundamental To: 2/ 2/ 0max0max 0 0 0 )(2cos2cos1 T T dttfmtfm T R 2/ 2/ 0 0 2 max 2/ 2/ 000 0 2 max 0 0 0 0 2 2cos224cos2cos 2 T T T T t T fmdtftff T mR 0 2 max 2cos 2 fmR (A.5.2) Amostrando esta função com período ss kTT vem, k f fmkR s 0 2 max 2cos 2 (A.5.3) A autocorrelação de ordem 0 corresponde à potência do sinal. A autocorrelação normalizada vem: 02cos0 f R Rr k f f R kRkr s 02cos 0 . (A.5.4) A autocorrelação de uma sinusoide não depende da fase inicial e a autocorrelação normalizada também não depende da amplitude. A autocorrelação de uma sinusoide discreta depende da relação f0/fs e não dos seus valores absolutos. Apêndice 6 – Funções densidade espetral de potência em códigos de linha 179 Apêndice 6 – Funções densidade espetral de potência em códigos de linha PNRZ bb R f R AfG 2 2 sinc (A.6.1) PRZ bb R f R AfG 2 sinc 4 2 2 (A.6.2) UNRZ fA R f R AfG bb 4 sinc 4 2 2 2 (A.6.3) BNRZ bbb R f R f R AfG 22 2 sinsinc (A.6.4) Manchester bbb R f R f R AfG 2 sin 2 sinc 22 2 (A.6.5) NRZI bb R f R AfG 2 2 sinc (A.6.6) Funções densidade espetral de potência dos diversos códigos de linha. Assume-se para todos os códigos uma potência de 1 W (e não a amplitude), geração independente e equiprovável dos níveis lógicos. 0 0.25 0.5 0.75 1 0 0.5 1 1.5 2 2.5 3 3.5 PNRZ PRZ UNRZ Manchester BNRZ PNRZ PRZ Manchester BNRZ D en si da de E sp ec tra l d e P ot ên ci a UNRZ f /R b 180 Apêndices Carlos Meneses Apêndice 7 – Função complementar de erro A função xerfc está tabelada e é definida por: x dxerfc e 22 (A.7.1) e sabendo que a área a tracejado é dada por: dy yy y dyeÁrea y 2 2 2 22 1 (A.7.2) Fazendo a mudança de variável: 22 y yy ddy y 22 22 22 ydyyy dyy dedeÁrea yy dd y y 2 22 2 22 2 2 1 2 2 xerfcderfcÁrea y 2 1 22 1 2 2 , (A.7.3) 2 2 2 y dx . (A.7.4) x dxerfc e 21 2 1 Apêndice 7 – Função complementar de erro 181 x ½ erfc(x) x ½ erfc(x) x ½ erfc(x) 0 5,000E–01 2 2,339E–03 4 7,709E–09 0,05 4,718E–01 2,05 1,871E–03 4,05 5,094E–09 0,1 4,438E–01 2,1 1,490E–03 4,1 3,350E–09 0,15 4,160E–01 2,15 1,181E–03 4,15 2,192E–09 0,2 3,886E–01 2,2 9,314E–04 4,2 1,428E–09 0,25 3,618E–01 2,25 7,314E–04 4,25 9,253E–10 0,3 3,357E–01 2,3 5,716E–04 4,3 5,967E–10 0,35 3,103E–01 2,35 4,446E–04 4,35 3,830E–10 0,4 2,858E–01 2,4 3,443E–04 4,4 2,446E–10 0,45 2,623E–01 2,45 2,653E–04 4,45 1,554E–10 0,5 2,398E–01 2,5 2,035E–04 4,5 9,831E–11 0,55 2,183E–01 2,55 1,553E–04 4,55 6,187E–11 0,6 1,981E–01 2,6 1,180E–04 4,6 3,875E–11 0,65 1,790E–01 2,65 8,924E–05 4,65 2,415E–11 0,7 1,611E–01 2,7 6,717E–05 4,7 1,498E–11 0,75 1,444E–01 2,75 5,031E–05 4,75 9,243E–12 0,8 1,289E–01 2,8 3,751E–05 4,8 5,676E–12 0,85 1,147E–01 2,85 2,783E–05 4,85 3,469E–12 0,9 1,015E–01 2,9 2,055E–05 4,9 2,109E–12 0,95 8,955E–02 2,95 1,510E–05 4,95 1,277E–12 1 7,865E–02 3 1,105E–05 5 7,687E–13 1,05 6,878E–02 3,05 8,040E–06 5,05 4,606E–13 1,1 5,990E–02 3,1 5,824E–06 5,1 2,747E–13 1,15 5,194E–02 3,15 4,199E–06 5,15 1,630E–13 1,2 4,484E–02 3,2 3,013E–06 5,2 9,626E–14 1,25 3,855E–02 3,25 2,151E–06 5,25 5,657E–14 1,3 3,300E–02 3,3 1,529E–06 5,3 3,308E–14 1,35 2,812E–02 3,35 1,081E–06 5,35 1,926E–14 1,4 2,386E–02 3,4 7,610E–07 5,4 1,116E–14 1,45 2,015E–02 3,45 5,330E–07 5,45 6,439E–15 1,5 1,695E–02 3,5 3,715E–07 5,5 3,664E–15 1,55 1,419E–02 3,55 2,577E–07 5,55 2,109E–15 1,6 1,183E–02 3,6 1,779E–07 5,6 1,166E–15 1,65 9,812E–03 3,65 1,222E–07 5,65 6,661E–16 1,7 8,105E–03 3,7 8,358E–08 5,7 3,886E–16 1,75 6,664E–03 3,75 5,686E–08 5,75 2,220E–16 1,8 5,455E–03 3,8 3,850E–08 5,8 1,110E–16 1,85 4,444E–03 3,85 2,594E–08 5,85 5,551E–17 1,9 3,605E–03 3,9 1,740E–08 5,9 5,551E–17 1,95 2,910E–03 3,95 1,161E–08 5,95 0,000E+00 Nota: 22 1 2 1 22 xerfcdxQ x e (A.7.5) 182 Apêndices Carlos Meneses Apêndice 8 – BER com critério MAP Numa transmissão binária num canal AWGN em que os símbolos não têm a mesma probabilidade, a distribuição do ruído no instante de amostragem com critério de máximo a posterior (MAP) é ilustrado pela figura: Dda figura: optyd 11 optyd 00 , (A.8.1) 2 2 00 2 2 11 100011 2222 nn derfcpderfcpppppBER . (A.8.2) Note-se que estas equações são válidas para qualquer valor de , p0 e p1, e não apenas para a situação ótima. O valor ótimo da tensão de comparação, ot , é o ponto y de intersecção das densidades espetrais de potência do ruído, distribuições normal com variância idêntica 2n , pesadas pelas respetivas probabilidades a priori: otyyfpyfp "0|""1"| 01 . (A.8.3) Apêndice 8 – BER com critério MAP 183 Desta expressão, após alguma manipulação algébrica, obtêm-se: 1 0 01 2 01 ln 2 p p yy yy n ot . (A.8.4) Note-se que estas as equações são válidas para critério MAP e MV. Com 10 pp , 2 01 yy ot (A.8.5) 184 Apêndices Carlos Meneses Apêndice 9 – Largura de banda equivalente do ruído Função densidade espetral de potência do sinal de entrada: fGx [W/Hz]Função densidade espetral de potência do sinal de saída: fGy [W/Hz] Potência do sinal de saída: yP [W] Resposta em frequência do filtro: fH [ ] Densidade espetral de potência do ruído branco: fGw [W/Hz] Potência do ruído na saída do filtro: 2n [W] Largura de banda equivalente do ruído: eqB [Hz] Área equivalente do ruído: eqA [Hz] Das relações de densidade espetral de potência num SLIT tem-se: 2fHfGfG xy , (A.9.1) dffHfGdffGP xyy 2 . (A.9.2) O ruído branco é caracterizado por ter uma função densidade espetral de potência constante para todas as frequências: 2 0NfGw . (A.9.3) Tendo o sinal de entrada uma distribuição de amplitudes normal, a distribuição das amplitudes do sinal de saída é também normal. Tendo o filtro à entrada ruído branco, obtêm-se para a potência do ruído filtrado: dffH N dffHfGdffG wyn 2022 2 . (A.9.4) Apêndice 9 – Largura de banda equivalente do ruído 185 Se o filtro tiver característica passa-baixo ideal de banda B e ganho g, 2 0 202 2 BgNdfgN B B n . (A.9.5) Define-se largura de banda equivalente do ruído, eqB , de um filtro de ganho g e resposta em frequência arbitrária fH , como sendo a largura de banda de um filtro ideal com o mesmo ganho g e cuja saída produza a mesma potência do ruído. Igualando as equações A9.4 e A.9.5 tem-se que: dffH g Beq 2 22 1 . (A.9.6) Define-se a área equivalente do ruído como: dtthdffHgBA eqeq 222 )(2 , (A.9.7) correspondente ao dobro da largura de banda (bilateral) de um filtro ideal com ganho unitário cuja saída gere a mesma potência do ruído que um filtro com ganho g. Da equação A.9.4 vem, para a potência do ruído à saída do filtro: eqeqn A NgBNdtthNdffHN 222 02 0 20202 . (A.9.8) Note-se que eqA , como eqB , correspondem a uma largura de banda e têm como unidades Hertz. Note-se ainda que o valor de eqA equivale numericamente (A.9.7) à energia da resposta impulsiva do SLIT (embora tenha como unidades Hertz e não Joules). 186 Apêndices Carlos Meneses Apêndice 10 – BER em sistemas discretos 1) Num canal AWGN simulado discretamente, assumindo uma sequência de ruído branco gaussiano nXunw com potência 2w e em que nu tem média nula e variância unitária, então: 2 2/ 2/ 22 2/ 2/ 22 1lim1lim XnuX N nw N N NnN N NnN w 2wX . (A.10.1) 2) 2w é a potência total do ruído entre 2sf e 2sf . Para um sistema discreto assume-se uma frequência de amostragem normalizada 1sf Hz. 22 002 NfN sw (A.10.2) 3) O recetor ótimo discreto, com os símbolos definidos por T pontos, é representado pelo diagrama de blocos seguinte: 4) A potência do ruído 2n (figura 11.2) após a filtragem é dada por: 22 22 wc o c o eqn E NENA . (A.10.3) Apêndice 10 – BER em sistemas discretos 187 5) BER para qualquer código de linha polar: o b N EerfcBER 2 1 (11.36) PNRZ e Manchester: 2 1 2 1 TAAEE M n b 6) BER para qualquer código de linha unipolar: o b N EerfcBER 22 1 (11.41) UNRZ: 22 12 2 1 2 1 TAAEE M n b 7) BER para código de linha PAM M-ária com código Gray 0 2 1 3)1( N E M Kerfc KM MBER b (12.17) K TaMEb 22 23 1 (12.4-5-6) Nota: PNRZ é um caso particular de M-ária, com A=(a/2), M=2 e K=1. 8) BER para 2B1Q (caso particular de M-ária com K=2 e M=4) 05 2 8 3 N EerfcBER b (12.18) TaEb 2 8 5 (12.4-5-6) 188 Apêndices Carlos Meneses Apêndice 11 – Distribuição de probabilidade binomial A distribuição binomial de probabilidades é a distribuição do número de sucessos em n provas independentes, provas realizadas sempre nas mesmas condições, em que em cada prova só há 2 resultados possíveis: sucesso ou insucesso. Dada a probabilidade, p, de sucesso numa prova, a função binomial é definida por: inlni ppCpnif 1, , i=0:n (A.11.1) n iC corresponde ao número de combinações em que podem ocorrerem i sucessos em n provas e é definida por: !! ! iin nC ni (A.11.2) ip corresponde à probabilidade de i provas com sucesso e inp 1 corresponde à probabilidade das restantes n–i provas não terem sucesso. A média e a variância da distribuição binomial são dadas respetivamente por: npi (A.11.3) pnpl 12 (A.11.4) A probabilidade de não ocorrer qualquer sucesso em n provas vem: nppnf 1,0 , (A.11.5) e a probabilidade de ocorrer apenas um sucesso vem: 1111 )1()1(,1 nnn pnpppCpnf . (A.11.6) A probabilidade de acontecerem até r provas com sucesso iguala a soma das respetivas probabilidades e é dada pela função de distribuição: r l inln i r l ppCpnifpnrifrF 00 1,, . (A.11.7) Apêndice 11 – Distribuição de probabilidade binomial 189 Quando a probabilidade de sucesso da prova, p, é muito pequena, o termo 11 inp , pelo que a função de probabilidade, desde que 0i , simplifica-se para: ini pCpnif , , i=1:n. (A.11.8) Quando, para além da probabilidade do sucesso ser pequena, a média ,1np a probabilidade de i+1 provas com sucesso é muito menor que a probabilidade de i provas com sucesso: in i in i pCpC 1 1 , (A.11.9) pelo que a probabilidade de sucesso de mais do que r provas é aproximadamente igual à probabilidade de sucesso em r provas (aproximação ao primeiro termo), pelo que: rnr pCpnrifpnrif ,, . (A.11.10) Exemplo da função de probabilidade binomial Média np=0,01, probabilidade de sucesso p=0,001 e número de provas n=10. 1,E-30 1,E-28 1,E-26 1,E-24 1,E-22 1,E-20 1,E-18 1,E-16 1,E-14 1,E-12 1,E-10 1,E-08 1,E-06 1,E-04 1,E-02 1,E+00 0 1 2 3 4 5 6 7 8 9 10 Modulação de pulsos 191 Principais Equações Modulação de pulsos tm Sinal de entrada (analógico) [V] ou [A] nm Sinal de entrada (amostrado) [V] ou [A] W Máxima frequência do sinal de entrada [Hz] fs Frequência de amostragem [amostras/s] [Hz] R Número de bits de codificação por amostra [bit/amostra] [ ] Rb Débito binário [bit/s] [Hz] P Potência do sinal de entrada [W] mmax Amplitude do sinal de entrada [V] ou [A] Pn Potência normalizada do sinal de entrada R[k] Autocorrelação do sinal de entrada [W] r[k] Autocorrelação normalizada do sinal de entrada [ ] V Máximo valor de quantificação em PCM [V] ou [A] L Número de intervalos de quantificação q Intervalo de quantificação em quantificação uniforme [V] ou [A] 2 q Potência do ruído de quantificação [W] SNRdB SNR de quantificação em decibéis [dB] V1 Máximo valor de quantificação do erro de predição em DPCM [V] ou [A] Pe Potência do erro de predição [W] Gp Ganho de predição [ ] a Coeficiente de predição [ ] f’ Frequência que produz a derivada máxima [Hz] Teorema de Nyquist-Shannon Wf s 2 (3.1) Gerais sb fRR (3.7) 2 maxm PPn (3.13) P kR R kRkr 0 (A.5.4) Sinal com distribuição uniforme (com média nula) 3 2 maxmP (A.1.7) 3 1nP (A.1.8) 192 Principais Equações Carlos Meneses Sinal sinusoidal tfmtm 0max 2cos 2 2 maxmP 2 1nP k f fmkR s 0 2 max 2cos 2 (A.5.3) k f fkr s 02cos (A.5.4) PCM uniforme: Rq V L V 2 22 (3.6) 12 2 2 q q (3.8) 210 3log1002,6 V PRSNRdB (3.10) maxmV (3.11) PCM não uniforme, Lei-A/Lei-, zona logarítmica: 1002,6 RSNRdB (4.12) DPCM 2 1 10 3log1002,6 V PRSNRdB (5.4) 2 1 2 10210 log10 3log1002,6 V V V PRSNRdB (5.6) 1 102 1 2 10 log20log10 V V V V (5.7) 2 1 2 V V P PG e p (aproximação na situação ótima de 1V ) (5.9) Modulação de pulsos 193 nmSNRGp V PRGpSNR PCMdBdBdBdB 210 3log1002,6 . (5.11) 121 1log10log10 21010 araP PG e dBp (5.14) Preditor unitário: 1a : 112 1log10 10 r G dBp (5.15) Para entrada sinusoidal: sf fVV 01 sin2 (A.4.1) Preditor adaptado: 1ra (5.18) 210 11 1log10 r G dBp (5.19) DM s s f mT t tm max' max (5.24) 3 2 2 q (5.25) 11log10log20 10'10 n s dB Pf fSNR . (5.29) Para entrada sinusoidal: sf fV 0sin2 (A.4.2) ADM nb nbnn 111 10 (5.30) 194 Principais Equações Carlos Meneses Transmissão binária Tb Tempo de símbolo [s] Rb Débito binário [bit/s] [Hz] TB Largura de banda de sinal transmitido [Hz] Eficiência espetral [ ] [bit/s/Hz] A Amplitude do código de linha [V] ou [A] ts l Símbolo lógico l, l=0 ou 1 [V] ou [A] lE Energia (normalizada) do símbolo l, l=0 ou 1 [J] bE Energia (normalizada) média por bit [J] TS Potência (normalizada) transmitida [W] RS Potência (normalizada) recebida [W] tA Atenuação 2 c Potência do ruído na banda do sinal [W] No/2 Potência por Hertz do ruído no canal de comunicação [W/Hz] [J] cSNR Relação sinal-ruído no canal de comunicação na banda do sinal CB Largura de banda do canal de comunicação [Hz] pT Atraso de propagação [s] tT Atraso de transmissão [s] D Dimensão do canal [m] iv Velocidade de propagação [m/s] N Número de bits da trama ot Valor ótima de comparação na deteção binária [V] ou [A] ly Valor após filtragem sem ruído para o símbolo l, l=0 ou 1 [V] ou [A] d Metade da distância entre símbolos após filtragem [V] ou [A] BER Probabilidade de erro de bit 2 n Potência do ruído no recetor após filtragem [W] tc Vetor de base no recetor [V] ou [A] k Fator de escala no vetor de base eqA Área equivalente do ruído do filtro ótimo [Hz] Fator de rolloff b b T R 1 (8.1) T b B R (8.6) dttsE bT ll 0 2 (8.2) 2 10 EEEb (8.4) bb b b T RET ES (8.5) Transmissão binária 195 Canal de comunicação: Tc BN0 2 (9.1) 00 2 N E B R N ESSNR b T bb c R c (9.2) CT BB (9.3) R T S SAt (9.10) R T dB S SAt 10log10 (9.11) i p v DT (9.14) b t R NT (9.15) Descodificador de máxima verosimilhança: 2 10 yy ot (11.5) 2 01 yyd (11.10) 2 2 100011 22 1 2 1 n derfcxerfcppppBER . (11.9) (A.7.3) Filtro adaptado: tkstc 1 (11.15) unipolary polarkEy kEy 00 10 11 (11.19) 12 0 2 1 2 0 2 EkdttskdttcA bb TT eq (11.20) eqn A N 2 02 (11.21) 196 Principais Equações Carlos Meneses Filtro adaptado normado: 1eqA (11.22) 1 1 E k (11.23) unipolary polarEy Ey l l 0 1 11 (11.24) 2 02 N n (11.25) 0 2 2 1 N derfcBER (11.26) polar: 00 2 1 2 1 NR Serfc N EerfcBER b Rb (11.31) Códigos de linha binários Código Binário Energia média por bit bE DC Fácil Sincronismo 1º zero espetral TB Largura de Banda TB BER PNRZ bTA 2 Não(1) Não bR 12 bR 02 1 N Eerfc b PRZ bT A 2 2 Não(1) Sim bR2 1bR 02 1 N Eerfc b UNRZ bT A 2 2 (1) Sim Não bR 12 bR 022 1 N Eerfc b Manchester (Split- Phase) bTA 2 Não Sim bR2 1bR 02 1 N Eerfc b BNRZ bT A 2 2 (1) Não Não(2) Sim (BNZS) b R 1 2 bR 024 3 N Eerfc b NRZI bTA 2 Não Não Sim (stuffing) bR 12 bR 0N Eerfc b Manchester Diferencial bTA 2 Não Sim bR2 1bR 0N Eerfc b 1 – Desde que com 50% de ocorrência de bits a cada nível lógico. 2 – Sim, mas apenas nas sequências de bits ao nível lógico “1”. Transmissão M-ária 197 Transmissão M-ária K Número de bits por símbolo M Número de símbolos diferentes sR Débito de símbolos [símbolo/s] [baud] sT Tempo de símbolo [s] sE Energia média por símbolo [J] Rb Débito binário [bit/s] [Hz] Tb Tempo de símbolo [s] bE Energia (normalizada) média por bit [J] a Distância entre símbolos adjacentes [V] ou [A] minE Energia do símbolo com menor energia [J] TB Largura de banda de sinal transmitido [Hz] Eficiência espetral [ ] [bit/s/Hz] SER Probabilidade de erro de símbolo BER Probabilidade de erro de bit C Capacidade de canal [bit/s] [Hz] KM 2 (12.1) bs KTT (12.2) K RR bs (12.3) min 222 3 )1( 3 )1( 4 EMMaTE ss (12.4) sT aE 2 min 2 (12.5) K E E sb (12.6) 1 2 1 2 K RRB bsT (12.7) 198 Principais Equações Carlos Meneses 1 2K B R T b . (12.8) 0 2 0 min 1 3)1()1( N E M Kercf M M N Eercf M MSER b (12.12) Código aleatório: 2 1 SER K KBER (12.14) Código Gray: K SERBER (12.16) Código Largura de Banda TB Energia média por bit bE BER (Código Gray) 2B1Q 1 4 bR bT a 4 5 2 05 2 8 3 N Eerfc b M-PAM 1 2K Rb bT aM 12 )1( 22 0 2 1 3)1( N E M Kerfc KM M b Capacidade de canal (Lei de Hartley-Shannon) C R C c R C BN SBSBC 0 222 1log1log (12.23) Codificação para controlo de erros 199 Codificação para controlo de erros BER Probabilidade de erro de bit sem correção cR Razão do código n Dimensão em número de bits das palavras de código k Dimensão em número de bits antes da aplicação do código bR Débito binário no canal (com aplicação do código) [bit/s] [Hz] ' bR Débito binário da informação (sem aplicação do código) [bit/s] [Hz] 'BER Probabilidade de erro de bit após correção ou retransmissão eT Tempo médio entre erros de bit sem correção [s] ' eT Tempo médio entre erros de bit após correção ou retransmissão [s] rP Probabilidade de deteção de erro e retransmissão mind Distância mínima de Hamming [bit] [ ] BFER Relação de rajadas não detetadas t Número máximo de erros corrigidos b Dimensão da rajada máxima detetada (ou corrigida em interleaving) li Número de linhas em interleaving b b c R R n kR ' (13.1) Distribuição Binomial (Valores aproximados, assumindo BER<<1 e 1nBER ) lnllnlnl BERCBERBERCBERnlf 1, (13.3) lnl BERCBERnlfBERnlf ,,maisou (13.5) !! ! lln nCnl (A7.2) Gerais Número médio de erros num bloco de n bits: nBERerros (13.6) Probabilidade de bloco de n bits sem erro: nBERBERnf 1,0 (13.8) BERR T b e 1 '' ' 1 BERR T b e (13.8) Probabilidade de retransmissão (1 erro) nBERPr (13.12) 200 Principais Equações Carlos Meneses Deteção até l erros: mindl (13.17-a) Correção até t erros: 2 1min dt (13.17-b) Limite de Hamming: t j n j kn C 0 2 (13.19) Códigos de paridade e repetição Código k cR bP 'BER mind Paridade n–1 n n 1 2 2 1 BERnn 212 BERnP n b 2 Repetição de n bits 1 n 1 2 1 2 1 n n n BERC2 1 2 1 n n nb BERP C n Repetição de 3 bits 1 3 1 23BER 23BER 3 Repetição de 5 bits 1 5 1 310 BER 310 BER 5 Código de Hamming Distância mínima de 3 bits; Corrige 1 bit ou deteta até 2 bits errados; n–k n k cR bP 'BER n–k 12 kn n– (n–k) n k 2 2 1 BERnn 2 2 133 BERnP n b 2(1) 3 1 0,33 23BER 23BER 3 7 4 0,57 221BER 29BER 4 15 11 0,73 2105BER 221BER 5 31 26 0,84 2465BER 245BER 6 63 57 0,91 21953BER 293BER (1)Equivalente ao código de repetição de 3 bits CRC – Deteção de rajadas de erros BFER rajadas de dimensão inferior a (n–k+1): 0 BFER rajadas de dimensão (n–k+1): )1(2 kn (13.46) BFER rajadas de dimensão superior a (n–k+1): )(2 kn BFER valor médio: )(2 knBFER (13.47) Interleaving: litb max (13.52) Perguntas teóricas 201 Perguntas teóricas 1. (secção 5.1) Diga se são verdadeiras ou falsas, explicando porquê, as seguintes afirmações. a) Em PCM companding, tira-se partido da correlação entre amostras para aumentar a SNR; b) Em DPCM, não é importante que tipo de preditor se está a usar para se calcular a SNR. Basta ser conhecido o valor do intervalo de quantificação. 2. (secção 5.1) Compare, dizendo das vantagens e desvantagens, dos seguintes métodos de codificação de sinais de fala: PCM uniforme; PCM companding; DPCM; ADPCM. 3. (secção 5.1) Explique o mecanismo de adaptação do quantificador em ADPCM. 4. (secção 5.2) Em DM, que tipos de ruído existem? Existe algum compromisso entre eles? Que tipo de soluções conhece? 5. (secção 6) Das codificações apresentadas, em quais e porquê a potência do ruído depende do sinal de entrada? 6. (secção 6) Em codificadores de sinais, de que tipo de conceitos se tira partido para diminuir o débito binário? 7. (secção 6) Existe algum compromisso entre o débito binário, a qualidade e a complexidade? Dê exemplos. Quais as unidades de medição de cada um destes atributos? 8. (secção 8) Que atributos se devem ter em conta num código de linha? 9. (secção 8) Sabendo que na linha telefónica não podem ser transmitidas componentes DC, comente a utilização do código Manchester por exemplo comparando com um PNRZ ou um UNRZ. 10. (secção 8) Compare as técnicas para facilitar o sincronismo, 1 bit de enchimento e BNZS, respondendo nomeadamente às seguintes questões: (1) Pode utilizar BNZS com qualquer código? (2) Com bit de enchimento aumenta o débito binário? E com BNZS? 11. (secção 9) Como e que efeitos do canal de comunicação limitam a comunicação de sinais digitais? 12. (secção 10) Existe algum compromisso entre a eficiência espetral e a capacidade de sincronismo de símbolo? 202 Perguntas teóricas Carlos Meneses 13. (secção 10) Quais as vantagens e desvantagens de utilizar, para definição da largura de banda, o critério de primeiro zero espetral ou o critério de Nyquist? 14. (secção 10) Que efeito se evita com um filtro de formatação de pulsos? Como é conseguido? 15. (secção 10) Para que serve o padrão de olho? 16. (secção 11) Quais as causas que leva a haver erros de bit numa transmissão digital? Como podem ser estes erros evitados/minimizados? 17. (secção 11) Explique o objetivo e o funcionamento do filtro adaptado de receção. 18. (secção 11) Em que limites se situa a probabilidade de erro de bit? 19. (secção 11) Compare os atributos dos códigos PRZ e PNRZ. 20. (secção 11) Diga se são verdadeiras ou falsas, justificando, as seguintes afirmações: a) O aumento do débito de símbolos faz diminuir a BER; b) A medida de qualidade de um sistema de comunicação digital é a SNR; c) O filtro adaptado de receção é implementado através de um produto interno entre o sinal recebido e uma réplica (a menos de um fator de escala) do sinal transmitido. d) Um código de linha com componente DC tem sempre um pior desempenho (maior BER) que o correspondente código sem componente DC. Estude duas situações distintas: 1) mantendo a potência recebida; 2) mantendo a “distância” entre símbolos. 21. (secção 12) Quais as vantagens e desvantagens de uma transmissão binária em relação a uma transmissão M-ária? 22. (secção 13) Qual as vantagens e desvantagens da introdução de códigos de controlo de erros numa transmissão digital? 23. (secção 13) Existe algum compromisso entre a razão de um código de correção de erros e a BER após correção? 24. (secção 13) Compare as vantagens e desvantagens entre os códigos de (1 bit) de paridade e de Hamming. 25. (secção 13) Compare as vantagens e desvantagens entre os códigos de correção e de deteção de erros. Existe alguma gama de valores da BER para a qual é preferível utilizar um ou outro método? Exercícios resolvidos 203 Exercícios resolvidos 1. (secção 3.3) Produza quantificadores midtread e midrise com 8 intervalos de quantificação uniformes, para quantificar sinais até 1 V. Defina um código numérico sequencial do valor mais pequeno para o mais elevado. Resolução: i. Pela equação 3.4, o intervalo de quantificação q=2V/L=2/8=250 mV. ii. Os valores de quantificação em midtread incluem o valor 0 V, somando e subtraindo desde aí q, não ultrapassando as tensões máximas ±1 V. iii. Os valores de decisão encontram-se a meio dos valores de quantificação, com exceção dos extremos cujos valores são ±∞. iv. Os valores de decisão em midrise incluem o 0 V, somando e subtraindo desde aí q, nunca ultrapassando as tensões máximas ±1 V, com exceção dos extremos cujos valores são ±∞. v. Os valores de quantificação estão a meio dos valores de decisão. vi. Numera-se cada valor de quantificação, sequencialmente, do valor mais pequeno para o mais elevado. Quantificação midtread Quantificação midrise Código Valores de decisão Valores de quantificação Valores de decisão Valores de quantificação dec/bin ∞ ∞ 1 0,875 7 (111) 0,875 0,75 0,75 0,625 6 (110) 0,625 0,5 0,5 0,375 5 (101) 0,375 0,25 0,25 0,125 4 (100) 0,125 0 0 –0,125 3 (011) –0,125 –0,25 –0,25 –0,375 2 (010) –0,375 –0,5 –0,5 –0,625 1 (001) –0,625 –0,75 –0,75 –0,875 0 (000) –∞ –∞ 204 Exercícios resolvidos Carlos Meneses 2. (secção 3.3) Utilize o quantificador midrise e consequente codificador do exercício 1 para quantificar um sinal sinusoidal de amplitude 1 V e frequência de 1.300 Hz (sen(21300t)), amostrado com 8.000 amostras por segundo (8 kHz). Represente as 8 primeiras amostras e a respetiva sequência binária transmitida. Calcule o débito binário. Resolução: i. A amostra de ordem n corresponde a substituir no sinal t por nTs nsentsennm snTt 8000 13002)13002( ii. Para cada amostra verifica-se em que intervalo do quantificador esta recai (tabela do exercício 1) e o respetivo código. Amostra Amostragem Quantificação Codificação n m[n] mq[n] q[n] decimal binário 0 0,000 –0,125 0,125 3 011 1 0,853 0,875 –0,022 7 111 2 0,891 0,875 0,016 7 111 3 0,078 0,125 –0,047 4 100 4 –0,809 –0,875 0,066 0 000 5 –0,924 –0,875 –0,049 0 000 6 –0,156 –0,125 –0,031 3 011 7 0,760 0,875 –0,115 7 111 iii. A sequência binária a ser transmitida corresponde à concatenação por ordem temporal dos códigos em binário: 011 111 111 100 000 000 011 111 iv. Note-se que para os cálculos do transmissor apenas é necessário conhecer os valores de decisão e respetiva codificação, não sendo necessário conhecer os valores de quantificação. No recetor apenas é necessário conhecer os valores de decisão e respetiva codificação, não sendo necessário conhecer os valores de quantificação. v. O Débito binário é de (equação 3.7) Rb = fsxR = 8.000x3 = 24 kbit/s. Exercícios resolvidos 205 3. (secção 3) Suponha um sinal sinusoidal com amplitude 1 V, amostrado a 8.000 amostras/s e com um débito bináriode 24 kbit/s. a) Calcule a potência do sinal, bem como a sua variância; b) Determine a SNRq de um codificador PCM uniforme com este sinal; Resolução: i. a) A potência de um sinal sinusoidal é dada por 5,0 2 2 max m P W. Este valor corresponde à variância pois a média é 0 V. ii. b) Pelo teorema da amostragem a frequência mínima de amostragem (produz o débito binário mínimo) é o ritmo de Nyquist 2W=8 kHz. iii. O número de bits por amostra, dado pela equação 3.7, são 24/8=3 bits/amostra, a que correspondem 8 valores de quantificação. iv. Pela equação 3.4, o intervalo de quantificação q=2/8=250 mV. vi. Utilizando a equação 3.8 a potência do ruído de quantificação vem: 0052,0 12 2 2 qq W, pelo que a 82,19log10 210 q dB PSNR dB. vii. O mesmo valor pode ser obtido através da equação 3.10: 82,19 1 5,03log10302,63log1002,6 210210 V PRSNRdB dB. 206 Exercícios resolvidos Carlos Meneses 4. (secção 3) Um CD de áudio contém sinais em estéreo amostrados a 44,1 kHz e codificados em PCM uniforme com 16 bits por amostra. a) Quantos minutos de música podem ser gravados num CD de 700 Mbyte? b) Qual a banda máxima dos sinais contidos no CD? c) Suponha um sinal com uma distribuição de amplitudes uniforme entre –1 e +1 V. Calcule a potência do sinal, bem como a sua variância; d) Determine a SNRq com este sinal; e) Determine a SNRq com um sinal de potência normalizada de –45 dB; Resolução: i. a) O débito binário total em estéreo é de 2x16x44,1=1,4112 Mbit/s. ii. Um CD com capacidade de 700 Mbyte (valor aproximado) poderá gravar até 8x700/1,4112 = 3968 segundos ou aproximadamente 66 minutos. iii. b) A banda máxima, pelo teorema de Nyquist-Shannon, é de metade da frequência de amostragem, ou seja, 22,05 kHz. iv. c) A distribuição de amplitudes do sinal de entrada uniforme entre –1 e +1 V, vale 0 fora do intervalo e ½ no intervalo para que a sua área seja 1. v. Sendo a função densidade de probabilidade simétrica à volta do valor 0 é óbvio que a média do sinal é 0, pelo que a potência é igual à variância. A média também pode ser calculada como 0 2 1 2 1 1 1 2 mmdmmfm m . vi. e a variância (potência), 3 111 6 1 3 1 2 1 1 1 322 mdmmmfP mm W. vii. A equação genérica da potência de um sinal com distribuição uniforme e amplitude mmax é dada por m2max/3. viii. d) A qualidade dos sinais CD áudio é de (equação 3.10). 3,96 3 1 1 3log101602,63log1002,6 210210 V PRSNRdB dB. ix. e) 1,56453log103,96log103log1002,6 101010 ndB PRSNR dB, mantendo elevada qualidade para uma larga gama de potência, embora à custa do elevado débito binário; Exercícios resolvidos 207 5. (secção 4.2) Produza um quantificador companding Lei-A (A=87,56) com 8 intervalos de quantificação. Resolução: i. Gera-se um quantificador uniforme midrise (exercício 1). ii. Gera-se o quantificador companding utilizando os valores do quantificador uniforme como entrada da não linearidade inversa da equação 4.9 (Lei-A). Quantificação uniforme Companding Lei-A Valores de decisão Valores de quantificação Valores de decisão Valores de quantificação ∞ 0,875 0,505 0,75 0,255 0,625 0,128 0,5 0,065 0,375 0,033 0,25 0,017 0,125 0,008 0 0 0,505 0,875 0,255 0,75 0,128 0,625 0,065 0,5 0,033 0,375 0,017 0,25 0,008 0,125 0 00 0,25 0,5 0,75 1 0,000 0,250 0,500 0,750 1,000 208 Exercícios resolvidos Carlos Meneses 6. (secção 3.2) Suponha um sinal com uma distribuição de amplitudes uniforme entre –1 e +1 V. A largura de banda do sinal é de 4 kHz e pretende-se um débito binário máximo de 48 kbit/s. a) Calcule a potência do sinal; b) Determine a SNRq de um codificador PCM uniforme com este sinal; c) Suponha agora que utiliza um codificador PCM com companding usando Lei-A, sendo A=87,56. Calcule as percentagens de tempo em que o sinal está na zona linear e na zona logarítmica; d) Calcule a SNRq na situação correspondente à alínea anterior e compare com o resultado obtido com PCM uniforme. e) Qual a SNRq com quantificador ótimo para este sinal? Resolução: i. a) A equação genérica da potência de um sinal com distribuição uniforme e amplitude mmax é dada por m2max/3, pelo que a potência é 1/3 W. ii. b) Pelo teorema da amostragem a frequência mínima de amostragem (produz o débito binário mínimo) é o ritmo de Nyquist 2W=8 kHz. iii. O número de bits por amostra, dado pela equação 3.7, são 48/8=6 bits/amostra. iv. A SNRq em PCM uniforme é dada pela equação 3.12 12,36 3 1 1 3log10602,63log1002,6 210210 V PRSNRdB dB. v. c) A percentagem de tempo que o sinal se encontra na zona linear, A m 1 , corresponde à área da função densidade de probabilidade nesta condição, ou seja, à área do retângulo de lados 1/2 e 2/A. Esta área vale 1/A. Como A=87,56, a percentagem de tempo é de 1,14%. Exercícios resolvidos 209 vi. A percentagem de tempo na zona logarítmica é a restante, ou seja, 100–1,14=98,86%. vii. O sinal está praticamente sempre na zona logarítmica, pelo que a aproximação correspondente à equação 4.12 é válida. viii. d) A SNRq é de 12,2610602,61002,6 RSNRdB dB. ix. Este valor é menor que o obtido através de um PCM uniforme porque a potência normalizada do sinal de entrada é bastante grande (–4,77 dB). Como se verifica pela figura 3.7 a SNRq em PCM uniforme é melhor que em companding quando a potência normalizada está acima dos –14,77 dB. x. e) O quantificador ótimo para um sinal com distribuição uniforme é de facto um quantificador uniforme. 36,12 dB é assim a melhor SNRq em PCM. 210 Exercícios resolvidos Carlos Meneses 7. (secção 4.3) Suponha três quantificadores, cada um com 4 valores de quantificação, cujos valores de quantificação são apresentados em cada linha da tabela seguinte. A última linha corresponde ao código binário de codificação de cada valor de quantificação. Valores de quantificação Quantificador 1 –0,8536 –0,2945 0,2983 0,8529 Quantificador 2 –0,7485 –0,2463 0,2535 0,7525 Quantificador 3 –0,3057 –0,0910 0,0948 0,3061 Código 00 01 10 11 Estes quantificadores são resultado do algoritmo de quantificação ótima Max-Lloyd, tendo como entrada as três funções densidade de probabilidade ilustradas na figura seguinte, referenciadas por a, b, e c. a) Identifique qual das funções densidade de probabilidade (a, b, c) corresponde a cada um dos quantificadores (1, 2, 3). Explique. b) Para o quantificador 1, calcule os valores de decisão. c) Suponha amostras consecutivas com valores 0,5 –0,1 e 2. Qual a sequência binária transmitida supondo o quantificador 1? d) Descodifique qual os valores representados pela sequência 110100. -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.005 0.01 0.015 - Distribuiçao a - -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1 2 3 4 5 6 x 10 -3 - Distribuiçao b - -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.01 0.02 0.03 0.04 0.05 - Distribuiçao c - Exercícios resolvidos 211 Resolução: i. a) As 3 funções densidade de probabilidade distinguem-se por a (a) estar mais concentrada na origem, a (b) ser praticamente uniforme, e a (c) estar mais concentrada nos valores maiores em módulo. Assim, a função (a) corresponde ao quantificador com valores menores, o quantificador (3). A função (c) ao quantificador com valores maiores, o (1). À função (b) corresponde o quantificador que falta atribuir, o quantificador (2), mas esta é de facto aquele que se aproxima de um quantificador uniforme. ii. b) Os valores de decisão estão a meio dos valores de quantificação (equação 3.2). Assim: Valores de quantificação –0,8536 –0,2945 0,2983 0,8529 Valores de decisão –0,5741 0,0019 0,5756Código 00 01 10 11 iii. c) Para cada amostra verifica-se em que intervalo do quantificador esta recai (quantificação) e o respetivo código (codificação). 0,5 recai no intervalo [0,0019 : 0,5756] a que corresponde o código 10; –0,1 recai no intervalo [–0,5741 : 0,0019] a que corresponde o código 01; 2 recai no intervalo [0,5756 : ∞] a que corresponde o código 11. As distribuições têm o valor máximo de 1, pelo que o quantificador está saturado; iv. A sequência binária a ser transmitida corresponde à concatenação por ordem temporal dos códigos em binário: 100111. v. d) Divide-se a sequência em conjuntos de R=2 bits “11” “01” “00”, correspondendo cada para ao código de cada amostra (3 amostras). vi. (Descodificação) Verifica-se para cada código o valor de quantificação, “11” corresponde ao valor de quantificação 0,8529 “01” corresponde ao valor de quantificação –0,2945 “00” corresponde ao valor de quantificação –0,8536 212 Exercícios resolvidos Carlos Meneses 8. (secção 5.1) Suponha um sinal sinusoidal de amplitude 1 V e frequência 500 Hz, amostrado a 8.000 Hz e codificado em DPCM unitário. O valor máximo do quantificador midrise é de 0,4 V. O número de bits de codificação por amostra é de 2. O valor de predição inicial é 0 V. Qual a sequência binária a ser transmitida para as 8 primeiras amostras? Resolução: i. Segue-se a metodologia do problema 1 para projetar o quantificador: Valores de decisão Valores de quantificação dec/bin ∞ 0,3 3 (11) 0,2 0,1 2 (10) 0 –0,1 1 (01) –0,2 –0,3 0 (00) –∞ ii. As 8 primeiras amostras correspondem a substituir n por 0 até 7 na expressão nsintsinnm snTt 8000 5002)5002( iii. Assume-se um valor predito inicial de 0 V. iv. Calcula-se o erro de predição como a diferença entre a amostra de entrada e a sua predição. v. Quantifica-se este valor com o quantificador calculado em i). vi. Calcula-se a amostra quantificada como a soma do valor predito com o erro de predição quantificado. vii. Este valor corresponde ao valor predito da próxima amostra. viii. Repete-se iv) a vii) até à última amostra (Figura 4.2 a)). n m[n] mp[n] e[n] eq[n] mq[n] Código Ruído 0 0,00 0 0,00 0,1 0,1 10 –0,1 1 0,38 0,1 0,28 0,3 0,4 11 –0,02 2 0,71 0,4 0,31 0,3 0,7 11 0,01 3 0,92 0,7 0,22 0,3 1 11 –0,08 4 1,00 1 0,00 0,1 1,1 10 –0,1 5 0,92 1,1 –0,18 –0,1 1 01 –0,08 6 0,71 1 –0,29 –0,3 0,7 00 0,01 7 0,38 0,7 –0,32 –0,3 0,4 00 –0,02 Exercícios resolvidos 213 9. (secção 5.1) Suponha um sinal com função de autocorrelação dada por: kkR 0833,02cos5,4 a) Que tipo de sinal se trata. Qual a sua potência e amplitude? b) Qual a relação entre a frequência deste sinal e a frequência de amostragem? c) Qual a relação sinal-ruído obtida por um codificador PCM uniforme que opere com 10 bits por amostra? d) Qual a autocorrelação normalizada de 1ª ordem? e) Calcule o ganho de predição utilizando um codificador DPCM com preditor adaptado; f) Calcule o valor máximo de quantificação do erro de predição, de tal modo que não haja saturação de declive mas se maximize a relação sinal-ruído; g) Qual a relação sinal-ruído? h) Assumindo que a frequência de amostragem é de 10 kHz, qual o débito binário? i) Se codificar com mais 1 bit/amostra qual a nova SNRq e débito binário? j) Se voltar a utilizar 10 bit/amostra e duplicar a frequência de amostragem, qual a nova SNRq e débito binário? k) Compare os resultados obtidos em i) e j). Resolução: i. a) Segundo o Apêndice 3, esta função de autocorrelação corresponde à de um sinal sinusoidal. ii. Sendo kk f fPk f fmkR s m s m 0833,02cos5,42cos2cos 2 2 max , então tem-se que 5,40 RP W e 3max m V. iii. b) Por analogia das fórmulas a relação entre a frequência do sinal e a frequência de amostragem é 0833,0 s m f f . iv. c) A SNRq em PCM uniforme vem, com 3max mV V, valor que evita a saturação de amplitude e maximiza a SNRq, 214 Exercícios resolvidos Carlos Meneses 96,613log1002,6 210 V PRSNRdB dB. v. d) A autocorrelação de 1ª ordem vem 898,30833,02cos5,41 R W. A autocorrelação normalizada de 1ª ordem vem 867,0 5,4 898,311 P Rr . vi. e) O ganho de predição, com preditor adaptado, vem: 4 11 1 2 r Gp (linear) e 02,611 1log10 210 r G dBp dB vii. f) O valor máximo de quantificação do erro de predição, de tal modo que não haja saturação de declive mas se maximize a relação sinal-ruído, vem, 5,1 2 1 pG VV V. viii. g) A SNRq vem, 98,67 nmSNRGpSNR PCMdBdBdB dB. ou 98,673log1002,6 2 1 10 V PRSNRdB dB. ix. h) O débito binário vem, 1001000010 sb RfR kbit/s x.i) 1101000011 sb RfR kbit/s. Melhoria de 6,02 dB na qualidade, para 74 dB. xi. j) Se a frequência duplicar, kkR 2 0833,02cos5,4 W, e kkr 0833,0cos 966,00833,0cos1 r , e 74,11dBpG dB 7,73 nmSNRGpSNR PCMdBdBdB dB. 2002010 kRfR sb kbit/s xii. j) Aumentar apenas 1 bit de codificação por amostra torna-se mais eficiente, pois tem melhor qualidade e melhor débito binário. Sempre que possível deve ser utilizado o ritmo de Nyquist 2W e melhorar a qualidade através do número de bits de codificação por amostra. Exercícios resolvidos 215 10. (secção 5) Suponha-se um sinal sinusoidal de amplitude 1 V e frequência 320 Hz, amostrado a 8.000 Hz. Calcule a SNRq para os diversos codificadores apresentados. Tome como referência 8 bits por amostra. Resolução: i. Como a amplitude da sinusoide é de 1 V a sua potência é de 0,5 W, que coincide com o seu valor normalizado. ii. Um codificador PCM uniforme com 8 bits por amostra (64 kbit/s) produz uma SNRq de 49,9 dB (equação 3.12). iii. Um codificador PCM companding, com A=87,56, produz uma SNRq de 38,2 dB (equação 4.12). iv. A função de autocorrelação de um sinal sinusoidal é uma função cosseno com a mesma frequência (Apêndice 3), r[k]=cos(2320kTs). r[1]=0,968, pelo que o ganho de predição de um codificador DPCM com adaptação do preditor vem Gp=16,17 (linear) ou Gp =12,1 dB (equação 4.19). v. Note-se que para uma autocorrelação normalizada tão elevada praticamente não existe diferença de um preditor adaptado para um preditor unitário, que produz 12,0 dB de Gp (equação 4.15). vi. Um codificador DPCM com 8 bits por amostra produz 62 dB de SNRq (equação 4.11, SNRq em PCM uniforme + Gp). vii. O valor máximo de quantificação é de 0,248 V (equação 4.10) viii. Para manter a mesma SNRq que em PCM uniforme são necessários apenas 6 bits de codificação por amostra (48 kbit/s), que correspondem à perda de 2x6 dB correspondentes ao ganho de predição. ix. Se a frequência da onda sinusoidal subisse para 640 Hz a autocorrelação desceria para r[1]=0,876 e Gp =6,3 dB, pelo que a melhoria em relação ao codificador PCM seria equivalente a apenas 1 bit por amostra (56,2 dB). x. A mesma SNRq em DPCM com preditor adaptado e PCM dá-se para a frequência fs/4=2.000 Hz (equação 4.19, a=r[1]=0). Acima desta frequência o codificador DPCM tem novamente melhor desempenho. 216 Exercícios resolvidos Carlos Meneses xi. Com preditor adaptado a SNRq é sempre superior à do PCM. Para a=r[1]=0 o codificador DPCM degenera num codificador PCM. xii. A SNRq em PCM não varia com a variação da frequência do sinal. xiii. Relembre-se o ponto ix), em DPCM, da perda de 6 dB de SNRq quando se aumentou a frequência do sinal de entrada de 320 Hz para 640 Hz. Estes 6 dB poderiam ser recuperados aumentando a fs de 1 oitava, para os 16 kHz, pois novamente r[1]=0,968 (ver ponto iv)). xiv. A somar a estes 6 dB, estariam mais 3 dB devido à filtragem, num total de 65 dB. Contudo o débito binário total é de 16.000x8=128 kbit/s. xv. Obtêm-se melhoresresultados mantendo a frequência de amostragem a 8 kHz e aumentando em 2 o número de bits de codificação por amostra para 8+2=10, ganhando 12 dB e não 9 dB, para um total de 68,3 dB. xvi. O débito binário é de apenas 80 kbit/s. xvii. A derivada máxima do sinal, V2W=2010 V/s. xviii. Num codificador DM o valor mínimo de é 251 mV (equação 4.24), o que conjuntamente com a equação 4.25 produz uma potência de ruído de quantificação de 21 mW. Como a amplitude da sinusoide é de 1 V a sua potência é de 0,5 W e a SNRq corresponde a 13,76 dB (equação 4.26). xix. A SNRq é mais baixa mas o débito binário também é de apenas 8 kbit/s. Exercícios resolvidos 217 11. (secção 5.2) Num codificador ADM o algoritmo de adaptação do passo de quantificação é dado por: nb nbnn 15,011 . As amostras do sinal de entrada são: n 0 1 2 3 4 5 6 7 8 9 10 m[n] 1 2 3 3 3 3 2 1 0 –1 –2 No instante n = –1 o valor do sinal quantificado mq[n] = 0, o valor do passo de quantificação [n] = 0,5 V, e o nível lógico do bit de codificação é “1”. Calcule o sinal quantificado mq[n]. Resolução: Tendo em atenção o esquema de blocos do codificador DM, e as respetivas inicializações para n = –1, então: n m[n] mp[n] e[n] [n] b[n] eq[n] mq[n] –1 0,5 1 0 0 1 0 1 0,75 1 0,75 0,75 1 2 0,75 1,25 1,125 1 1,125 1,875 2 3 1,875 1,125 1,6875 1 1,6875 3,5625 3 3 3,5625 –0,5625 0,84375 –1 –0,84375 2,71875 4 3 2,71875 0,28125 0,421875 1 0,421875 3,140625 5 3 3,140625 –0,14063 0,210938 –1 –0,21094 2,929688 6 2 2,929688 –0,92969 0,316406 –1 –0,31641 2,613281 7 1 2,613281 –1,61328 0,474609 –1 –0,47461 2,138672 8 0 2,138672 –2,13867 0,711914 –1 –0,71191 1,426758 9 –1 1,426758 –2,42676 1,067871 –1 –1,06787 0,358887 10 –2 0,358887 –2,35889 1,601807 –1 –1,60181 –1,24292 218 Exercícios resolvidos Carlos Meneses 12. (secção 9) Considere um sinal com débito binário de 10 kbit/s, transmitido em PNRZ com amplitude 4 V. a) Calcule a energia por bit à saída do transmissor; b) Calcule a potência do sinal transmitido; c) Qual o tempo que leva a serem transmitidos 10 milhões de bits? Resolução: viii. a) A energia por bit em PNRZ é dada pela equação 8.8, pelo que 10000422 bb TAE 1,6 mJ. ix. b) A potência do sinal transmitido é obtida da equação 8.5, 162 ATES bbT W. x. c) Se kbit/s 10bR , 10 Mbit demoram: 1000 1010 101010101010 3 66 6 b bt R TT s 16,7 minutos. Exercícios resolvidos 219 13. (secção 8) Considere um sinal com débito binário de 10 kbit/s, transmitido em PNRZ com potência 16 W, num canal com dimensão 2 km, atenuação de 3,01 dB/km (ver exercício 12) e atraso de propagação de 5 s/km. a) Calcule a potência do sinal recebido; b) Calcule a energia por bit à entrada do recetor; c) Calcule a amplitude do código à entrada do recetor. d) Calcule o atraso de propagação. e) Qual o atraso de transmissão de um pacote com 2.000 bits? Resolução: i. a) A atenuação em 2 km é (equação 3.3) de 02,6201,3/ kmdBAt dB. Em relação linear a atenuação é obtida da equação 3.1, 410 10/6 R T S SAt . ii. Sendo a potência transmitida de 16 W (exercício 1) a potência recebida resulta, RS =16/4=4 W. iii. b) A energia recebida por bit corresponde a: 100004bRb TSE 400 J. iv. Alternativamente pode-se afetar a energia transmitida (exercício 1) da atenuação, pelo que, 4004106,1 3 bE J. v. c) A amplitude do sinal recebido é de: 2 RSA V. vi. d) O atraso de propagação em 2 km vem: 66 1010105 LTp s. vii. e) O atraso de transmissão vem: 2,0 10000 2000 b t R NT s, sendo neste caso o atraso de transmissão dominante. 220 Exercícios resolvidos Carlos Meneses 14. (secção 10) Considere um sinal com débito binário de 10 kbit/s, transmitido em PNRZ (ver exercícios 12 e 13). a) Calcule a largura de banda utilizando o critério de primeiro zero espetral; b) Calcule o valor mínimo e máximo da largura de banda utilizando o critério de Nyquist (com filtro de formatação de pulsos); c) Qual a eficiência espetral? Resolução: i. a) Pela figura 10.1, o primeiro zero espetral dá-se, para o código PNRZ, em bR =10 kHz, pelo que é este o valor de TB . ii. b) A largura de banda é definida pela equação 4.4, com =0 para o valor mínimo e =1 para o valor máximo: iii. 1 máximovalor Hz 10000 0 mínimovalor Hz 5000 1 2 100001 2 bT R B . iv. c) A eficiência espetral, para o critério do primeiro zero espetral vem, pela equação 8.6: 1 Tb BR bit/s/Hz (não tem unidades). v. Com filtro de formatação de pulsos, 1 máximovalor 1 0 mínimovalor 2 Tb BR . vi. Note-se que a largura de banda e consequentemente a eficiência espetral são idênticas para os critérios do primeiro zero espetral e critério de Nyquist com =1. Exercícios resolvidos 221 15. (secção 11) Considere um sinal com débito binário de 10 kbit/s, codificado em PNRZ e recebido com amplitude 2 V, num canal AWGN com densidade espetral de potência de 10 W/Hz. Assuma para a definição da largura de banda o critério do 1º zero espetral. Considere que no recetor o sinal é filtrado com um filtro passa-baixo de ganho unitário (figura 11.3) para cancelar o ruído fora da banda do sinal (ver exercícios 12, 13 e 14). a) Qual a largura de banda do filtro? b) Calcule a potência do ruído após o filtro. c) Qual a relação sinal-ruído no canal de comunicação? d) A seguir ao filtro coloca um comparador (figura 5.3) para detetar qual o bit transmitido. Qual o valor ótimo de ? e) Qual a BER deste sistema? Resolução: i. a) A largura de banda do filtro é o da largura de banda do sinal. Com o critério de primeiro zero espetral, bT RB =10 kHz (exercício 14). ii. b) A potência do ruído após este filtro vem, (equação 9.1) 2,00 22 Tcn BN W. iii. c) A SNRq no canal, relação entre a potência do sinal recebido e a potência do ruído na banda do sinal, vem (equação 9.2), 2cRc SSNR . 42 AS R W, pelo que 202,04 cSNR ou 13 dB. Através de 0NESNR bc chega-se ao mesmo resultado. iv. d) O valor ótimo de vem, pela equação 5.5, equidistante dos valores correspondentes aos símbolos lógicos sem ruído, 2 A V, correspondendo, como em qualquer código polar, 0opt V. v. e) Tendo em conta a figura 5.2, utilizando a equação 5.9 com o valor de d determinado pela equação 5.10, d=2 V, a BER vem: 610416,3 2 1 2,02 4 2 1 erfcerfcBER (Apêndice 8). 222 Exercícios resolvidos Carlos Meneses 16. (secção 11) Considere uma transmissão binária em PNRZ com um débito binário de 10 kbit/s, em que o sinal recebido tem uma amplitude de 2 V. O sinal é corrompido com ruído branco, gaussiano e aditivo, com densidade espetral de potência de 10 W/Hz (ver exercícios 1, 2, 3, 4). a) Desenhe o recetor ótimo normado; b) Calcule as tensões sem ruído, à saída do filtro adaptado, no instante de amostragem; c) Calcule a potência do ruído à saída do filtro adaptado, no instante de amostragem; d) Calcule a probabilidade de erro de bit através da equação geral 5.9; e) Calcule a relação 0NEb ; f) Calcule a probabilidade de erro de bit pela equação 5.36. Exercícios resolvidos 223 Resolução: i. a) O recetor ótimo binário corresponde à figura 11.5 (filtro adaptado e deteção MAP, equivalente a MV desde que p0=p1). ii. 0opt V (equação 11.5, polar, y0=y1) iii. Pela equação 11.15, tkstc 1 (adaptado ao símbolo “1”), que é um sinal constante (PNRZ) com amplitude bRtc =100 V, de modo a que 1eqA Hz (filtro normado, equação 11.27). iv. b) Sendo um código polar as tensões sem ruído à saída do filtro adaptado normado, no momento de amostragem, são dadas por (equação 11.24): 201 bb TAEy mV e 200 bEy mV. v. c) A potência do ruídoà saída do filtro adaptado é definida pela equação 11.21: eqn A N 2 02 . vi. Com o recetor normado, 1eqA Hz, 10 2 02 N n W. vii. d) É válida a figura 11.2, com 201 optyd mV e, pela equação geral 5.9: 106 23 2 2 103,147,4 2 1 1020 1020 2 1 22 1 erfcerfcderfcBER n . viii. e) A relação sinal-ruído, 0NEb , vem: 20 1020 10400 6 6 0 N Eb ou 13 dB. ix. Este valor é igual à cSNR pois =1. x. f) Através da equação 11.36, a BER vem: 10 0 103,147,4 2 1 2 1 erfc N EerfcBER b 224 Exercícios resolvidos Carlos Meneses 17. (secção 11) Considere uma transmissão binária em PNRZ com um débito binário de 10 kbit/s, em que o sinal recebido tem uma amplitude de 2 V. O sinal é corrompido com ruído branco, gaussiano e aditivo, com densidade espetral de potência de 10 W/Hz (ver exercícios 1, 2, 3, 4, 5). a) Calcule as tensões sem ruído, à saída do filtro adaptado, no instante de amostragem, assumindo que a amplitude do sinal com que se está a fazer o produto interno é de 10 V; b) Calcule a potência do ruído à saída do filtro adaptado; c) Calcule a probabilidade de erro de bit através da equação geral 5.9; d) Compare com os resultados obtidos no exercício anterior. Resolução: xi. a) Com 10tc V, 220210)( 00 11 b TT Tdtdttstcy bb mV, e, por ser um código polar, 20 y mV. xii. b) A área equivalente do ruído vem 01,0102 beq TA Hz, pelo que a potência do ruído vem: 7602 1001,01010 2 eqn A N W. xiii. c) É ainda válida a figura 5.2, com 21 optyd mV e, pela equação geral 5.9: 107 23 2 2 103,147,4 2 1 102 102 2 1 22 1 erfcerfcderfcBER n . xiv. d) A BER calculada das três maneiras é sempre a mesma, sendo nomeadamente independente da amplitude do vetor de base com que se efetua o produto interno. Exercícios resolvidos 225 18. (secção 11) Considere uma transmissão binária com código NRZI. A amplitude do sinal recebido é de 3 V. O canal de comunicação é AWGN com densidade espetral de potência do ruído de 10-6 W/Hz, uma atenuação de 6,02 dB/km e mede 3 km. Pretende-se uma probabilidade de erro de bit de 2,2x10-5. a) Calcule a energia por bit. b) Calcule o débito binário. c) Suponha o critério do primeiro zero espetral. Qual a relação sinal-ruído no canal de comunicação? d) Qual a potência do sinal transmitido? e) Qual a amplitude do sinal transmitido? f) Qual a energia média por bit à saída do transmissor? Resolução: i. a) Para o código NRZI, 3102,2 0 5 0 N E N EerfcBER bb , ii. pelo que 1810299 60 NEb J. iii. b) 500 1018 3 6 22 b b E AR kbit/s. iv. c) Com o critério do 1º zero espetral 500 bT RB kHz. v. Pela equação 9.2 9 10500102 3 36 2 0 T R c BN SSNR (9,54 dB). vi. d) 6,02 dB de atenuação/km correspondem em relação linear a 4 atenuação/km. Em 3 quilómetros a atenuação é de 6443 . vii. A potência recebida vem 92 AS R W. viii. Pela equação 3.1, 57664 RT SS W. ix. e) A amplitude no transmissor vem, 24 TSA V x. f) A energia no transmissor vem, 15,1 500000 576 bTb TSE mJ. 226 Exercícios resolvidos Carlos Meneses 19. (secção 12) Uma transmissão digital num canal AWGN passa-baixo de largura de banda 1,5 MHz e densidade espetral de potência do ruído de 10-9 W/Hz. O débito binário é de 10 Mbit/s e pretende-se uma probabilidade de erro de bit máxima de 13104 . a) Qual o número mínimo de bits por símbolo? b) Qual o valor máximo do fator de rolloff? c) Calcule o débito de símbolos; d) Qual a energia mínima por bit do sinal recebido? e) Qual a energia mínima por símbolo? f) Qual a tensão mínima entre símbolos adjacentes? g) Se o método de disposição de bits por símbolo não seguisse um código Gray mas fosse aleatório, qual o aumento da probabilidade de erro de bit? h) Qual a capacidade do canal, assumindo a mesma relação sinal–ruído? Resolução: i. a) Uma vez que o canal é passa-baixo e assumindo mais do que 1 bit por símbolo, a transmissão tem de ser M-ária. ii. O número de bits por símbolo vem (equação 6.7 com =0): 3,3 105,12 1010 2 6 6 c b B R K bit/símbolo e sendo o número de bits por símbolo um número inteiro, vira o valor mínimo de K=4 bits por símbolo. iii. b) O fator de rolloff máximo é calculado de modo a não ser ultrapassada a largura de banda cB do canal de comunicação: 2,01 1010 105,14212 6 6 b c R KB iv. c) O débito de símbolos vem: 6 6 105,2 4 1010 K R R bs símbolos/s (baud). v. d) A energia por bit do sinal recebido é calculada de: Exercícios resolvidos 227 0 2 1 3)1( N E M Kercf KM MBER b 13 00 104047059,0 2 146875,0 255 12 2 1 32 15 N Eerfc N Eerfc bb 13 0 1053,8047059,0 2 1 N Eerfc b 5047059,0 0 N Eb 25047059,0 0 N Eb 531 0 N Eb (27,25 dB) 1bE ,063 J. vi. e) Da equação 6.6, a energia por símbolo corresponde a: 25,4 bs KEE J vii. f) Da equação 6.4: ss T MaE 3 1 4 22 e 7,01 12 2 M REa ss V. viii. g) Comparando as equações 6.14 e 6.16, o aumento da probabilidade de erro de bit vem: 5,2 2 1 K ix. ou seja, 1213 101045,2 BER . x. h) Pela equação 6.23, 68,171log1log 0 222 c bb c c R c BN REBSBC Mbit/s. xi. Arredondado para baixo pois é o máximo débito binário neste canal. 228 Exercícios resolvidos Carlos Meneses 20. (secção 13) Considere uma transmissão digital binária polar, com um débito binário de 10 kbit/s (no canal de comunicação, com ou sem código de correção de erros) com uma relação 90 NEb . Calcule o tempo médio entre erros de bit nas seguintes condições: a) Sem código de correção ou deteção; b) Com código de repetição de 3 bits; c) Com código de repetição de 5 bits; d) Com código de Hamming H(7,4); e) Compare os resultados anteriores. Resolução: i. A BER desta transmissão (polar) é determinada por: 5 0 109 2 1 2 1 erfc N EcerfBER b ii. a) Sem códigos de correção de erros, o tempo médio entre erros (equação 13.8) vem: 10 1010 11 54 BERR T b e s iii. b) Para um código (de correção) de repetição de 3 bits, a probabilidade de erro de bit (equação 13.21) após correção vem: 1023 2 2 1 2 1 ' 103 BERBERBER CC n n n . iv. A razão do código e o débito binário dos bits da informação virão: 33,0 3 1 n kRc 33,3103 1 4' n kR R bb kbit/s. v. O tempo entre erros vem (equação 13.8): 6 103'' ' 10 1031033,3 11 BERR T b e s (11,6 dias). vi. c) Para um código de correção de repetição de 5 bits, a probabilidade de erro de bit após correção vem: 1535 3 2 1 2 1 ' 1010 BERBERBER CC n n n Exercícios resolvidos 229 vii. A razão do código e o débito binário dos bits da informação virão: 2,0 5 1 n kRc 2105 1 4' n kR R bb kbit/s. viii. O tempo entre erros vem: 10 143'' ' 105 10102 11 BERR T b e s (15,855 séculos). ix. d) Para um código de Hamming H(7,4), a probabilidade de erro de bit após correção vem: 102' 1099 BERBER x. A razão do código (equação 13.1) e o débito binário dos bits de informação (equação 13.1) virão: 57,0 7 4 n kRc 34' 1071,510 7 4 n kRR bb bit/s, xi. e o tempo entre erros após correção vem: 5 103'' ' 1094,1 1091071,5 11 BERR T b e s (54 horas) xii. e) A diminuição da razão do código, devido ao aumento do número de bits de paridade introduzidos, faz diminuir o número de erros e portanto aumenta o tempomédio entre erros. No entanto o débito binário dos bits da informação também diminui, sendo necessário mais tempo para transmitir a mesma informação. Razão do código Débito dos bits da informação [kbit/s] BER’ Te [s] Sem código 1 10 510 10 H(7,4) 0,57 5,71 10109 51094,1 R3 0,33 3,33 10103 610 R5 0,2 2 151010 10105 Tabela síntese dos resultados. 230 Exercícios resolvidos Carlos Meneses 21. (secção 13) Considere uma transmissão digital binária polar, com um débito binário de 10 kbit/s e uma relação 90 NEb . Calcule o tempo médio entre erros de bit nas seguintes condições: a) Sem código de correção ou deteção; b) Com código de Hamming H(7,4) mas mantendo o débito binário dos bits de informação; c) Compare o resultado anterior com o resultado obtido mantendo o débito binário no canal (problema anterior); d) Qual a variação de amplitude do sinal que deve produzir de modo a que o tempo médio entre erros mantendo o débito binário dos bits de informação seja o mesmo que mantendo o débito binário no canal (problema anterior). Resolução: i. a) A BER desta transmissão é dada por: 5 0 109 2 1 2 1 ercf N EcerfBER b ii. Sem códigos de correção ou deteção o tempo médio entre erros (equação 13.8) vem: 10 1010 11 54 BERR T b e s iii. b) A razão do código, cR , e débito binário no canal, virão: 57,0 7 4 n kRc 5,174 107 4' k nR R bb kbit/s iv. A variação do débito binário muda o tempo de bit, que vem agora (equação 13.2) ' 7 4 bb TT , o que muda da mesma proporção a energia de bit. A nova relação sinal-ruído vem 14,5)( 7 4 anterior N E N E o b o b e a nova BER vem: 5106714,5 2 1 cerfBER Exercícios resolvidos 231 v. Para um código H(7,4), a probabilidade de erro de bit após correção vem: 6252' 104106799 BERBER vi. E o tempo entre erros de bit após correção vem: 25 10410 11 64'' ' BERR T b e s vii. c) Comparando o resultado anterior com o resultado obtido no problema 7 alínea b), verifica-se que se aumenta o débito binário dos bits da informação mas aumenta-se a probabilidade de erro de bit e, consequentemente, diminui-se o tempo entre erros. viii. d) Para manter o tempo entre erros é preciso manter a BER e consequentemente manter a energia média por bit, pelo que a potência do sinal com um binário no canal maior (mesmo débito binário dos bits da informação) deve compensar a diminuição do tempo de bit de cR . Consequentemente a potência do sinal deve aumentar da mesma quantidade. Como a potência é proporcional ao quadrado da amplitude, então o aumento da amplitude vem: 32,11 canterior novo RA A ix. A BER é a mesma que na alínea b) do exercício anterior mas com débito binário dos bits da informação de 10 kbit/s, pelo que o tempo médio entre erros vem: 5 104'' ' 101,1 10910 11 BERR T b e s Razão do código anterior novo A A Débito binário dos bits da informação [kbit/s] BER’ Te [s] Sem código 1 1 10 510 10 H(7,4) 0,57 1 10 6104 25 H(7,4) 0,57 1,32 10 10109 5101,1 H(7,4) 0,57 1 5,71 10109 51094,1 Tabela síntese dos resultados. 232 Exercícios resolvidos Carlos Meneses 22. (secção 13) Considere um código de Hamming H(7,4) gerado através de uma matriz geradora (equação 13.38) a) Qual o código para os bits de informação (1 0 0 1); b) Verifique a situação de uma transmissão sem erros; c) Considere um padrão de erro E= [0 1 0 0 0 0 0]. Qual os bits recebidos? d) Verifique a situação de erro e a sua posição. Resolução: i. a) O código é calculado através da equação 13.29: 0011001 110 101 011 111 1000 0100 0010 0001 1001 mGc ii. Os primeiros 4 bits do código são a cópia dos bits de informação (matriz identidade). iii. p4 é determinado pelo produto do vetor dos bits de informação com a primeira coluna da matriz P, p4= 1x1+0x1+0x1+1x0 = 1. iv. p2= 1x1+0x1+0x0+1x1 = 0. v. p1= 1x1+0x0+0x1+1x1 = 0. vi. b) Não existem erros se a síndrome (equação 13.32) for 0. Por exemplo, pela equação 13.39, o 3º bit da síndrome é determinado pelo produto do vetor do código com a terceira coluna da matriz HT: 1x1+0x0+0x1+1x1+1x0+0x0+0x1 = 0. 000 100 010 001 110 101 011 111 0011001 TcHS vii. c) Os bits recebidos são a soma do código com o padrão de erro: 001101100000100011001 cE viii. d) Existe erro se a síndrome for diferente de 0. Exercícios resolvidos 233 ix. O primeiro ponto da síndrome é determinado pelo produto dos bits recebidos pela 1ª linha da matriz de verificação de paridade, 1x1+1x1+0x1+1x0+1x1+0x0+0x0 = 1 x. Segundo bit da síndrome 1x1+1x1+0x0+1x1+1x0+0x1+0x0 = 1 xi. Terceiro bit da síndrome 1x1+1x0+0x1+1x1+1x0+0x0+0x1 = 0 011 100 010 001 110 101 011 111 0011011 THcES xii. A síndrome corresponde à segunda linha da matriz de verificação de paridade, pelo que o bit errado é o 2º a contar da esquerda, o que está conforme o padrão de erro. xiii. A mesma síndrome é obtida fazendo a verificação de paridade apenas com o padrão de erro (equação 13.33). xiv. O primeiro ponto da síndrome é o produto dos bits recebidos pela 1ª linha da matriz de verificação de paridade, 0x1+1x1+0x1+0x0+0x1+0x0+0x0 = 1 xv. Segundo bit da síndrome 0x1+1x1+0x0+0x1+0x0+0x1+0x0 = 1 xvi. Terceiro bit da síndrome 0x1+1x0+0x1+0x1+0x0+0x0+0x1 = 0 011 100 010 001 110 101 011 111 0000010 TEHS 234 Exercícios resolvidos Carlos Meneses 23. (secção 13) Considere um código cíclico com polinómio gerador do código de H(7,4), equação 13.45, xg = x3+ x1+1 (“1 0 1 1”). e) Calcule os bits transmitidos xrxxmxT kn para os bits de informação “0 1 0 1” (m5 m7 m6 m3); f) Qual a dimensão máxima da rajada sempre detetada? g) Qual a relação de rajadas não detetadas? h) Verifique a situação de uma transmissão sem erros; i) Considere um padrão de erro xE = x4 (“0 0 1 0 0 0 0”). Qual os bits recebidos? j) Verifique a situação de erro. Resolução: i. a) Com 4 bits de informação k=4 e o grau máximo de xm é k–1=3. O grau de xg é 3, pelo que o resto da divisão terá n–k=3 bits. Conclui-se que n=7, correspondendo a um código (7,4). ii. xm =x2+1 (“0 1 0 1”), 3xxmxxm kn = x 5+ x 3 (“0 1 0 1 0 0 0”). iii. xr e xq são calculados de: m(x)xn-k = 0 1 0 1 0 0 0 g(x) = 1 0 1 1 – 0 0 0 0 q(x) = 0 1 0 0 1 0 1 0 – 1 0 1 1 0 0 1 0 – 0 0 0 0 0 1 0 0 – 0 0 0 0 1 0 0 = r(x) p4 p2 p1 iv. Pelo que xrxxmxT kn vem x 5+ x 3+ x 2 (“0 1 0 1 1 0 0”) (m5 m7 m6 m3 p4 p2 p1) v. b) A dimensão máxima da rajada sempre detetável é 3, igual ao grau do polinómio gerador. Esta situação está conforme o código de Hamming, pois embora a distância mínima de Hamming deste código seja 3, não existem 3 bits consecutivos trocados entre palavras de código na sequência (m5 m7 m6 m3 p4 p2 p1). vi. c) Pela equação 13.47, BFER=0,125. vii. d) No recetor, calcula-se o resto de xgxT e, caso este seja igual a 0, não houve erros na transmissão. Exercícios resolvidos 235 T(x) = 0 1 0 1 1 0 0 g(x) = 1 0 1 1 – 0 0 0 0 q(x) = 0 1 0 0 1 0 1 1 – 1 0 1 1 0 0 0 0 – 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 viii. e) xExT serão os bits recebidos.T(x) = 0 1 0 1 1 0 0 E(x) = 0 0 1 0 0 0 0 T(x) + E(x) = 0 1 1 1 1 0 0 xExT = x 5+x 4+ x 3+ x 2 (“0 1 1 1 1 0 0”), bit m6 errado. ix. f) Verifica-se se 0 xgxExT , detetando erros: T(x)+E(x) = 0 1 1 1 1 0 0 g(x) = 1 0 1 1 – 0 0 0 0 q(x) = 0 1 1 0 1 1 1 1 – 1 0 1 1 1 0 0 0 – 1 0 1 1 0 1 1 0 – 0 0 0 0 1 1 0 p4 p2 p1 x. Pela equação 13.44, o resto de xgxExT é igual ao resto de xgxE . Também o quociente de xgxExT é igual à soma dos quocientes de xgxT e xgxE . E(x) = 0 0 1 0 0 0 0 g(x) = 1 0 1 1 – 0 0 0 0 q(x) = 0 0 1 0 0 1 0 0 – 0 0 0 0 1 0 0 0 – 1 0 1 1 0 1 1 0 – 0 0 0 0 1 1 0 236 Exercícios resolvidos Carlos Meneses 24. (secção 13) Em relação ao código Hamming H(7,4). k) Qual o polinómio gerador correspondente? l) A partir do polinómio gerador obtido na alínea anterior, recalcule a matriz geradora. Resolução: i. a) Este código, sendo H(7,4), tem k=4 e n=7. ii. Relembre-se que, para manter a estrutura cíclica, xg tem que ser um fator de 11 7 xxn e, 1111 2337 xxxxxx . iii. Como a ordem do polinómio gerador tem que ser 3 kn , duas hipóteses são possíveis: 13 xxxg ou 123 xxxg iv. b) A linha k=4 (última linha) da matriz G é igual aos coeficientes de xg , pois este corresponde à palavra de código com apenas o bit de informação na coluna k ao nível lógico “1” e com zeros à esquerda. Considerando a primeira situação para xg : 13 xxxg linha 4 de G = 0 0 0 1 0 1 1 v. Pelo que se obtêm, para a matriz geradora com a matriz identidade e linha 4 completa: 1101000 0100 0010 0001 G vi. Para se obter a linha 3 de G roda-se a linha 4 para a esquerda (estrutura cíclica): linha 4 de G rodada = 0 0 1 0 1 1 0 vii. Como a coluna k=4 tem valor 0 mantêm-se a estrutura da matriz identidade e esta linha corresponde à linha 3. Obtêm-se então para a matriz geradora com a matriz identidade e linhas 3 e 4 completas: 110 011 1000 0100 0010 0001 G viii. Para se obter a linha 2 de G roda-se a linha 3 para a esquerda: linha 3 de G rodada = 0 1 0 1 1 0 0 Exercícios resolvidos 237 ix. Como a coluna 4 tem valor 1, soma-se em módulo-2 a linha 4: linha 3 de G rodada 0 1 0 1 1 0 0 linha 4 de G + 0 0 0 1 0 1 1 ---------------------------------------- linha 2 0 1 0 0 1 1 1 x. Pelo que se obtêm, para a matriz geradora com a matriz identidade e linhas 2, 3 e 4 completas: 110 011 111 1000 0100 0010 0001 G xi. Para se obter a linha 1 de G roda-se a linha 2 para a esquerda: linha 2 de G rodada = 1 0 0 1 1 1 0 xii. Como a coluna 4 tem valor 1, soma-se em módulo-2 a linha 4: linha 2 de G rodada 1 0 0 1 1 1 0 linha 4 de G + 0 0 0 1 0 1 1 ---------------------------------------- linha 1 1 0 0 0 1 0 1 xiii. Pelo que se obtêm, para a matriz geradora: 110 011 111 101 1000 0100 0010 0001 G xiv. Comparando a matriz de paridades P da matriz geradora agora obtida com a matriz da equação 13.38, verifica-se que a linha 3 (m5) da matriz da equação 13.38 corresponde agora à linha 1, a linha 1 (m7) corresponde agora à linha 2 e a linha 2 (m6) corresponde agora à linha 3, pelo que a ordem dos bits de informação terá que vir, 3675 mmmmm . Esta é também a ordem quando se utiliza o polinómio gerador xg = x3+ x1+1, conforme equação 13.45. 238 Exercícios resolvidos Carlos Meneses 25. (secção 13) Calcule o checksum do código IP checksum tendo como bits de informação a sequência 100EF3459ABCA892 (em hexadecimal) com sub-blocos de 4 dígitos (16 bits). Verifique a soma do conjunto dos sub-blocos, em sequência e aos pares. Resolução: xv. Divide-se a sequência a codificar em subconjuntos de 4 dígitos hexadecimais, resultando nos números 100E, F345, 9ABC e A892. xvi. A adição destes números é: 100E+F345+9ABC+A892=246A1 xvii. A adição em complemento para um requer que se adicione o último arrasto (2) à soma sem esse arrasto: 46A1+2=46A3. xviii. Somando 2 a 2 em sequência, obtêm-se o mesmo resultado: 100E+F345=10353 0353+1=0354 0354+9ABC=9E10 9E10 9E10+A892=146A2 46A2+1=46A3 xix. Adicionando aos pares com soma final obtêm-se o mesmo resultado: 100E+F345=10353 0355+1=0354 9ABC+A892=1434E 434E+1=434F 0354+434F=46A3 46A3 xx. O complemento para um de 46A3 é FFFF–46A3=B95C. xxi. É transmitida a informação inicial mais o código checksum: 100EF3459ABCA892 B95C. xxii. O recetor repete este procedimento incluindo o código checksum: 100E+F345+9ABC+A892+ B95C=2FFFD; xxiii. Adicionando o arrasto (2) dará FFFD+2=FFFF xxiv. Este valor é sempre FFFF (todos os bits a 1), cujo complemento para um é 0000, indicando que não existem erros. Qualquer outro valor indicaria que foram cometidos erros no canal de comunicação e os dados deveriam ser retransmitidos. Exercícios propostos 239 Exercícios propostos 1. (secção 3) Suponha um sinal com largura de banda de 10 kHz e amplitude de 10 V. a) Qual a frequência mínima para amostragem deste sinal sem erro? b) Calcule os valores de quantificação e os valores de decisão para um quantificador uniforme midtread que permita codificar o sinal em PCM com um débito binário total de 40 kbit/s; c) Calcule a SNR de quantificação nas condições da alínea anterior, assumindo uma sinusoide como sinal de entrada. 2. (secção 4) Suponha um sinal com uma distribuição de amplitudes uniforme entre –1 e +1 V. A largura de banda do sinal é de 5 kHz. a) Qual a frequência mínima para amostragem deste sinal sem erro? b) Calcule os valores de quantificação e os valores de decisão para um quantificador midrise que permita codificar o sinal em PCM uniforme com um débito binário de 20 kbit/s; c) Calcule a SNR de quantificação nas condições da alínea anterior; d) Qual a SNRq se a quantificação fosse companding Lei-A (A=87,56)? e) Qual a SNRq se o quantificador for obtido através do algoritmo de quantificação ótima? 3. (secção 3) Suponha um sinal com uma distribuição gaussiana de média 1 V e variância 2,25 W, aplicado à entrada de um quantificador uniforme cuja excursão varia entre –3,5 e 5,5 V e cujo intervalo de quantificação é de 35,16 mV. a) Calcule a potência do sinal; b) Qual é a potência do ruído de quantificação? Está a fazer alguma aproximação? c) Determine a relação sinal/ruído de quantificação com este sinal; d) Qual o débito binário deste codificador, sabendo que a largura de banda do sinal é de 2 kHz? 4. (secção 5.1) Num codificador DPCM com preditor unitário, o valor máximo de quantificação do erro de predição é de 0,5 V, sendo utilizado um quantificador midrise de 4 intervalos de quantificação. Uma sequência de bits recebidos no recetor é: “00100111”. a) Determine o quantificador. Assuma um código numérico binário sequencial do valor de quantificação mais pequeno para o mais alto. b) A quantas amostras corresponde a sequência de bits recebida? c) Determine o sinal descodificado para as amostras respetivas. Assuma que o valor predito na primeira amostra é 0. 240 Exercícios propostos Carlos Meneses 5. (secção 5.1) Suponha um sinal sinusoidal, amostrado a 6 kHz com 7 bit/amostra. a) Qual é a SNRq quando este sinal é codificado com PCM uniforme? b) Qual a SNR de quantificação para PCM companding Lei-A? Porque é que este valor é pior do que o obtido com quantificador uniforme? c) Qual a frequência do sinal de entradapara que a SNRq em DPCM com preditor unitário seja igual à do PCM uniforme? d) Suponha que aumenta a frequência de amostragem para o dobro. Qual a variação da SNR? e) Qual a caraterística do qual o DPCM tira partido, que permite a variação da alínea anterior? f) Qual o aumento do débito binário correspondente à alínea d)? g) Existiria um processo mais eficiente de melhorar a qualidade? Qual? h) Qual o aumento do débito binário correspondente à alínea anterior? 6. (secção 5.1) Suponha um sinal a codificar com 15 kHz de largura de banda, amplitude 1 V e potência de 1/500 W. a) Quantos bits (aproximadamente) são necessários para quantificar este sinal com 38 dB de relação sinal-ruído em PCM uniforme? b) Qual o débito binário desta codificação? c) Se a autocorrelação de primeira ordem (não normalizada) for de 1/570 W, qual o ganho de predição e respetiva relação sinal-ruído de quantificação, para um codificador DPCM unitário? d) Calcule os valores de quantificação e os valores de decisão que permita codificar o sinal em DPCM unitário que não produza ruído granular e com um débito binário total de 60 kbit/s. 7. (secção 5.1) Suponha um sinal com uma distribuição uniforme entre –1 e +1 V. A largura de banda do sinal é de 4 kHz e pretende-se um débito binário máximo de 56 kbit/s. Admita que a autocorrelação normalizada de 1ª ordem é de 0,9. a) Calcule a potência do sinal, bem como a sua variância; b) Determine a SNRq de um codificador PCM uniforme com este sinal; c) Determine a SNRq usando um codificador DPCM, em que o preditor é adaptado de 1ª ordem; d) Calcule o valor máximo do quantificador; e) Determine a SNRq com o valor máximo do quantificador de 0,8 V. 8. (secção 5.1) Suponha um sinal sinusoidal de amplitude 1 V, amostrado a 10 kHz e codificado com 8 bit/amostra. a) Qual a SNRq quando este sinal é codificado com PCM uniforme? b) Qual a frequência do sinal de entrada para que a SNRq em DPCM unitário seja igual à do PCM uniforme? Exercícios propostos 241 c) Suponha que aumenta a frequência de amostragem para o dobro; Qual a variação da SNRq usando PCM uniforme? d) Repita a alínea anterior para DPCM unitário, mantendo a frequência do sinal calculada na alínea b); e) Nas condições da alínea b) (sem o aumento da frequência de amostragem para o dobro da alínea c)), qual o aumento da SNRq assumindo um preditor de 1ª ordem adaptado ao sinal? f) Em relação à alínea e) determine o valor máximo do quantificador; g) Repita as alíneas e) e f) usando um coeficiente de predição de 0,8. 9. (secção 5.1) Suponha um sinal com média 0 V e variância 2 W, tendo uma largura de banda de 5 kHz. a) Determine o valor do intervalo de quantificação se este sinal for codificado em PCM uniforme com um débito binário de 60 kbit/s, com uma SNRq de 29,92 dB. b) Qual o valor do valor máximo de quantificação? c) Determine o valor máximo do quantificador se este sinal for codificado em DPCM com o mesmo débito binário e a mesma SNR; d) Que tipo de preditor está a assumir na alínea anterior? e) Se o valor máximo possível da SNRq em DPCM unitário for de 36 dB, qual o valor da autocorrelação normalizada de 1ª ordem do sinal de entrada? 10. (secção 5.1) Considere um sinal de entrada, m(t), de média 0 V e variância 2 W e com uma largura de banda 5 kHz. a) Determine o valor do intervalo de quantificação, se este sinal for quantificado em PCM uniforme com uma SNRq de 25,84 dB; b) Qual a amplitude do sinal se este for codificado com 50 kbit/s? c) Suponha que o sinal foi codificado em DPCM com um preditor adaptado de 1ª ordem e uma variação máxima do erro de predição de 2 V. Qual o ganho de predição? d) Qual o número de bits por amostra para uma SNRq de 25,84 dB? 11. (secção 5.1) Considere um sinal de entrada, m(t) com a seguinte autocorrelação: 10000 100002100002 sensincRm a) Qual a potência do sinal? b) Supondo que o sinal é codificado em DPCM adaptado de 1ª ordem, amostrado a 34,5 kHz, qual o valor do coeficiente de predição? c) Qual o coeficiente de predição para um preditor de 2ª ordem? 242 Exercícios propostos Carlos Meneses 12. (secção 5.2) Num descodificador ADM o algoritmo de adaptação do passo de quantificação é dado por: nb nbnn 15,011 . Os níveis lógicos dos bits recebidos são: n 0 1 2 3 1 0 1 1 No instante n = –1 o valor do sinal quantificado mq[n] = 0,5, o valor do passo de quantificação [n] = 1 V, e o nível lógico do bit de codificação é “0”. Calcule o sinal quantificado mq[n]. 13. (secção 8) Considere uma transmissão digital com código BNRZ. Diga em que sequências se conseguem detetar erros na transmissão e comente. a) + 0 0 + b) + 0 – + c) + 0 – – 14. (secção 8) Considere uma transmissão em NRZI. a) Transmite os bits com os níveis lógicos “0 1 0 1 1 0 0 1”. A polaridade do último símbolo transmitido antes desta sequência é negativa (a[–1]=0). Qual a polaridade dos símbolos transmitidos? b) Recebe os símbolos com polaridade + – – + + – + – e a polaridade do último símbolo transmitido é negativa (a[–1]=0). Qual os níveis lógicos dos bits transmitidos? 15. (secção 9) Considere um canal de fibra ótica, de comprimento 275 km (Distância entre Lisboa e Porto), utilizado no comprimento de onda 1550 nm (caraterísticas na tabela 3.1). a) Calcule o atraso de propagação. b) Se a transmissão fosse feita por satélite, quantas vezes mais demoraria o sinal a propagar-se? c) Se o sinal for transmitido a um débito de 50 Mbit/s em pacotes de 2.000 bits, qual o tempo de transmissão de cada pacote? d) Supondo que os equipamentos utilizados originam um atraso de 60 s, qual o atraso total? e) Numa conversa telefónica, qual o tempo mínimo entre uma eventual pergunta de um dos oradores e a correspondente resposta? f) Qual a atenuação? Exercícios propostos 243 16. (secção 10) As figuras abaixo representam o padrão de olho, com varrimento de 2 bits, da transmissão de um código de linha. Numa das figuras o canal tem ruído e noutro não. Diga, justificando, a) Que tipo de código é representado? b) Existe interferência intersimbólica? c) Está à espera de muitos erros nesta transmissão? 17. (secção 11) Considere uma transmissão digital binária em PNRZ, num canal com largura de banda 1 GHz e em que o ruído tem uma densidade espetral de potência de 10-9 W/Hz. A probabilidade de erro de bit deve ser no máximo 9107,7 . a) Qual o débito binário com critério de primeiro zero espetral? b) Qual a energia por bit? c) Qual a amplitude do sinal transmitido? 18. (secção 11) Considere uma transmissão binária em PNRZ com um débito binário de 10 kbit/s e com tensões de 3 V. O sinal é transmitido num canal AWGN com densidade espetral de potência de 100 W/Hz. a) Desenhe o diagrama de blocos recetor ótimo normado; b) Calcule as tensões sem ruído e a potência do ruído após o filtro adaptado; c) Determine o valor da BER deste sistema; d) Considere que a amplitude do sinal de base do produto interno é de 10 V; Calcule as tensões sem ruído e a potência do ruído após o filtro adaptado e determine o valor da BER. 0 0.5 1 1.5 2 -0.5 0 0.5 1 1.5 0 0.5 1 1.5 2 -0.5 0 0.5 1 1.5 244 Exercícios propostos Carlos Meneses 19. (secção 11) Considere uma transmissão digital binária UNRZ, com débito binário de 24 kbit/s. A amplitude do símbolo “1” é de 2 V. O canal é AWGN (ruído branco, gaussiano e aditivo) com densidade espetral de potência de 1W/Hz. a) Calcule as tensões sem ruído à saída do filtro adaptado do recetor ótimo normado, para cada símbolo, bem como a potência do ruído; b) Desenhe o diagrama de blocos do recetor ótimo; c) Calcule a BER. 20. (secção 11) Considere uma transmissão binária num canal com uma largura de banda de 3.300 Hz (banda telefónica). O canal é AWGN com densidade espetral de potência de 200W/Hz. O código de linha usado é Manchester, mas as amplitudes recebidas são 2 V para o símbolo “0” e 3 V para o símbolo “1”. a) Determine o máximo valor do débito binário se o filtro de formatação de pulsos tiver um fator de rolloff de 0,5; b) Desenhe o diagrama de blocos de um recetor ótimo normado; c) Calcule as tensões correspondentes aos símbolos lógicos após o filtro adaptado; d) Calcule a BER desta transmissão; e) Em média, em quanto tempo é cometido um erro de bit? 21. (secção 11) Considere uma transmissão binária em que o canal tem uma densidade espetral de potência Gw(f)= N0/2 W/Hz, com os símbolos seguintes: a) Qual a energia média por bit (função de A e Tb)? b) Desenhe o recetor ótimo normado adaptado ao símbolo “1”; c) Calcule, função de Eb, as tensões y1 e y0, correspondentes ao símbolo “1” e “0” sem ruído, no instante de amostragem; d) Qual o valor da BER (função de Eb, e N0)? e) Se o símbolo “0” fosse representado por S0(t)=0 V (unipolar) e não alterasse o valor de A, a BER seria alterada? Ganharia alguma coisa com esta mudança? Exercícios propostos 245 22. (secção 12) Considere uma transmissão digital, com débito binário de 40 kbit/s. A largura de banda do canal é de 10 kHz, e o filtro de formatação de pulsos tem um fator de rolloff de 0,2. O sinal transmitido é PAM digital, sendo a diferença entre símbolos adjacentes de 1 V. O canal é do tipo AWGN, com densidade espetral de potência de 10-6 W/Hz. a) Calcule o máximo débito de símbolos; b) Desenhe o recetor ótimo com filtro adaptado normado; c) Calcule a potência do ruído à saída do filtro; d) Calcule as tensões à saída do filtro adaptado para distinguir as diversas hipóteses; e) Calcule a probabilidade de erro de bit. 23. (secção 13) Considere uma transmissão com BER = 10-6, de blocos de 10 bits, incluindo 1 bit de paridade. a) Qual a razão do código? b) Qual a probabilidade de retransmissão? c) Qual a probabilidade de erro de bit? 24. (secção 13) Considere o seguinte código BCC, em que os bits m correspondem aos bits de informação, os bits pn aos bits de paridade de linha e os bits cn ao carácter de verificação de bloco, sendo utilizada em ambos os casos paridade par. 31m 21m 11m 1p 0 0 1 0 0 0 1 0 32m 22m 12m 2p 0 1 1 0 0 1 1 0 33m 23m 13m 3p 1 0 0 1 1 0 1 1 3c 2c 1c 0c 0 1 0 1 0 1 0 1 bits recebidos situação 1 bits recebidos situação 2 a) Qual a razão do código? b) (situação 1) Existem bits errados? Se sim, é possível corrigi-los? Se sim, corrija-os. Se não, é possível perceber em que subconjunto de bits foram produzidos os erros? c) Repita a alínea anterior para a situação 2. 246 Exercícios propostos Carlos Meneses 25. (secção 13) Considere uma transmissão binária em PNRZ com um débito binário de 10 kbit/s e com tensões de 3 V. Adicionalmente considere que o sinal é corrompido por ruído branco, gaussiano e aditivo (canal AWGN), com densidade espetral de potência de 100 W/Hz. a) Determine o valor da BER deste sistema; b) Considere que se utiliza um código de repetição de 3 bits e que não altera o débito binário no canal. Qual o débito binário dos bits da informação? c) Considere que não altera a amplitude do sinal transmitido. Qual a nova BER deste sistema (após correção)? d) Se mantiver o débito binário dos bits da informação igual ao débito binário sem codificação, qual a nova BER do sistema? e) Compare os resultados anteriores e comente. 26. (secção 13) Uma transmissão em PRZ com um débito no canal de 24 kbit/s, protegida por um código de repetição de 3 bits, tem em média 1 erro em cada 1.000 segundos antes da correção. a) Qual o débito binário dos bits da informação? b) Qual a probabilidade de erro de bit antes da correção? c) Calcule a relação sinal-ruído Eb/No; d) Qual o tempo médio entre erros após correção? e) Se gerar a sequência de dados binária “1 0”, qual a sequência a transmitir após a aplicação do código de correção? f) Recebendo a sequência de bits aos níveis lógicos “1 0 1 1 1 1”, quais os bits descodificados? 27. (secção 13) Numa transmissão protegida com um código H(7,4) , a) Qual o resultado da aplicação da sequência binária “1 0 1 0” (m7 m6 m5 m3)? b) Qual o resultado da aplicação da sequência binária “0 1 0 1” (m7 m6 m5 m3)? c) Suponha que durante a transmissão dos bits correspondentes à alínea anterior erra o bit m3 e p4. Quais os bits descodificados? d) Recebendo a sequência de bits aos níveis lógicos “1 1 1 0 1 0 1”, qual a sequência de bits de informação após correção? Exercícios propostos 247 28. (secção 13) Uma transmissão binária polar tem um débito binário de 40 kbit/s e uma BER de 10-5. a) Calcule, em média, em quanto tempo é cometido um erro; b) Se esta transmissão passar a ser protegida com um código de correção de erros Hamming H(15,11), mantendo o débito binário dos bits da informação, qual o débito binário no canal? c) Qual o aumento da amplitude do sinal transmitido, de modo a que se mantenha a mesma energia por bit? d) Qual a BER deste sistema (após correção)? e) De quanto em quanto tempo é cometido um erro? f) Supondo que mantêm a amplitude do sinal transmitido inalterada em relação à alínea a), qual a nova BER? g) De quanto em quanto tempo é cometido um erro no sistema? h) Qual o resultado da aplicação da sequência de bits ao nível lógico “0 1 0 1 0 0 1 1 0 1 1” a um código de correção H(15,11) (m15 m14 m13 m12 m11 m10 m9 m7 m6 m5 m3)? i) Quais os bits descodificados se for recebida a sequência binária com os níveis lógicos “0 1 0 1 1 0 1 1 1 0 1 0 1 1 0”? 29. (secção 13) Num código com distância de Hamming mínima de 5. a) Quantos bits errados se conseguem detetar? b) Quantos bits se conseguem corrigir? 30. (secção 13) Considere o código de controlo de erros cujas palavras estão organizadas na forma c=[m2 m1 p0 p1], tal que p0= m2+ m1 e p1= m1. a) Qual a matriz de geração e de verificação para este código? b) Apresente todas as palavras de código. c) Calcule a distância mínima de Hamming e as capacidades de deteção e correção de erros. d) Suponha que se transmite a mensagem “0 1” e que sobre a palavra de código resultante é aplicado o padrão de erro “1 0 1 0”. O que resulta no recetor? e) Suponha que se transmite a mensagem “0 1” e que sobre a palavra de código resultante é aplicado o padrão de erro “1 0 0 1”. O que resulta no recetor? 248 Exercícios propostos Carlos Meneses 31. (secção 13) Para um código CRC com polinómio gerador 12 xxg . Suponha um código com palavras de 6 bits. a) Este polinómio gera um código cíclico? b) Pretende-se codificar os bits “1 0 0 1”. Quais os bits enviados? c) São recebidos os bits “1 0 0 0 1 1”. Verifique se existem erros. d) Qual a dimensão da rajada capaz de ser sempre detetada? e) Qual a relação de rajadas não detetadas? 32. (secção 13) Para um código CRC com polinómio gerador 12 xxg . Suponha um código com palavras de 6 bits. Ver o exercício anterior. a) Qual a matriz geradora correspondente a este código? b) É possível corrigir erros? Porquê? c) Utilizando a matriz geradora, quais os bits enviados quando com os bits de informação “1 0 0 1”? d) São recebidos os bits “1 0 0 0 1 1”. Verifique se existem erros. e) Qual a equação através de operações ou-exclusivo que relacionam os bits de paridade com os bits de informação? 33. (secção 13) Considere um código IP checksum tendo como bits de informação a sequência hexadecimal 75A38B0CFFEE em sub-blocos de 4 dígitos hexadecimais. a) Qual a razão do código? b) Qual o checksum? c) Recebem-se os bits 75A38B0CFF60FF60. Existem erros? 34. (secção 13) Suponha um código de controlo de erros com 4 palavras de código (C1, C2, C3, C4) definidas por: C1= 0 0 0 0 0 0 C2= 0 0 0 1 1 1 C3= 1 1 1 0 0 0 C4= 1 1 1 1 1 1 a) Qual a distânciamínima de Hamming deste código? b) Qual a capacidade de deteção e correção do código? c) Qual a razão do código? Exercícios propostos 249 Soluções (não inclui respostas teóricas nem figuras): 1. a) fs=20 kHz; b) Valores de quantificação [–5 0 5 10] V Valores de decisão [ –2,5 2,5 7,5 ] V; c) SNRq=13,8 dB 2. a) fs=10 kHz; b) b) Valores de quantificação [–0,75 –0,25 0,25 0,75] V Valores de decisão [ –0,5 0 0,5 ] V; c) SNRq=12,04 dB; d) SNRq=2,04 dB; e) SNRq=12,04 dB. 3. a) P=3,25 W; b) 1032 q W. Sim, não se leva em conta “alguma” saturação; c) SNRq=45 dB; d) Rb=32 kbit/s. 4. a) Valores de quantificação [–0,375 –0,125 0,125 0,375] V Valores de decisão [ –0,25 0 0,25 ]V; Código 00 01 10 11 b) 4; c) n código eq[n] mp[n] mq[n] 0 00 –0,375 0 –0,375 1 10 0,125 –0,375 –0,25 2 01 –0,125 –0,25 –0,375 3 11 0,375 –0,375 0 5. a) SNRq=43,9 dB; b) SNRq=32,14 dB; c) f’=1.000 Hz; d) Aumento de 5,72 dB; e) A correlação entre amostras consecutivas; f) Aumento de 42 kbit/s; g) Aumento do número de bit/amostra; h) Aumento de 6 kbit/s. 6. a) R=10 bit/amostra; b) Rb=300 kbit/s; c) Gp=6,1 dB SNR=44,1 dB; d) Valores de quantificação [–0,25 0 0,25 0,5] V Valores de decisão [ –0,125 0,125 0,375 ] V. 7. a) )3(33,02 mP W; b) SNRq=42,14 dB; c) SNRq=49,35 dB; d) V1=0,44 V; e) SNRq=44,08 dB. 8. a) SNRq=49,92 dB; b) f=1666,6(6) Hz; c) Aumento de 0 dB; d) Aumento de 5,72 dB; e) 1,25 dB; f) V1=0,87 V; g) Aumento de 0,76 dB e V1=0,92 V; 250 Exercícios propostos Carlos Meneses 9. a) q=0,156 V; b) V=5 V; c) V1=5 V; d) Não depende do preditor; e) r[1]=0,88. 10. a) q=0,25 V; b) mmax=4 V; c) Gp=6,02 dB; d) R=4 bit/amostra. 11. a) P=2 W; b) a=0,867; c) a=0,53. 12. n b[n] [n] eq[n] mp[n] mq[n] –1 –1 1 0,5 0 1 0,5 0,5 0,5 1 1 –1 0,25 –0,25 1 0,75 2 1 0,125 0,125 0,75 0,875 3 1 0,1875 0,1875 0,875 1,0625 Soluções (não inclui comentários nem figuras): 13. a) Tem erros; b) Não tem erros; c) Tem erros. 14. a) – + + – + + + – ; b) c[n] = “1 1 0 1 0 1 1 1”. 15. a) 1,375 ms; b) 174,5; c) 40 s; d) 1,475 ms; e) 2,95 ms; f) 55 dB. 16. a) UNRZ; b) Não; c) Não. 17. a) Rb= 1 Gbit/s; b) Eb= 32 nJ; c) A=5,66 V. 18. a) Figura 5.5; c(t)=100 V b) yo=–30 mV, y1=30 mV; , ot=0 V; c) BER=1,35x10-3; d) yo=–3 mV, y1=3 mV, 2n 10-6 W, BER=1,35x10-3. 19. a) yo=0 V, y1=12,9 mV; b) Figura 5.5 ; c(t)=154,9 V, ot=6,45 mV; c) BER=5,4x10-11. Exercícios propostos 251 20. a) Rb=2.200 bit/s; b) c(t) bit a “1” Manchester com amplitude 46,9 V, ot=10,66 mV; c) yo=–42,64 mV, y1=63,96 mV; d) BER=8,2x10-5; e) Te=5,5 s 21. a) Eb=A2Tb; b) bRtc ; c) bEy 1 ; 00 y ; d) 042 1 N EerfcBER b e) A BER não seria alterada; Sim, pois diminuiria a energia por bit sem alterar a BER. 22. a) sR =13,3(3) kbaud; b) c(t)=115,47 V; c) 2 n 1 W; d) =0 V, 8,66 mV, 17,32 mV, 25,98 mV; e) BER=4,35x10-6. 23. a) 109cR ; rP 10 -5; b) 'BER 9x10-12. 24. a) 169cR ; b) sim; sim; bit m31=“1”; c) sim; não; os bits (m31 e m13) ou (m11 e m33) estão errados. 25. a) BER=1,35x10-3 b) bR ’=3,3(3) kbit/s; c) BER'=5,5x10-6; d) BER'=5,2x10-3. 26. a) bR ’=8 kbit/s; b) BER=4,17x10-8; c) 010log10 NEb 11,6 dB; d) Te=2,4 x1010 s (7,6 séculos); e) “1 1 1 0 0 0”; f) “1 1”. 27. a) “1 0 1 0 0 1 0” (m7 m6 m5 p4 m3 p2 p1); b) “0 1 0 1 1 0 1”; c) “1 1 0 0” (m7 m6 m5 m3); d) “1 0 1 1” (m7 m6 m5 m3). 28. a) eT =2,5 s; b) bR =54,545 kbit/s; c) Aumento de 1,168; d) BER’=2,1x10-9; e) eT ’=11.900 s (3 horas e 1.100 s); f) BER’=3,6x10-7; g) eT ’=70 s; h) “0 1 0 1 0 0 1 1 1 0 1 0 1 1 0”. i) Síndrome=“1 1”; “0 1 0 1 0 0 1 1 0 1 1”; 252 Exercícios propostos Carlos Meneses 29. a) l=4; b) t=2. 30. a) 1110 0101 G 10 01 11 01 TH b) c0=[0 0 0 0], c1=[0 1 1 1], c2=[1 0 1 0], c3=[1 1 0 1]. c) dmin=2, t=0, l=1. d) Descodifica c3. e) Corrige para c2 ou deteta erro. 31. a) Para um código ser cíclico 12 xxg tem que ser raiz de 11 6 xx n , o que se verifica, pois 1 1 1 24 2 6 xx x x e resto 0. b) “1 0 0 1 1 1”; c) r(x)= “0 1”. Existem erros; d) 2, ordem de xg ; e) BFER=0,25. 32. a) 10 01 10 01 1000 0100 0010 0001 G . b) Não, porque a matriz de paridade tem linhas iguais. c) “1 0 0 1 1 1”; d) S= 0 1 Existem erros; e) 242 mmp , 131 mmp . 33. a) 43cR ; b) FF60. c) Soma igual a 008E. Existen erros. 34. a) dmin=3; b) d=1, t=2; c) 62cR . Exercícios propostos em MATLAB 253 Exercícios propostos em MATLAB PCM – Modulação por código de pulso (secções 3 e 4) Funções a desenvolver em Matlab: 1. Uma função que crie um sinal sinusoidal, que tenha como entradas: • A amplitude, frequência e fase inicial do sinal a gerar. • A frequência de amostragem. • O tempo (em segundos) do sinal a gerar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Uma função que crie as tabelas de quantificação uniforme (o livro de código e a partição), que tenha como entradas: • O número de bits de codificação por amostra. • O valor máximo do quantificador. • O tipo de quantificador (midtread ou midrise). E tenha como saídas: • Os valores de quantificação e decisão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Uma função que implemente um codificador (transmissor) PCM e que tenha como entradas: • Uma amostra do sinal a codificar. • O número de bits de codificação por amostra. • Os valores de decisão do quantificador a utilizar. E tenha como saída: • O código PCM em binário. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 Exercícios propostos em MATLAB Carlos Meneses 4. Uma função que implemente um descodificador (recetor) PCM e que tenha como entradas: • O código PCM em binário. • Os valores de quantificação do quantificador a utilizar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Uma função que calcule a SNRq e que tenha como entradas: • O sinal original. • O sinal quantificado. • O número de bits de codificação por amostras. • A tensão máxima de quantificação. E tenha como saída: • A relação sinal-ruído (teórica e real) entre os sinais de entrada (em decibéis). Problemas 1. Produza 1 s de um sinal sinusoidal com amplitude 1 V, frequência 1.300 Hz, amostrado a 8 kHz (frequência de amostragem da banda telefónica). Codifique e descodifique este sinal em PCM com 3 bits por amostra e com um quantificador uniforme midrise e midtread. a) Codifique e descodifique do sinal. Visualize o código transmitido e o sinal descodificado para as 8 primeiras amostras. Qual o erro de quantificação? Nota: compare os resultados com os dos exercícios resolvidos 1 e 2. b) Produza os gráficos do sinal original e do sinal descodificado. Determine o valor da SNRdB teórica e compare com o valor real. c) Produza o gráfico do ruído de quantificação. Compare o seu valor máximo com o valor teórico. d) Produza o gráfico do sinal original em relação ao sinal descodificado (não interligue os pontos). O que é que este gráfico representa? Exercícios propostos em MATLAB 255 2. Repita o problema 1 alíneas a) e b), com um quantificador midrise e midtread e6 bits por amostra. Utilize um sinal de fala como entrada. a) Em termos do ruído de quantificação, quais são as principais diferenças entre os dois quantificadores? b) Produza o histograma do ruído de quantificação, com o número de intervalos suficientemente elevado para obter uma boa definição. Este gráfico explica a diferença de resultados entre os valores da SNRq teórica e real? 3. Codifique e descodifique um sinal de fala em PCM com quantificação uniforme, com um quantificador midrise, e com um número de bits por amostra R={3, 4, 5, 6, 7, 8}. Oiça o sinal original e os sinais descodificados. Produza um gráfico com os valores da SNRdB teórica e real em termos do número de bits por amostra (coloque o número de bits no eixo das abcissas o os valores da SNRdB no eixo das ordenadas). Comente. 4. Comprima um sinal de fala por uma não linearidade companding Lei-A (A=87, 56). a) Produza os histogramas do sinal original e do sinal de comprimido e compare as duas distribuições. Quais são as principais diferenças e o que é que estas diferenças significam? b) Produza o gráfico do sinal original em função do sinal de descodificado (não interligue os pontos). O que é que este gráfico representa? 5. A partir de tabelas de quantificação uniforme midrise de 3 bits, produza as respetivas tabelas em PCM companding. Produza o gráfico dos valores de quantificação uniforme em função dos respetivos valores comprimidos. Comente os resultados. Nota: compare os resultados com os do exercício resolvido 5. 6. Implemente um sistema PCM companding com 8 bits de codificação por amostra e um quantificador midrise e determine o valor da SNRdB real e teórica. Implemente de 2 formas e compare os resultados. Através do sistema representado na figura 4.3. Criando tabelas de quantificação não uniformes (expansão de tabelas de quantificação uniformes). 256 Exercícios propostos em MATLAB Carlos Meneses 7. Para um codificador PCM companding Lei-A com 8 bits por amostra, mantenha a mesma tabela de quantificação e varie a potência (varie a amplitude sem saturar o quantificador) de um sinal de fala e calcule a SNRdB. Produza um gráfico com os valores da SNRdB real em termos da potência do sinal (Potência em decibéis no eixo das abcissas em função da SNRdB no eixo das ordenadas). Nota: Ver figura 4.5. 8. Produza o histograma de uma sinusoide com uma resolução de 100 pontos e calcule os valores ótimos de quantificação (algoritmo Max-Lloyd) para 3 bits por amostra. Tire conclusões. Repita para um sinal de fala. 9. Codifique e descodifique um sinal de fala com um quantificador ótimo, com R ={3, 4, 5, 6, 7, 8} bits por amostra. Produza um gráfico com os valores da SNRdB em termos do número de bits por amostra. Compare e comente os resultados obtidos em PCM uniforme e companding. Tenha em atenção as seguintes funções do MATLAB: wavread – lê ficheiros tipo wav wavwrite – grava ficheiros tipo wav sound – toca um sinal soundsc – normaliza e toca um sinal quantiz – quantifica e codifica um sinal compand – comprime ou descomprime dec2bin – converte de decimal para binário de2bi – converte de decimal para binário bin2dec – converte de binário para decimal bi2de – converte de binário para decimal plot – cria um gráfico com um sinal subplot – define áreas para gráficos grid – desenha grelha num gráfico hist – cria histograma lloyds – cria tabelas de quantificação com o algoritmo Max-Lloyd Exercícios propostos em MATLAB 257 DPCM e DM – Codificação preditiva (secção 5) Problema 1. Para um sinal sinusoidal amostrado a sf 8 kHz e frequência 12sf , a) Produza o gráfico de cada amostra do sinal em função da respetiva amostra anterior (não interligue os pontos). Existe correlação entre as amostras e a amostra anterior? b) Calcule o erro de predição (preditor unitário) e[n] = m[n]−m[n−1] = m[n]−mp[n]. Calcule o seu valor máximo. Quais são as vantagens em codificar o erro de predição em vez do sinal original? Nota: Num codificador DPCM a predição é feita a partir das amostras quantificadas. c) Calcule a potência do sinal de entrada e do erro de predição, o ganho de predição e o valor máximo de quantificação através de pG VV 2 1 . d) Calcule a autocorrelação normalizada do sinal de entrada para um atraso de uma amostra. Compare com o valor teórico. e) Calcule o ganho de predição e o valor máximo de quantificação a partir do valor da autocorrelação e compare com os resultados obtidos na alínea b) e c). f) Calcule o valor ótimo, aot, do coeficiente de predição de 1ª ordem e repita as alíneas b), c) e e) para este preditor. Compare os valores obtidos com os dois tipos de preditores. 2. Repita o exercício para uma frequência do sinal de entrada de 6sf , e um sinal de fala. Compare e tire conclusões. 258 Exercícios propostos em MATLAB Carlos Meneses Funções a desenvolver em Matlab: 1. Uma função que implemente um codificador (transmissor) DPCM, que tenha como entradas: • Uma amostra do sinal a codificar. • O número de bits de codificação por amostra. • Os valores de quantificação e decisão (o livro de código e a partição). • O valor predito da amostra. E tenha como saídas: • O código binário em DPCM. • A amostra descodificada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Uma função que implemente um descodificador (recetor) DPCM, que tenha como entradas: • O código binário em DPCM. • Os valores de quantificação. • O valor predito da amostra. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Uma função que adapte um quantificador segundo o método proposto por Jayant (secção 5.1.5), que tenha como entradas: • O código binário em ADPCM. • A tabela de adaptação. • Os valores de quantificação e decisão. E tenha como saídas: • Os valores de quantificação e decisão adaptados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exercícios propostos em MATLAB 259 4. Uma função que simule um canal digital gerando erros numa sequência binária e que tenha como entradas: • A sequência binária sujeita a erros. • A probabilidade de erro de bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problemas 2. Codifique e descodifique um sinal sinusoidal em DPCM, com V1 calculado a partir da autocorrelação. Utilize um quantificador uniforme midrise, com 2 a 6 bits de codificação por amostra. Calcule as SNRq reais e teóricas nas seguintes situações: a) Com preditor unitário. b) Com preditor adaptado. c) Com coeficiente de predição 0. Qual método de codificação está a utilizar? d) Com preditor adaptado e quantificador adaptado (Jayant). e) Com coeficiente de predição 0 e quantificador adaptado (Jayant). Que método de codificação está a utilizar nesta situação? 3. Repita o problema anterior apenas para um valor de número de bits por amostra (e.g. R=4), introduzindo 0,001 de erros de bit no canal de transmissão (entre o transmissor e o recetor). 4. Liste por ordem os métodos de codificação em relação ao impacto dos erros no canal e explique a causa deste impacto. 5. Implemente um codificador DM (como caso particular de DPCM) tendo como entrada um sinal sinusoidal. Considere o passo de quantificação igual à máxima variação entre amostras consecutivas. Calcule a SNRq. Analise o comportamento na presença de erros. 6. Implemente um codificador ADM utilizando a equação 5.30. Analise o comportamento na presença de erros. Compare a com a versão não adaptativa. 260 Exercícios propostos em MATLAB Carlos Meneses Transmissão num Canal AWGN (secções 10 e 11) Funções a desenvolver em Matlab: 1. Uma função que gere uma sequência binária equiprovável, e que tenha como entrada: • O número de bits a gerar. . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Uma função que gere o símbolo a “1” do código de linha Manchester e o código correspondente a uma sequência binária, e que tenha como entradas: • A sequência binária a codificar. • A amplitude A do código de linha. • O número T de pontos de simulação por símbolo (T é par). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Uma função que implemente um canal AWGN. Esta função devolve o código de linha com ruído e tem como entradas: • O código de linha correspondente à sequência binária. • A potência do ruído. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Uma função que implemente um recetor ótimo para o código de linha bnário com ruído. Esta função devolve a sequência binária descodificada, e tem como entradas: • O código de linha com ruído. • O símbolo ao nível lógico “1” utilizado no filtro adaptado. • O valor do limiar de decisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exercícios propostos em MATLAB 261 5. Uma função que gere o símbolo a “1” do código de linha UNRZ e o código correspondente a uma sequência binária, e que tenha como entradas: • A sequência binária a codificar. • A amplitude A do código de linha. • O número T de pontos de simulação por símbolo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Uma função que gere o código de linha PAM – 2B1Q, e que tenha como entradas: • A sequência binária a codificar. • A distância entre símbolos a. • O número T de pontos de simulação por símbolo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7. Uma função que implemente um recetor ótimo para o código de linha PAM – 2B1Q, com ruído. Esta função devolve a sequência binária descodificada, e tem como entradas: • O código de linha com ruído. • A distância entre símbolos a. • O número T de pontos de simulação por símbolo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problemas 1. Simule um sistema de transmissão digital num canal AWGN em MATLAB. O sistema deve converter uma sequência binária num código de linha Manchester, UNRZ ou 2B1Q, simular um canal AWGN adicionando ruído branco e gaussiano ao sinal a transmitir e implementar um descodificador com filtro ótimo. 262 Exercícios propostos em MATLAB Carlos Meneses O sistema tem como entradas (e valor de referência): • O número de bits a simular (100 kbit). • A amplitude A, do código de linha (1 V) ou a distância a (1 V) em 2B1Q. • O número, T, de pontos de simulação por símbolo (4 pontos). • A potência do ruído ou a SNR no canal de comunicação (1 W). e tem como saídas: • A sequência binária recebida. • A BER. • O valor teórico da BER. Determine a BER real e teórica (Apêndice 10), faça um gráfico dos resultados e comente a evolução da BER nas situações seguintes: a) Variando A (ou a). b) Variando T. c) Variando a potência do ruído. d) Variando 0NEb (ver figuras 11.10 e 12.5). e) Para as codificações binárias, varie e verifique o valor ótimo. 2. Compare os três métodos, nomeadamente sobrepondo os gráficos obtidos em 1 d). Tenha em atenção as seguintes funções do MATLAB: rand, randn – gera números aleatórios gt (>) – operador relacional maior que ones – gera uma matriz de uns erfc – função complementar do erro semilogy – Escala logarítmica em ordenadas cumsum – soma cumulativa Exercícios propostos em MATLAB 263 Codificação para controlo de erros (secção 13) Funções a desenvolver em Matlab: 1. Uma função que gere uma sequência binária em que os símbolos sejam equiprováveis, e que tenha como entrada: • O número de bits a gerar. • A probabilidade dos bits ao nível lógico “0”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Uma função que implemente um codificador por repetição e que tenha como entradas: • A sequência binária a codificar. • O número de repetições. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Uma função que simule um canal digital gerando erros numa sequência binária e que tenha como entradas: • A sequência binária sujeita a erros. • A probabilidade de erro de bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Uma função que implemente um descodificador por repetição e que tenha como entrada: • A sequência binária a descodificar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Uma função que implemente um codificador Hamming H(7,4) e que tenha como entrada: • A sequência binária a codificar. 264 Exercícios propostos em MATLAB Carlos Meneses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6. Uma função que implemente um descodificador Hamming H(7,4) e que tenha como entrada: • A sequência binária a descodificar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Problemas 1. Pretende-se simular um sistema de controlo de erros num canal digital. O sistema deve codificar uma sequência binária através de um código por repetição, sujeitar a sequência resultante a erros e descodificar corrigindo os erros. a) Para o número de repetições de 3, avalie o codificador para diversos valores da BER e compare os valores obtidos com os valores teóricos. b) Para uma BER de 0,1, avalie o codificador para diversos valores de repetições compare os valores obtidos com os valores teóricos. 2. Pretende-se simular um sistema de controlo de erros num canal digital. O sistema deve codificar uma sequência binária através de um código de Hamming H(7,4), sujeitar a sequência resultante a erros e descodificar corrigindo os erros. a) Avalie o codificador para diversos valores da BER e compare os valores obtidos com os valores teóricos. b) Compare os resultados com os obtidos com o codificador por repetição. Tenha em atenção as seguintes funções do MATLAB: nchoosek – Cálculo de combinações Exercícios propostos em MATLAB 265 Projeto de Transmissão Digital de Sinais Objectivo: Pretende-se implementar e testar um sistema de transmissão digital simulado em MATLAB, representado no diagrama de blocos seguinte: Especificações do sistema Sinal de entrada Sinal em formato wav; Em alternativa colocar uma sinusóide com amplitude, frequência e frequência de amostragem especificadas pelo utilizador. Codificador/Descodificador Codificar DPCM; Número de bits de codificação por amostra especificado pelo utilizador; Valor máximo de quantificação especificado pelo utilizador ou calculado automaticamente; Coeficiente de predição especificado pelo utilizador ou calculado automaticamente. Código de linha Código de linha PAM 2B1Q; Distância entre símbolos especificado pelo utilizador; Número de pontos de simulação especificado pelo utilizador. 266 Exercícios propostos em MATLAB Carlos Meneses Canal Canal com ruído aditivo branco e gaussiano (AWGN); Potência do ruído no canal especificada pelo utilizador. Recepção de sinais digitais Receptor óptimo com detector de máxima verosimilhança. Codificação para controlo de erros Código Hamming H(7,4), apenas na situação de codificação de 4 bits por amostra. Inibição do código especificada pelo utilizador. Medidas de qualidade. Para o sinal de fala – SNRq; Para a cadeia binária – BER (antes e após correcção); Comparar valores teóricos com valores obtidos na simulação. Situações a simular Codificador/Descodificador de sinal: 1. Variar o número de bits de codificação por amostra; 2. Variar o coeficiente de predição. Testar o valor 0, 1, óptimo e a sua vizinhança; 3. Verificar o impactodo coeficiente de predição no impacto dos erros do canal; Código de linha: 4. Variar a energia por bit (com a mesma potência de ruído no canal); – Variar a distância entre símbolos; – Variar o número de pontos de simulação por símbolo. 5. Variar a potência do ruído no canal; Codificação para controlo de erros: 6. Verificar o efeito do código Hamming H(7,4); 7. Verificar a SNRq com o mesmo débito binário com e sem correcção de erros. Glossário 267 __________________________________________ Glossário __________________________________________ 2B1Q – 2 binary 1 quaternary AC – Corrente alternada ADM – Adaptive Delta Modulation (DM Adaptativa) ADPCM – Adaptive Differential Pulse Code Modulation (DPCM Adaptativo) ADSL – Asymmetric Digital Subscriber Line APCM – Adaptive Pulse Code Modulation (PCM Adaptativo) AQB – Adaptive quantization with backward estimation (quantificação adaptativa com estimação sobre o sinal quantificado) AQF – Adaptive quantization with forward estimation (quantificação adaptativa com estimação sobre o sinal original) ARQ – Automatic repeat request ASCII – American Standards Committee for Information Interchange AWGN – Additive White Gaussian Noise BCC – Block (sum) check character BER – Bit Error Rate BFER – Burst Frame Error Rate bit – binary digit (digito binário) BNRZ – Bipolar No Return to Zero BNZS – Bipolar with N Zero Substitution CD – Compact Disc CRC – Cyclic redundancy check DC – Direct current (corrente continua) DECT – Digital Enhanced Cordless Telecommunications DM – Delta Modulation (Modulação Delta) 268 Glossário Carlos Meneses DPCM – Differential Pulse Code Modulation (Mod. por Código de pulso Diferencial) erfc – complementary error function FEC – Forward error correction GSM – Group special mobile IP – Internet protocol ISI – Inter–symbolic Interference ISO – International Organization for Standardization ITU-T – International Telecommunication Union-Telecommunication MAP – Máximo a posteriori MV – Máxima Verosimilhança NRZI – No Return to Zero Invert NRZ-L – No Return to Zero - Level NRZ-M – No return to Zero - Mark NRZ-S – No return to Zero - Space OSI – Open System Interconnection PAM – Pulse Amplitude Modulation PCM – Pulse Code Modulation (Modulação por código de pulso) PNRZ – Polar no Return to Zero POTS – Plain old telephone service PRZ – Polar Return to Zero RAM – Random Access Memory RDIS – Rede Digital Integrada de Serviços RZ – Return to zero S&H – Sampling & Hold (Amostragem e Retenção) SNR – Signal to Noise Ratio (Relação Sinal-Ruído) UMTS – Universal Mobile Telecommunications System UNRZ – Unipolar no Return to Zero USB – Universal Serial Bus Bibliografia 269 __________________________________________ Bibliografia __________________________________________ S. Haykin, Michel Moher, “Communication Systems”, 5th Ed., Willey, 2009. S. Haykin, Michel Moher, “Communication Systems”, International Students Version, 5th Ed., Willey, 2009. A. Bruce Carlson, Paul B. Crilly, Janet C. Rutledge, “Communications and Systems”, 4 th Ed., McGrawHill, 2001. F. Halsall, “Data Communication, Computer Networks and Open Systems”, 4th Ed., Addison-Wesley, 1996. F. Hassal, “Computer Network and the Internet”, 5th Ed., Addison-Wesley, 2005. H. P. Hsu, “Comunicação Analógica e Digital”, 2ª Ed., Colecção Schaum, 2006. N. S. Jayant, P. Noll, “Digital Coding of Waveforms, Principles and Applications to Speech and Video”, Prentice-Hall Signal Processing Series, 1970. N. S. Jayant, “Digital Coding of Waveforms: PCM, DPCM, and DM Quantizers”, Proc. IEEE, pp. 611-632, 1974. B. P. Lahti, “Sistemas de Comunicação”, Editora Guanabara, 1968. Y. Lai, “Implementation of Adaptive Differential Pulse-Code Modulation (ADPCM) Transcoder with the DSP16 Digital Signal Processor”, AT&T Appl. Note, 1988. S. P. Lloyd, “Least squares quantization in PCM”, Bell Telephone Laboratories Paper, 1957, republicado em IEEE Transactions on Information Theory 28 (2): 129-136, 1982. 270 Bibliografia Carlos Meneses J. L. LoCicero, B. P. Patel, Chapter 6 of Mobile Communication Handbook (J. Gibson) - “Line Coding”, Chapman & Hall/CRCnetBASE, 1999. J. Max, “Quantizing for Minimum Distortion”, IRE Trans. Inform. Theory, vol IT-6, pp. 7-12, Março de 1960. M. Schwartz, “Information Transmission Modulation and Noise”, 4 th Ed., Mc Graw Hill, 1990. C. E. Shannon, “Communication in the presence of noise”, Proc. IRE, vol. 37, pp. 10-21, January. 1949. B. Skalar, “Digital Communication – Fundamentals and Applications”, Prentice Hall, 2001.