En las comunicaciones digitales , la codificación diferencial es una técnica que se utiliza para proporcionar una recepción de señal inequívoca cuando se utilizan algunos tipos de modulación . Hace que los datos transmisibles dependan tanto del estado de la señal (o símbolo) actual como del anterior.
Los tipos comunes de modulación que se pueden utilizar con codificación diferencial incluyen la modulación por desplazamiento de fase y la modulación de amplitud en cuadratura .
Cuando se transmiten datos a través de líneas balanceadas , es fácil invertir accidentalmente la polaridad en el cable entre el transmisor y el receptor.
Lo mismo ocurre con BPSK . Para demodular BPSK, es necesario sincronizar un oscilador local con el remoto. Esto se logra mediante un circuito de recuperación de portadora . Sin embargo, la parte entera de la portadora recuperada es ambigua. Hay n desfases válidos pero no equivalentes entre los dos osciladores. Para BPSK, n = 2; los símbolos aparecen invertidos o no.
La codificación diferencial evita que la inversión de la señal y los símbolos, respectivamente, afecten los datos.
Suponiendo que se trata de un bit destinado a la transmisión y que el símbolo fue transmitido recientemente, entonces el símbolo que se transmitirá es
donde indica adición binaria o módulo 2. En el lado de la decodificación, se recupera como
Es decir, depende únicamente de la diferencia entre los símbolos y no de sus valores (invertidos o no).
Hay varios códigos de línea diferentes diseñados para ser insensibles a la polaridad [1] : independientemente de que el flujo de datos esté invertido o no, los datos decodificados siempre serán correctos.
Los códigos de línea con esta propiedad incluyen codificación diferencial Manchester , codificación bipolar , NRZI , código de marca bifásica , inversión de marca codificada y codificación MLT-3 .
El método que se muestra arriba puede solucionar una inversión de flujo de datos (se denomina ambigüedad de 180° ). A veces es suficiente (por ejemplo, si se utiliza BPSK o si otros circuitos detectan otras ambigüedades, como un decodificador de Viterbi o un sincronizador de tramas ) y, a veces, no lo es.
En términos generales, se aplica una codificación diferencial a los símbolos (no necesariamente los mismos que se utilizan en el modulador). Para resolver únicamente la ambigüedad de 180° , se utilizan bits como símbolos. Cuando se trata de una ambigüedad de 90° , se utilizan pares de bits y se utilizan tripletes de bits para resolver una ambigüedad de 45° (por ejemplo, en 8PSK ).
Un codificador diferencial proporciona la operación ( 1 ), un decodificador diferencial , la operación ( 2 ).
Tanto el codificador diferencial como el decodificador diferencial son sistemas discretos lineales invariantes en el tiempo . El primero es recursivo y IIR , el segundo es no recursivo y, por lo tanto, FIR . Pueden analizarse como filtros digitales .
Un codificador diferencial es similar a un integrador analógico . Tiene una respuesta de impulso
y una función de transferencia
Un decodificador diferencial es por tanto similar a un diferenciador analógico , siendo su respuesta al impulso
y su función de transferencia
Tenga en cuenta que en aritmética binaria (módulo 2), la suma y la resta (y los números positivos y negativos) son equivalentes.
El uso de la relación no es la única forma de llevar a cabo la codificación diferencial. En términos más generales, puede ser cualquier función siempre que una ecuación tenga una y solo una solución para cualquier y .
La codificación diferencial se utiliza ampliamente en comunicaciones por satélite y radio junto con modulaciones PSK y QAM .
La codificación diferencial tiene un inconveniente importante: conduce a la multiplicación de errores. Es decir, si un símbolo como se recibió incorrectamente, se obtendrían dos símbolos incorrectos y en la salida del decodificador diferencial, véase: y . Esto duplica aproximadamente la BER en relaciones señal/ruido para las que rara vez se producen errores en símbolos consecutivos.
La codificación diferencial no es la única forma de tratar una ambigüedad de fase. La otra técnica popular es utilizar palabras de sincronización para este propósito. Es decir, si un sincronizador de tramas detecta palabras de sincronización invertidas repetidas, invierte todo el flujo. Este método se utiliza en DVB-S .