stringtranslate.com

Comprobació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 de forma independiente a cada uno de los grupos de flujos de bits paralelos. 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).

Código rectangular óptimo

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]

Pseudocódigo

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

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 de computadoras: un enfoque del usuario empresarial".
  3. ^ "Capítulo 1". Archivado desde el 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 información: Uso de paridad longitudinal para detectar errores en mensajes de información.
  8. ^ RFC  914. "Un protocolo Thinwire para conectar computadoras personales a INTERNET". Apéndice D: "Protocolo de interfaz de línea serie (SLIP)".