Site menu Modulação digital banda-base: códigos diferenciais

Modulação digital banda-base: códigos diferenciais

Este artigo estende o artigo introdutório sobre modulação banda-base onde o código Manchester foi devidamente explanado, e (assim espero) entendido e aceito pelo leitor como um código funcional.

Um problema com o código Manchester "sabor baunilha", na verdade um problema presente em muitos outros códigos de linha, é que uma inversão de polaridade (que inverte todos os chirps) fará o RX detectar uma mensagem totalmente invertida.

010
Mensagem
011001
Chirps da mensagem codificada em Manchester
100110
Manchester invertido
101
Mensagem interpretada pelo RX (errada, invertida!)

Isto pode acontecer mais facilmente do que você imagina. Cabos são fabricados com fios invertidos, os usuários plugam coisas do jeito errado, e alguns filtros que eliminam "DC bias" invertem o sinal no processo.

Uma solução simples e genial é codificar a mensagem baseando-se nas mudanças ou diferenças da seqüência de bits. Sem mudança é 0, com mudança é 1. As mudanças de nível são detectadas de forma confiável, independente da polaridade.

Para que o lado RX possa interpretar o sinal em termos diferenciais, o lado TX precisa enviar uma seqüência modificada. A forma mais simples de fazer isso é integrar, ou seja, ir somando os bits da mensagem (e considerar 1+1=0). Integrando de um lado, e diferenciando do outro, acabamos descobrindo a mensagem original.

01001110
Mensagem original
01110100
Mensagem integrada enviada pelo TX

... qualquer código de linha (e.g. Manchester) é usado aqui...

10001011
Mensagem integrada, recebida pelo RX, porém invertida
x1001110
Mensagem diferenciada, igual à original

Note que, na mensagem recebida, não podemos saber o valor do primeiríssimo bit, pois não tínhamos um bit anterior para calcular a diferença. Esta é outra razão pela qual um preâmbulo é importante: erros como este vão recair sobre o preâmbulo descartável, não sobre a mensagem.

Códigos diferenciais podem ser encarados como uma forma muito simples de codificação convolucional já que o significado de cada símbolo transmitido depende de um certo número de símbolos anteriores (neste caso, apenas dois).

O código Manchester diferencial também é conhecido na literatura como código FM (modulação de freqüência), utilizado em disquetes e discos rígidos antigos.