Cdigo Hamming Deteccin y correccin de errores Informacin

  • Slides: 17
Download presentation
Código Hamming Detección y corrección de errores

Código Hamming Detección y corrección de errores

Información Publicado en 1950 por Richard Hamming. n Se puede detectar error en un

Información Publicado en 1950 por Richard Hamming. n Se puede detectar error en un bit y corregirlo. n Para errores en dos bits se utiliza Hamming extendido (pero no corrige). n Se utiliza para reparar errores en la trasmisión de datos, donde puede haber perdidas. n

Bits paridad/Bits datos Agrega tres bits adicionales de comprobación por cada cuatro bits de

Bits paridad/Bits datos Agrega tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje. n Bits de paridad: Bits cuya posición es potencia de 2 (1, 2, 4, 8, 16, 32, 64, …) n Bits de datos: Bits del resto de posiciones (3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17…) n

Algoritmo n Cada bit de paridad se obtiene con la paridad de algunos de

Algoritmo n Cada bit de paridad se obtiene con la paridad de algunos de los bits de datos: n n Posición 1 : Salta 0, Comp 1, Salta 1, Comp 1… Posición 2 : Salta 1, Comp 2, Salta 2, Comp 2… Posición 4 : Salta 3, Comp 4, Salta 4, Comp 4… Posición n : Salta n-1, Comp n, Salta n, Comp n. .

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Palabra s/p P 1 P 2 P 3 p 4 Palabra c/p 0 1 1 0 1

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Palabra s/p P 1 P 2 P 3 p 4 Palabra c/p 1 0 1 0 1 0 1 1

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Palabra s/p P 1 P 2 P 3 p 4 Palabra c/p 1 0 0 1 0 1 0 0 1 1 0 1

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Palabra s/p P 1 P 2 P 3 p 4 Palabra c/p 1 0 0 1 1 0 1 0 0 1 1 0 1

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Palabra s/p P 1 P 2 P 3 P 4 Palabra c/p 1 0 0 1 1 0 1 0 0 1 1 0 1

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4

Ejemplo: 0110101 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Palabra s/p P 1 1 P 2 0 0 1 0 P 3 0 1 1 0 1 0 P 4 Palabra c/p 1 0 0 0 1 1 0 1 0 1 0 1

Comprobando Error n Ahora supongamos que el 3° bit de derecha a izquierda cambia

Comprobando Error n Ahora supongamos que el 3° bit de derecha a izquierda cambia de 1 a 0, la nueva palabra seria: 10001100101 => 10001100001

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Bit paridad Palabra s/p P 1 1 P 2 0 0 1 0 P 3 0 1 1 0 0 1 0 P 4 Palabra c/p 1 0 0 0 1 1 0 1 0 0 0 1

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Bit paridad Palabra s/p P 1 1 P 2 0 0 1 0 P 3 0 1 1 0 0 1 0 P 4 Palabra c/p 1 0 0 0 1 1 0 1 0 0 0 1 1

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Bit paridad Palabra s/p P 1 1 P 2 0 0 1 0 P 3 0 1 1 0 0 1 0 P 4 Palabra c/p 1 0 0 0 1 1 1 0 0 0 0 1

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Bit paridad Palabra s/p P 1 1 P 2 0 0 1 0 P 3 0 1 1 0 0 1 0 P 4 Palabra c/p 1 0 0 0 1 1 1 1 0 0 0 1

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3

Comprobando Error p 1 p 2 d 1 p 3 d 2 d 3 d 4 p 4 d 5 d 6 d 7 Bit paridad Palabra s/p P 1 1 P 2 0 0 1 0 P 3 0 1 1 0 0 1 0 P 4 Palabra c/p 1 0 0 0 1 1 1 1 0 0 0 1 1

Corrigiendo error n Los bits de paridad nos dicen que el error esta en

Corrigiendo error n Los bits de paridad nos dicen que el error esta en la posición: 1001 = 9 n El error está en el 9° bit: 10001100001 n El número original era: 10001100101 = 0110101