|
|
|
| CRC 32 bits |
 |
El CRC o Código de Redundancia Cíclica (Cyclic Redundancy Check) es un método utilizado por los radio-módems FREEWAVE para verificar la integridad de los datos de transmisión, en acorde con el estándar internacional IEEE-802 para redes locales.
El CRC de 32 bits tiene actualmente un uso muy extendido, incluso hasta en el Departamento de Defensa de los EUA. Se considera hoy en día como el método más eficiente de comunicación digital en materia de detección y corrección de errores. Se puede implementar ya sea mediante un circuito cableado (hardware) o empleando un algoritmo de procesamiento digital (software).
Este código se basa en el principio de que n bits de datos se pueden considerar como los coeficientes de un polinomio de orden n-1. Por ejemplo, los datos 1101 pueden tratarse como el polinomio x³+ x²+1.
1x³+ 1x²+0x¹+1 = x³+ x²+1
A estos bits de datos se le agregan 32 "ceros" a la derecha llamados "bits de redundancia", 110100000000000000000000000000000000
posteriormente se obtiene el residuo de dividir el polinomio resultante de 32+n bits entre un polinomio llamado "generador polinomial " de 32 bits.
| |
|
cociente |
|
|
|
| generador polinomial |
| |
110100000000000000000000000000000000 |
| |
|
residuo |
El resultado de la sustracción binaria en Módulo 2 del polinomio de 32+n bits y el residuo de la mentada división representará la cadena de bits que habrá de ser transmitida.
110100000000000000000000000000000000-residuo = cadena a transmitir
El proceso de detección de errores, es equivalente a matemáticamente dividir la cadena de bits transmitida por un determinado binomio.
| |
|
cociente |
|
|
|
| binomio comprobador |
| |
cadena transmitida |
| |
|
0 |
Sólo si el residuo de esta nueva división es cero, la comunicación estará libre de errores.
Como ejemplo escriba un número binario no mayor a 32 dígitos y pulse checksum.
Circuito típico de CRC.
Los símbolos "+" representan al operador lógico XOR, mientras que los símbolos "g" a los coeficientes del polinomio que representa a los n bits de datos

|