Código Hamming
Enviado por sasukeuta • 3 de Noviembre de 2012 • 1.025 Palabras (5 Páginas) • 1.000 Visitas
EL CODIGO HAMMING
El código de Hamming es un código detector y corrector de erroresque lleva el nombre de su inventor, Richard Hamming.
El código de Hamming agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje.
Número de bits de paridad.- Si el número de bits de datos se designa por d, entonces el número de bits de paridad, p, se determina mediante la siguiente relación:
2^p≥d+p+1
Por ejemplo, si tenemos cuatro bits de datos, entonces p se calcula por el método de prueba y error usando la ecuación de arriba. Sea p=2 2^p=4
2^p≥d+p+1
4+2+1=7
Puesto que 2^p tiene que ser igual o mayor que d+p+1, la relación de la ecuación no satisface. Probamos de nuevo, sea p=3. Luego
2^p=2^3=8
d+p+1=4+3+1=8
Este valor de p satisface la relación por lo que se necesitan tres bits de paridad para poder corregir un único error en cuatro bits de datos. Se debe destacar que se proporciona la detección y corrección de errores para todos los bits, tanto de parodad como de datos, del grupo de códigos
Colocación de los bits de paridad en el código.- Para el ejemplo los bits de paridad se sitúan en las posiciones siguientes: bit1, bit2, bit3, bit4, bit5, bit6, bit7, haciéndolas corresponder con las potencias de dos en sentido ascendente (1, 2, 4, 8…), del modo siguiente
En otras palabras:
1. Todos los bits cuya posición es potencia de dos se utilizan como bits de paridad (posiciones 1, 2, 4, 8, 16, 32, 64, etc.).
2. Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, etc.).
3. Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de datos. La posición del bit de paridad determina la secuencia de los bits que alternativamente comprueba y salta, a partir de éste, tal y como se explica a continuación.
El número de posición en binario para el bit de paridad P_1 tiene un 1 como su dígito más a la derecha. Este bit comprueba las posiciones de todos los bits, incluyéndose a sí mismo, que tienen un 1 en la misma posición, por tanto comprueba las posiciones 1, 3, 5,7, 9, 11, 13...
El número de posición en binario para el bit de paridad P_2 tiene un 1 en su posición intermedia. Este bit comprueba las posiciones de todos los bits, incluyéndose a sí mismo, que tienen un 1 en la misma posición, por tanto comprueba las posiciones 2, 3, 6, 7, 10, 11, 14, 15...
El número de posición en binario para el bit de paridad P_3 tiene un 1 como su bit más a la izquierda. Este bit comprueba las posiciones de todos los bits, incluyéndose a sí mismo, que tienen un 1 en la misma posición, por tanto comprueba las posiciones 4, 5, 6, 7, 12, 13, 14, 15, 20, 21, 22, 23...
En la Posición 8 (2^3 = 8) tendríamos: 8, 9, 10, 11, 12, 13, 14, 15, 24, 31...
Ejemplo.
Determinar el código Hamming para el número BCD 1001 (bits de datos), usando paridad par.
Paso 1.- Hallar el número de
...