Articulo de referencia

Verificación de redundancia longitudinal

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 d...

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 un grupo paralelo 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 se aplica generalmente a un único bit de paridad por flujo de bits, calculado independientemente de todos los demás flujos de bits ( BIP-8 ). [ 1 ] [ 2 ]

Esta palabra LRC "adicional" al final de un bloque de datos es muy similar a la suma de verificación y a la comprobación de redundancia cíclica (CRC).

Código rectangular óptimo

Si bien la paridad longitudinal simple solo puede detectar errores, se puede combinar con codificación de control de errores adicional, como una verificación de redundancia transversal (TRC), para corregirlos . La verificación de redundancia transversal se almacena en una "pista de paridad" dedicada.

Siempre que se produce un error de un solo bit en un bloque de datos de transmisión, esta comprobación de paridad bidimensional, o "comprobación de paridad de dos coordenadas", [ 3 ] permite al receptor utilizar el TRC para detectar en qué byte se produjo el error y el LRC para detectar exactamente en qué pista se produjo el error, para descubrir exactamente qué bit es erróneo y luego corregir ese bit invirtiéndolo. [ 4 ] [ 5 ] [ 6 ]

Pseudocódigo

La norma internacional ISO 1155 [ 7 ] establece que una comprobación de redundancia longitudinal para una secuencia de bytes puede calcularse en software mediante el siguiente algoritmo:

lrc := 0 para cada byte b en el búfer hacer lrc := ( lrc + b ) y 0xFF lrc := ((( lrc XOR 0xFF) + 1) y 0xFF)

que se puede expresar como "el valor de complemento a dos de 8 bits de la suma de todos los bytes módulo 2 8 " ( x AND 0xFFes equivalente a ).x MOD 28

Otras formas

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 serie (SLIP, que no debe confundirse con el posterior y conocido Protocolo de Internet de Línea Serie ), [ 8 ] el estándar IEC 62056 -21 para la lectura de contadores eléctricos, tarjetas inteligentes como se definen en ISO/IEC 7816 y el protocolo ACCESS.bus .

Una LRC de 8 bits como esta es equivalente a una comprobación de redundancia cíclica utilizando el polinomio x 8 + 1, pero la independencia de los flujos de bits es menos clara cuando se observa de esa manera.

Referencias

  1. RFC 935 : "Protocolos de capa de enlace confiables".  
  2. "Errores, detección de errores y control de errores: comunicaciones de datos y redes informáticas: un enfoque para el usuario empresarial" .
  3. "Capítulo 1" . Archivado del original el 13 de junio de 2013. Consultado el 20 de agosto de 2012 .
  4. Gary H. Kemmetmueller. "Corrección de errores de RAM mediante comprobación de paridad bidimensional" .
  5. Oosterbaan. «Paridad longitudinal» .
  6. "Errores, detección de errores y control de errores" .
  7. ISO 1155:1978 Procesamiento de la información: Uso de la paridad longitudinal para detectar errores en los mensajes de información .
  8. RFC 914. "Un protocolo Thinwire para conectar ordenadores personales a INTERNET". Apéndice D: "Protocolo de interfaz de línea serie (SLIP)".