Codificação de Linha No seio de uma placa interligando chips digitais, o método tradicional para representar electricamente os 0s e os 1s lógicos é recorrer às tensões nominais 0 e 5 Volt; consideradas as distâncias mútuas envolvidas pequenas -, tal solução é simples e, ao menos quando são baixos o nível de ruído e os ritmos binários envolvidos, suficiente. Já no que respeita à transmissão a maiores distâncias - nomeadamente, entre as diversas salas dum edifício, ou entre edifícios distintos ou, seja, entre as carruagens do Metro, tal solução revela-se, a vários títulos, periclitante. No que se segue, são exploradas várias das soluções historicamente concebidas com vista à representação eléctrica dos bits 0 e 1 - e isso de um modo crítico: apreciando-lhes as respectivas vantagens e desvantagens. O leitor deverá ter em mente, todavia, que tal apresentação se destina a facilitar a compreensão das técnicas usadas. Codificação de Nível Um método particularmente óbvio, e simples, de codificar uma sequência de bits consiste em recorrer a um nível distinto para cada bit (0 e 1). Consoante a subsequente duração desse nível, eis duas variantes/pulse-shapes: - NRZ (Non Return To Zero): o nível mantém-se constante durante toda a duração do bit; - RZ (Return To Zero): o nível mantém-se constante durante metade da duração do bit, depois fica 0. Codificação Unipolar (Não-balanceada) É o que nomeadamente sucede no seio de uma placa de microprocessador - onde tipicamente se traduzem os 0s e 1s nas tensões 0 Volt e 3 Volt, respectivamente. O custo desta simplicidade é a emergência de uma componente contínua não nula - e, por consequência, um desperdício da potência de transmissão. Por exemplo, se fôr o caso da transmissão alternada dos bits 0 e 1, a potência média Unipolar - assumindo uma resistência de 1 Ohm - montará a 4,5 (=[0 2 +3 2 ]/2) e 2,25 Watt, respectivamente nas variantes NRZ e RZ. Codificação Bipolar (Balanceada) ou Claramente, a potência média será largamente reduzida - e essa é a solução preferida para linhas de transmissão a distância - se se codificar aquele par de bits em dois níveis à mesma distância relativa, 3 Volt, (para conservar idêntica a imunidade ao ruído), mas simetricamente dispostos em torno de 0 Volt. Nomeadamente, se se codificar os 0 e 1 respectivamente em -1,5 Volt e +1,5 Volt, o mesmo padrão de acima, que, em NRZ, resultava em 4,5 Watt, exige agora 2,25 Watt ([1,5 2 +1,5 2 ]/2) - isto é, apenas metade daquele valor. Como calcanhar de Aquiles de ambos os métodos (Unipolar e Bipolar), realce-se que nenhum deles evita a ausência de transições durante longas sequências de 0s ou 1s: uma sequência de apenas 0s advém traduzida por um nível estável contínuo... Em linhas de transmissão síncrona, tal obriga à adição de métodos de sincronismo... Vagueio-DC (DC Wander): O código de linha NRZ-Bipolar volve-se em uma sucessão de impulsos rectangulares que (antes de eventualmente filtrados) perduram durante o intervalo de sinalização T; a recordação do espectro de frequências de um impulso rectangular desde logo permite aventar que o espectro de frequência - para uma sequência de entrada aleatória - será do tipo sen x / x, cujas características são as seguintes: - energia nas baixas frequências; - ausência de energia na frequência de relógio, 1/T; - uma componente DC (frequência nula) de valor nada desprezável - e de facto com magnitude progressivamente crescente, se se der o caso de a sequência de entrada, ao invés de aleatória, advir uma prolongada sequência de 0s e 1s. O uso, nas linhas de transmissão, de técnicas (por ex., inserir transformadores para acoplamento ac, condensadores para eliminar loops de terra, a filtragem da componente dc...) - originam o vagueio DC : a amplitude do sinal gerado por longas sequência de 0s ou 1s cai gradualmente, para zero (são-lhe removidas as componentes de baixa frequência)... Em termos práticos, e ademais de, durante elas, se esvair a informação de sincronismo necessária ao receptor, advém mais difícil discernir correctamente entre os 0 e 1: a probabilidade de trocar um 1 por um 0 aumenta após uma longa sequência de 1s; a probabilidade de operar a troca inversa aumenta após uma longa sequência de 0s. Como afrontar este problema? Bem entendido, não bastará impedir o surgimento de longas sequências de 1s ou 0s pelo expediente da inserção periódica de transições de sincronismo: o fenómeno persistirá ainda e sempre que houver um desequilíbrio (imbalance) entre o número total de 0s e 1s expedidos! Urgem outros códigos de linha
Parêntesis: Codigos Auto-sincronizáveis Para um texto de introdução às comunicações, este assunto é pura curiosidade...
Codificação Manchester Em ordem a eliminar o vagueio DC, e assegurar um forte conteúdo de informação de sincronismo, têm sido seguidas duas linhas de solução: aumentar o espaço de código (é o caso seguido pelos códigos de linha AMI, BNZS, HDBn - códigos de três níveis -, entre outros), ou aumentar a largura de banda disponível - tal é o caso da codificação Manchester (ou digital biphase ou diphase). Na codificação Manchester, os bits 0 e 1 são codificados, cada um, em um ciclo completo de uma onda quadrada - todavia, de fases opostas. Em termos práticos, cada bit advém codificado por uma transição entre dois níveis de tensão de durações exactamente iguais (a metade do intervalo de duração do bit, T b ). Com isso, não apenas se garante uma forte componente de sincronismo (cada bit transporta o seu próprio sinal de sincronismo...), como, ademais, e porque aquela transição acontece exactamente no centro do bit, não existe lugar ao surgimento do vagueio DC. A contrapartida é o espalhamento do espectro da codificação Manchester, quando comparada com NRZ; agora, (cfr. figura ao lado) o espectro aparece centrado em 1/T b, com um primeiro espectral nulo ocorrendo em 2/T b. Confrontados os custos dos terminais para códigos de três níveis com os custos dos meios de transmissão, tal veio a ditar que a codificação Manchester é fundamentalmente utilizada em curtas distâncias - como é o caso da rede Ethernet.
Codificação Diferencial Os códigos de linha anteriores (nomeadamente, NRZ e Manchester) baseiam-se, todos eles, no seguinte princípio: para o receptor discernir qual o bit que acabou de receber, ele recorre ao expediente de comparar o sinal vindo da linha com uma amplitude, ou fase, de referência. Ora, precisamente, meios de transmissão há onde se torna difícil determinar, de um modo absoluto, tal referência - viabilizando que 1s venham erroneamente a ser entendidos como 0s e vice-versa! Uma solução para tal contratempo é recorrer a codificação diferencial, isto é, ao expediente de codificar um 1 através de uma alteração do estado, e 0 como ausência de alteração: doravante, ao receptor ser-lhe-á desnecessário um valor de referência, basta-lhe comparar o estado do sinal que pretende descodificar com o estado do sinal precedente - resolvendo-se em 1 se ele se modificou, e por um 0 no caso de ter permanecido inalterado. Para um fluxo de dados aleatórios (0s e 1s equiprováveis e não correlacionados), esse expediente não conduz a uma mudança no espectro resultante; mas origina uma duplicação na taxa de erros binários: se o detector cometer um erro ao estimar o estado de algum intervalo de sinalização, voltará certamente a cometê-lo no intervalo seguinte...
Página em construção... Codificação Multinível/M-ária