Está en la página 1de 10

CÓDIGOS BINARIOS CRC Y HAMMING

Carlos Luis Cepeda Yánez


e-mail: carlos_y.1721@hotmail.com
 Ana Liseth Quishpe Mena
e-mail:
lisphysicalmatt11229@gmail.com
Ingeniería Automotriz, 5to Nivel "A", Universidad de las Fuerzas
Armadas ESPE- Extensión
Latacunga, Marquez de Maenza S/N Latacunga, Ecuador.
Fecha de presentación: 10 de Noviembre del 2014
RESUMEN: 
 En el presente artículo se realizó la
investigación acerca de los códigos binarios CRC y
Hamming, donde los códigos binarios (CRC) son
conocidos también como redundancia cíclica, es un
código de detección de errores que se usa
frecuentemente en
redes
 digitales y en los dispositivos
de almacenamiento para detectar cambios accidentales
en los datos, en cambio el Código Hamming es
un
código detector y corrector de errores
, para lo cual
realizamos una investigación exhaustiva en el internet
 para poder obtener información acerca de dichos
códigos, analizando la información y colectar lo más
esencial de los contenidos relacionados con dicho
tema, con lo cual podremos conocer el procedimiento
 para implementar cada uno de estos códigos binarios y
conocer su funcionamiento en la informática y asi
implementarlo en su respectivo momento.
PALABRAS CLAVE
1 INTRODUCCIÓN
1.1 DETECCION DE ERRORES
Se denomina error a toda alteración que provoca
que un mensaje recibido no sea una copia fiel del
mensaje transmitido.
Debido a los defectos existentes en los medios
físicos utilizados para la transmisión, pueden producirse
errores en la información transmitida, caracterizándose
la calidad de la información por la tasa de errores. La
tasa de errores depende de las condiciones de los
elementos del soporte físico utilizado en la transmisión y
se expresa como la relación entre el número de bits
erróneos recibidos y el número total transmitidos. La
calidad de la información es incompatible, en algunos
casos, con los niveles de seguridad necesarios, en las
aplicaciones informáticas, por lo que es necesario
disponer de unos equipos que permitan detectar o
incluso corregir los errores producidos por la
transmisión.
Los errores que se producen en la transmisión
tienden a agruparse en ráfagas, en lugar de producirse
aisladamente. Este aspecto supone una ventaja, pues
facilita la detección de los errores, dado que, de esta
forma, afecta sólo a un subconjunto de la información
transmitida y es, por tanto, posible reconstruir este
subconjunto a partir del resto.
En todos los casos, la protección contra los errores
consiste en insertar en cada extremo del enlace un
dispositivo, un codificador y un decodificador.[1]
1.2 CODIGO HAMMING
En informática, el código de Hamming es un código
detector y corrector de errores que lleva el nombre de su
inventor, Richard Hamming. En los datos codificados en
Hamming se pueden detectar errores en un bit y
corregirlos.[2]
1.2.1 LA PARIDAD
La paridad consiste en añadir un bit,
denominado bit de paridad, que indique si el número de
los bits de valor 1 en los datos precedentes es par o
impar. Si un solo bit cambiara por error en la
transmisión, el mensaje cambiará de paridad y el error
se puede detectar (nótese que el bit donde se produzca
el error puede ser el mismo bit de paridad). La
convención más común es que un valor de
paridad
1
 indica que hay un número impar de unos en
los datos, y un valor de paridad de
0
 indica que hay un
número par de unos en los datos.
La comprobación de paridad no es muy robusta,
dado que si cambia de forma uniforme un número par de
bits, el bit de paridad será válido y el error no será
detectado. Se utiliza cuando se cumplen
simultáneamente dos condiciones: que la probabilidad
de que falle un bit es baja y que las fallas de bits son
sucesos independientes. De esta forma la probabilidad
de que fallen dos (o más) bits es muy baja, por lo que
cuando no detecta error es altamente probable que el
código sea efectivamente correcto. Cabe destacar que
dichas condiciones se ajustan al caso de las memorias
de las computadoras modernas pero no ocurre lo mismo
con los dispositivos de almacenamiento que guardan la
información en forma serial (un bit a continuación de
otro) ni con los sistemas de transmisión de datos
seriales ya que en estos casos el hecho que falle un bit
está vinculado, en forma no despreciable, a la falla de
otro adyacente.
Por otro lado, la paridad, aunque puede detectar
que hay error, no indica en qué bit se cometió. Los datos
se deben desechar por entero y volverse a transmitir. En
un medio ruidoso, una transmisión correcta podría tardar
mucho tiempo o incluso, en el peor de los casos, no
darse nunca. El chequeo de paridad, aunque no es muy
bueno, usa un único bit, por lo que produce muy poca
sobrecarga, y además permite la corrección de ese bit si
es conocida su posición.[3]
MECANISMO UTILIZADO PARA LA DETECCION
 Y CORRECCION DE ERRORES
 Adicionar ciertos bits de control llamados bits de
paridad al mensaje original. Los bits de paridad
corresponden a los bits que son potencias de 2: 1, 2, 4,
8, 16, etc. según el tamaño del mensaje. [4]
Figura 1. Posición bits de potencia. [4]
El mensaje se ubica en los bits restantes.
Figura 2. Ubicación del mensaje. [4]
Los bits de control o paridad se calculan basados
en unos criterios. Estos criterios se calculan
dependiendo del tamaño del mensaje.
Para un mensaje de longitud 4 se realiza lo
siguiente:
El bit de paridad 1 (P1) se calcula con la paridad de
los bits de datos 3, 5, 7.
El bit de paridad 2 (P2) se calcula con la paridad
de los bits de datos 3, 6, 7.
El bit de paridad 4 (P4) se calcula con la paridad de
los bits de datos 5, 6, 7.
Se envía el mensaje el receptor recalcula los bits
de paridad. Si no coinciden, el mensaje es errado.[4]
Figura 3. Comprobación del mensaje. [4]
Ejercicio: Enviar el siguiente mensaje 1101. El
mensaje se ubica en los bits correspondientes como lo
enunciamos anteriormente las potencias de 2 son
reservadas.
Figura 4. Ubicación del mensaje. [4]
Los bits de control o paridad se calculan y se
ubican.
Figura 5. Cálculo de los bits de control. [4]
Se envía el mensaje ocurre un error en la
transmisión, y el bit 5 falla.
Figura 6. Error de envío. [4]
El receptor realiza los cálculos de los bits de
paridad nuevamente para luego compararlos.
Figura 7. Comparación de mensajes. [4]
Con la respectiva comparación nos podemos dar
cuenta en q bits se está cometiendo un error en
comparación al mensaje real y analizamos que bits son
controlados por el bit de paridad 1 (P1) y el 4 (P4), pero
que no son controlados por P2. Procedemos al análisis:
El bit de paridad 1 (P1) se calcula con la paridad de
los bits de datos 3, 5, 7.
El bit de paridad 2 (P2) se calcula con la paridad
de los bits de datos 3, 6, 7.
El bit de paridad 4 (P4) se calcula con la paridad de
los bits de datos 5, 6, 7.
Por lo cual se llega a una conclusión que el bit que
estamos buscando es el 5 por lo cual esto nos indica
que el mismo estaba errado y se vuelve armar la cadena
original corrigiendo dicho bit.
1.3 CODIGO DE REDUNDANCIA CÍCLICA
(CRC)
Este apartado trata del código detector-corrector de
errores polinómico (también conocido como código de
redundancia cíclica CRC). El método de redundancia
cíclica (CRC Cyclic Redundancy Check) es otra técnica
muy usada para detección de errores. Trabaja al nivel de
mensaje, agregando varios caracteres de control al final,
siendo lo más común 2 o 4 bytes de control.
La técnica añade unos bits de CRC, de la siguiente
manera en tres pasos básicos:
1. Se añade una tira de n ceros, siendo n el
número inmediatamente menor al número de
bits del divisor predefinido (que tiene n+1 bits).
2.
Dividir la nueva unidad de datos por el divisor
predefinido usando un proceso de división
binaria.
Si el resto de la división es 0 es un dato correcto
caso contrario el sistema lo rechaza.
De acuerdo con las teorías de las reglas de la
teoría del campo algebraico, la aritmética del polinomio
se realiza en módulo 2. No hay términos de acarreo para
la suma ni de préstamo para la resta; las dos
operaciones son idénticas al

También podría gustarte