En telecomunicaciones, una comprobación de redundancia longitudinal (LRC), o comprobación de redundancia horizontal , es una forma de comprobación de redundancia que se aplica de forma independiente a cada uno de los grupos paralelos de flujos de bits. Los datos deben dividirse en bloques de transmisión , a los que se añaden los datos de comprobación adicionales.
El término generalmente se aplica a un solo bit de paridad por flujo de bits, calculado independientemente de todos los demás flujos de bits ( BIP-8 ). [1] [2]
Esta palabra LRC "extra" al final de un bloque de datos es muy similar a la suma de comprobación y a la verificación de redundancia cíclica (CRC).
Si bien la paridad longitudinal simple solo puede detectar errores, se puede combinar con una codificación de control de errores adicional, como una verificación de redundancia transversal (TRC), para corregir errores. La verificación de redundancia transversal se almacena en una "pista de paridad" dedicada.
Siempre que ocurre un error de un solo bit en un bloque de transmisión de datos, dicha verificación de paridad bidimensional, o "verificación de paridad de dos coordenadas", [3] permite al receptor utilizar el TRC para detectar en qué byte ocurrió el error, y el LRC para detectar exactamente en qué pista ocurrió el error, para descubrir exactamente qué bit está en error y luego corregir ese bit invirtiéndolo. [4] [5] [6]
La norma internacional ISO 1155 [7] establece que una comprobación de redundancia longitudinal para una secuencia de bytes se puede calcular en software mediante el siguiente algoritmo:
lrc := 0 para cada byte b en el buffer do lrc := ( lrc + b ) y 0xFF lrc := ((( lrc XOR 0xFF) + 1) y 0xFF)
que puede expresarse como "el valor de complemento a dos de 8 bits de la suma de todos los bytes módulo 2 8 " ( x AND 0xFF
es equivalente a ).x MOD 28
Muchos protocolos utilizan un byte de verificación de redundancia longitudinal basado en XOR (a menudo llamado carácter de verificación de bloque o BCC), incluido el protocolo de interfaz de línea serial (SLIP, que no debe confundirse con el posterior y conocido Protocolo de Internet de línea serial ), [8] el estándar IEC 62056 -21 para lectura de medidores eléctricos, tarjetas inteligentes como se define en ISO/IEC 7816 y el protocolo ACCESS.bus .
Un LRC de 8 bits como este es equivalente a una verificación de redundancia cíclica utilizando el polinomio x 8 + 1, pero la independencia de los flujos de bits es menos clara cuando se la analiza de esa manera.