Código Hamming

Detección y corrección de errores

08/02/2014

I.M. Luis Angel Martinez Cabrera

1

donde puede haber perdidas. 08/02/2014 I.Información     Publicado en 1950 por Richard Hamming.M. 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. Luis Angel Martinez Cabrera 2 .

5.M.14.6.17…) 08/02/2014 I.13.16.9. Bits de paridad: Bits cuya posición es potencia de 2 (1.10.8.64.2.4.…) Bits de datos: Bits del resto de posiciones (3.Bits paridad/Bits datos    Agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje.12.7.32. Luis Angel Martinez Cabrera 3 .15.11.

Luis Angel Martinez Cabrera 4 ..M. I. Comp n. Salta 1. Comp 1… Posición 2 : Salta 1. Comp 4. Comp 2… Posición 4 : Salta 3. Comp 4… Posición n : Salta n-1. Salta 2. 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. Comp 2. Comp n. Salta n.

Luis Angel Martinez Cabrera 5 .M.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.

Luis Angel Martinez Cabrera 6 .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.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.M. 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.M. Luis Angel Martinez Cabrera 8 .

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.M. Luis Angel Martinez Cabrera 9 .

M.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. Luis Angel Martinez Cabrera 0 0 1 1 0 1 0 1 0 1 0 1 0 1 10 .

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

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.

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. Luis Angel Martinez Cabrera 1 13 .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 .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 17 .M.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.