Codigo Hamming
Enviado por sirenitadelmar • 21 de Marzo de 2015 • 571 Palabras (3 Páginas) • 515 Visitas
El Código de Hamming es un
código de detección y corrección de errores
que lleva el nombre de su inventor, Richard
Hamming. Este código puede detectar
errores en uno o dos bits, y también corregir
errores en un solo bit. Esto representa una
mejora con respecto a otros códigos, que
pueden detectar errores en un solo bit, pero
no pueden corregirlo.
¿Cómo trabaja este código?
Obsérvese la siguiente figura:
Cuando se van a transmitir los datos,
se realiza el cálculo, representado por una
función f, para producir un código. Se
transmiten los datos y también el código,
así, si se va a enviar una palabra de datos de
M bits, y el código tiene una longitud de K
bits, el tamaño real de la palabra a
transmitir es de M + K bits.
Cuando la secuencia de bits llega a
destino, se utiliza el código para detectar
errores y/o corregirlos. Se genera un nuevo
código de K bits a partir de los M bits de
datos recibidos, que se compara con los bits
de código que se han recibido. Esta
comparación puede producir alguno de los
siguientes resultados:
Figura 5
Figura 6
• No se detectan errores. Se envían al
exterior los bits captados.
• Se detecta un error y es posible corregirlo.
Se dan a un corrector los bits más los bits
de corrección de error, lo que produce un
conjunto reducido de M bits a ser
enviados afuera.
• Se detecta un error; pero no es posible
corregirlo. Se informa de esta situación.
Los códigos que operan de esta
manera se conocen como “códigos
correctores de errores”. Un código se
caracteriza por el número de bits de error de
una palabra que puede corregir y detectar.
Para trabajar con el código
Hamming, se debe determinar el largo de
dicho código. Para ello, si observamos la figura anterior, la lógica de comparación
recibe como entrada dos valores de K bits.
La comparación bit a bit se hace mediante
la operación OR- exclusiva de las dos
entradas. El resultado se denomina palabra
síndrome. Cada bit del síndrome es 0 o 1
según haya o no coincidencia en esa
posición de bit para las dos entradas.
La palabra síndrome tiene una
longitud de K bits, y tiene un rango entre 0
y 2K-1. El valor 0 indica que no se ha
detectado un error, dejando 2K-1 valores
para indicar, si los bits de datos o de los de
K bits de comprobación, se debe cumplir:
2K
-1>= M + K
Esta inecuación da el número de bits
redundantes necesario para corregir el error,
de un solo bit,
...