Códigos de Redundancia Cíclica (CRC)

Los códigos de redundancia cíclica (CRC) son un potente sistema -muy usado en comunicaciones y en dispositivos de hardware- para detectar si la información está corrupta (dañada). Trabaja al nivel de mensaje, agregando varios caracteres de control al final, siendo lo más común 2 o 4 bytes de control.

Principalmente, estos códigos CRC -también llamados códigos polinómicos– usan un polinomio generador G(x) de grado r con n bits de datos binarios (coeficientes del polinomio de orden n-1).

Algoritmo

El algoritmo para calcular la redundancia es el siguiente:

  1. Sea r el grado de G(x). Agregar r bits a cero al extremo de orden inferior de la trama, de tal manera que ahora contenga m + r bits, y corresponda al polinomio xrM(x).
  2. Dividir la serie de bits correspondientes a xrM(x) entre la serie de bits correspondientes a G(x), empleando la división en módulo 2.

Restar el resto (que siempre tiene r o menos bits) de la serie de bits correspondientes a xrM(x), empleando la resta en módulo 2. El resultado es la trama lista para trasmitir. Llámese T(x) a este polinomio.


Deja un comentario