Está en la página 1de 17

Código Hamming

Detección y corrección de errores

08/02/2014

I.M. Luis Angel Martinez Cabrera

1

Para errores en dos bits se utiliza Hamming extendido (pero no corrige). Se puede detectar error en un bit y corregirlo. Se utiliza para reparar errores en la trasmisión de datos. 08/02/2014 I. Luis Angel Martinez Cabrera 2 . donde puede haber perdidas.Información     Publicado en 1950 por Richard Hamming.M.

8.32.10.11.15. Bits de paridad: Bits cuya posición es potencia de 2 (1.…) Bits de datos: Bits del resto de posiciones (3.14.9.64.2.6.7.4.12.M.Bits paridad/Bits datos    Agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje. Luis Angel Martinez Cabrera 3 .13.17…) 08/02/2014 I.5.16.

. Salta 2. Salta n. Comp n. Comp 1. Salta 4.Algoritmo  Cada bit de paridad se obtiene con la paridad de algunos de los bits de datos:     08/02/2014 Posición 1 : Salta 0. Comp 1… Posición 2 : Salta 1.M. I. Comp n. Comp 2. Comp 4. Comp 2… Posición 4 : Salta 3. Comp 4… Posición n : Salta n-1. Luis Angel Martinez Cabrera 4 . Salta 1.

Luis Angel Martinez Cabrera 5 .Ejemplo: 0110101 p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p 0 1 1 0 1 0 1 P1 P2 P3 p4 Palabra c/p 08/02/2014 I.M.

Ejemplo: 0110101 p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p P1 1 0 1 0 1 1 0 1 0 1 0 1 1 P2 P3 p4 Palabra c/p 08/02/2014 I. Luis Angel Martinez Cabrera 6 .M.

M.Ejemplo: 0110101 p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p P1 P2 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 0 1 P3 p4 Palabra c/p 08/02/2014 I. Luis Angel Martinez Cabrera 7 .

Ejemplo: 0110101 p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p P1 P2 P3 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 0 1 1 0 1 p4 Palabra c/p 08/02/2014 I. Luis Angel Martinez Cabrera 8 .M.

M.Ejemplo: 0110101 p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p P1 P2 P3 1 0 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 0 P4 0 1 0 1 1 0 1 0 1 Palabra c/p 08/02/2014 I. Luis Angel Martinez Cabrera 9 .

M. Luis Angel Martinez Cabrera 0 0 1 1 0 1 0 1 0 1 0 1 0 1 10 .Ejemplo: 0110101 p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p P1 1 P2 0 0 1 0 1 0 P3 0 1 1 0 1 0 1 1 0 1 0 P4 Palabra c/p 1 08/02/2014 0 0 0 1 1 I.

M. la nueva palabra seria: 10001100101 => 10001100001 08/02/2014 I. Luis Angel Martinez Cabrera 11 .Comprobando Error  Ahora supongamos que el 3° bit de derecha a izquierda cambia de 1 a 0.

Luis Angel Martinez Cabrera 12 .Comprobando Error p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad Palabra s/p P1 1 P2 0 0 1 0 1 0 P3 0 1 1 0 0 0 0 1 0 1 0 P4 Palabra c/p 1 08/02/2014 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 I.M.

Luis Angel Martinez Cabrera 1 13 .Comprobando Error p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad Palabra s/p P1 1 P2 0 0 1 0 1 0 P3 0 1 1 0 0 0 0 1 0 1 0 P4 Palabra c/p 1 08/02/2014 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 I.M.

M. Luis Angel Martinez Cabrera 14 .Comprobando Error p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad Palabra s/p P1 1 P2 0 0 1 0 1 0 P3 0 1 1 0 0 0 0 1 0 1 0 P4 Palabra c/p 1 08/02/2014 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 0 0 0 1 I.

Comprobando Error p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad Palabra s/p P1 1 P2 0 0 1 0 1 0 P3 0 1 1 0 0 0 0 1 0 1 0 P4 Palabra c/p 1 08/02/2014 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 I.M. Luis Angel Martinez Cabrera 15 .

Luis Angel Martinez Cabrera 1 16 .M.Comprobando Error p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad Palabra s/p P1 1 P2 0 0 1 0 1 0 P3 0 1 1 0 0 0 0 1 0 1 0 P4 Palabra c/p 1 08/02/2014 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 I.

Corrigiendo error  Los bits de paridad nos dicen que el error esta en la posición: 1001 = 9  El error está en el 9° bit: 10001100001  El número original era: 10001100101 = 0110101 08/02/2014 I. Luis Angel Martinez Cabrera 17 .M.