Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cálculo de CRC[editar]
La mecánica de la informática con su lenguaje binario produce unas CRC simples. Los bits
representados de entrada son alineados en una fila, y el (n + 1) representa el patrón de bits
del divisor CRC (llamado polinomio) se coloca debajo de la parte izquierda del final de la
fila. Aquí está la primera de ellas para el cálculo de 3 bits de CRC:
Si la entrada que está por encima del extremo izquierdo del divisor es 0, no se hace nada y
se pasa el divisor a la derecha de uno en uno. Si la entrada que está por encima de la izquierda
del divisor es 1, el divisor es Or exclusiva en la entrada (en otras palabras, por encima de la
entrada de cada bit el primer bit conmuta con el divisor). El divisor es entonces desplazado
hacia la derecha, y el proceso se repite hasta que el divisor llega a la derecha, en la parte final
de la fila de entrada. Aquí está el último cálculo:
Desde la izquierda se divide por cero todos los bits de entrada, cuando este proceso termina
el único bits en la fila de entrada que puede ser distinto de cero es n bits más a la derecha, en
la parte final de la fila. Estos n bits son el resto de la división, y será también el valor de la
función CRC (es el CRC escogido a menos que la especificación de algún proceso posterior
lo cambie).
Matemáticas del CRC
Matemáticas del CRC
Este apartado se refiere al análisis matemático de este proceso de división, como pone de
manifiesto la manera de elegir un divisor que garantiza la detección de errores buenas
propiedades. En este análisis, los dígitos de las cadenas de bits son considerados como los
coeficientes de un polinomio en algunos variables x/coeficientes, que son elementos del
campo finito binario en lugar de los números decimales. Este «polinomio» forma unas
cadenas de bits que pueden observarse como elementos de un anillo. Un anillo es, hablando
en términos generales, un conjunto de elementos. Es decir, como los números que pueden ser
operados por una operación semejante pero no idéntica a la de la suma y además alguna otra
operación semejante a la multiplicación. Estas operaciones poseen muchas de las propiedades
de la aritmética: conmutativa, asociativa, y distributiva.
Código Hamming
El código Hamming sugiere, que si añadimos junto al mensaje más bits detectores-
correctores de error y si esos bits se pueden ordenar de modo que diferentes bits de error
producen diferentes resultados, entonces los bits erróneos podrían ser identificados. En un
conjunto de siete bits, hay sólo siete posibles errores de bit, por lo que con tres bits de control
de error se podría especificar, además de que ocurrió un error, en qué bit fue. Hamming
estudió los esquemas de codificación existentes, incluido el de dos entre cinco, y generalizó
sus conclusiones. Para empezar, desarrolló una nomenclatura para describir el sistema,
incluyendo el número de los bits de datos y el de los bits detectores-correctores de error en
un bloque.
Este código auto corrector permite detectar y corregir errores mediante el empleo de bits de
paridad con determinadas combinaciones únicas de bits de información. Para demostrar la
formación de una estructura que utiliza este código, emplearemos un carácter de 4 bits (I3, I5,
I6 e I7) de información e intercalaremos 3 bits de verificación de paridad (P1, P2 y P4).
Bits de información I3 I5 I6 I7
Bits de polaridad P1 P2 P4
Carácter resultante P1 P2 I3 P4 I5 I6 I7
La relación entre los bits de información y los de paridad están señalados en el cuadro
siguiente:
EJEMPLO DE APLICACIONES
DEL CODIGO HAMMING
I3 I5 I6 I7
CARÁCTER ORIGINAL 0 0 1 1
P1 P2 I3 P4 I5 I6 I7
CODIGO HAMMING FORMADO
1 0 0 0 0 1 1
Código de Hagelbarger
Este código detector-corrector de errores es capaz de corregir hasta 6 bits erróneos siempre
y cuando los sucedan al menos 19 bits válidos. La implementación del código de Hagelbarger
implica el empleo de un circuito codificador y un circuito decodificador. A continuación
muestra el codificador Hagelbarger:
Código de Hagelbarger
Este código detector-corrector de errores es capaz de corregir hasta 6 bits erróneos siempre
y cuando los sucedan al menos 19 bits válidos. La implementación del código de Hagelbarger
implica el empleo de un circuito codificador y un circuito decodificador. A continuación
muestra el codificador Hagelbarger:
El codificador Hagelbarger recibe los bits del mensaje y los pasa uno a la vez a través del
registro de 7 bits. Cada vez que entra un nuevo bit se genera un bit de paridad par a partir de
los bits contenidos en la primera y cuarta posición del registro. Los bits que salen del registro
de 7 bits y los bits de paridad generados se envían alternadamente por la línea de transmisión;
es decir, este código presenta una redundancia del 100%. De esta forma, todos los bits del
mensaje se encuentran enlazados, por medio de la paridad par, con el cuarto bit que le
precede y sucede.
El decodificador Hagelbarger recibe a la sucesión de bits y separa a los bits del mensaje de
los bits de paridad, enviando a estos últimos hacia un registro circulante. Después de recibir
a cada par de bits (uno del mensaje y otro de paridad) se efectúan 2 verificaciones de paridad
par, denominadas verificaciones de paridad A y B. Laverificación de paridad A comprueba
si las posiciones 1 y 4 del registro de mensajes son iguales mientras que laverificación de
paridad B verifica la igualdad de las posiciones 4 y 7 del mismo registro. Estas verificaciones
de paridad nos indican si debemos o no de invertir los valores de los bits de las posiciones 4
del registro de mensajes y7 del registro circulante antes de pasar a la siguiente posición
correspondiente, de acuerdo con la siguiente tabla de verdad.
PPA = 1 y PPB = 1
Cambio en la posición
ó
4 del registro de mensajes sí:
PPA = 0 y PPB = 1
PPA = 1 y PPB = 0
Cambio en la posición ó
7 del registro circulante sí: PP(PPA, posición 7 del registro
circulante) = 1
Código de Bose-Chaudhuri
Es un código que forma una clase de código de corrección de errores cíclicos que se
construyen utilizando campos finitos, fueron inventados en 1959 por el matemático francés
Alexis Hocquenghem, e independientemente en 1960 por Raj Bose y DK Ray-Chaudhuri.
Una de las características clave de los códigos es que durante el diseño del código, existe un
control preciso sobre el número de errores de símbolos corregibles.
En particular, es posible diseñar códigos binarios que puedan corregir múltiples errores de
bit. Otra ventaja es la facilidad con que se pueden decodificar, a saber, a través de un método
algebraico conocido como decodificación de síndrome. Esto simplifica el diseño del
decodificador para estos códigos, usando hardware electrónico pequeño de baja potencia.
Bibliografía
errores, d. d. (02 de 05 de 2009). http://www.serbi.ula.ve/serbiula/libros-
electronicos/Libros/trasmisiondedatos/pdf/CAPITULO%20VII.pdf. Obtenido de
http://www.serbi.ula.ve/serbiula/libros-
electronicos/Libros/trasmisiondedatos/pdf/CAPITULO%20VII.pdf:
http://www.serbi.ula.ve/serbiula/libros-
electronicos/Libros/trasmisiondedatos/pdf/CAPITULO%20VII.pdf