ejemplo codigo hamming.pdf

17
Código Hamming Detección y corrección de errores 08/02/2014 I.M. Luis Angel Martinez Cabrera 1

Upload: german-bandala-valdivia

Post on 14-Jul-2016

230 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ejemplo codigo hamming.pdf

Código Hamming

Detección y corrección de errores

08/02/2014 I.M. Luis Angel Martinez Cabrera 1

Page 2: ejemplo codigo hamming.pdf

Información

Publicado en 1950 por Richard Hamming.

Se puede detectar error en un bit y corregirlo.

Para errores en dos bits se utiliza Hamming extendido (pero no corrige).

Se utiliza para reparar errores en la trasmisión de datos, donde puede haber perdidas.

08/02/2014 I.M. Luis Angel Martinez Cabrera 2

Page 3: ejemplo codigo hamming.pdf

Bits paridad/Bits datos

Agrega tres bits adicionales de

comprobación por cada cuatro bits de

datos del mensaje.

Bits de paridad: Bits cuya posición es

potencia de 2 (1,2,4,8,16,32,64,…)

Bits de datos: Bits del resto de posiciones

(3,5,6,7,9,10,11,12,13,14,15,17…)

08/02/2014 I.M. Luis Angel Martinez Cabrera 3

Page 4: ejemplo codigo hamming.pdf

Algoritmo

Cada bit de paridad se obtiene con la

paridad de algunos de los bits de datos:

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..

08/02/2014 I.M. Luis Angel Martinez Cabrera 4

Page 5: ejemplo codigo hamming.pdf

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

Page 6: ejemplo codigo hamming.pdf

Ejemplo: 0110101

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7

Palabra s/p 0 1 1 0 1 0 1

P1 1 0 1 0 1 1

P2

P3

p4

Palabra c/p

08/02/2014 I.M. Luis Angel Martinez Cabrera 6

Page 7: ejemplo codigo hamming.pdf

Ejemplo: 0110101

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7

Palabra s/p 0 1 1 0 1 0 1

P1 1 0 1 0 1 1

P2 0 0 1 0 0 1

P3

p4

Palabra c/p

08/02/2014 I.M. Luis Angel Martinez Cabrera 7

Page 8: ejemplo codigo hamming.pdf

Ejemplo: 0110101

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7

Palabra s/p 0 1 1 0 1 0 1

P1 1 0 1 0 1 1

P2 0 0 1 0 0 1

P3 0 1 1 0

p4

Palabra c/p

08/02/2014 I.M. Luis Angel Martinez Cabrera 8

Page 9: ejemplo codigo hamming.pdf

Ejemplo: 0110101

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7

Palabra s/p 0 1 1 0 1 0 1

P1 1 0 1 0 1 1

P2 0 0 1 0 0 1

P3 0 1 1 0

P4 0 1 0 1

Palabra c/p

08/02/2014 I.M. Luis Angel Martinez Cabrera 9

Page 10: ejemplo codigo hamming.pdf

Ejemplo: 0110101

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7

Palabra s/p 0 1 1 0 1 0 1

P1 1 0 1 0 1 1

P2 0 0 1 0 0 1

P3 0 1 1 0

P4 0 1 0 1

Palabra c/p 1 0 0 0 1 1 0 0 1 0 1

08/02/2014 I.M. Luis Angel Martinez Cabrera 10

Page 11: ejemplo codigo hamming.pdf

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

Page 12: ejemplo codigo hamming.pdf

Comprobando Error

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad

Palabra s/p 0 1 1 0 0 0 1

P1 1 0 1 0 0 1

P2 0 0 1 0 0 1

P3 0 1 1 0

P4 0 0 0 1

Palabra c/p 1 0 0 0 1 1 0 0 0 0 1

08/02/2014 I.M. Luis Angel Martinez Cabrera 12

Page 13: ejemplo codigo hamming.pdf

Comprobando Error

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad

Palabra s/p 0 1 1 0 0 0 1

P1 1 0 1 0 0 1 1

P2 0 0 1 0 0 1

P3 0 1 1 0

P4 0 0 0 1

Palabra c/p 1 0 0 0 1 1 0 0 0 0 1

08/02/2014 I.M. Luis Angel Martinez Cabrera 13

Page 14: ejemplo codigo hamming.pdf

Comprobando Error

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad

Palabra s/p 0 1 1 0 0 0 1

P1 1 0 1 0 0 1 1

P2 0 0 1 0 0 1 0

P3 0 1 1 0

P4 0 0 0 1

Palabra c/p 1 0 0 0 1 1 0 0 0 0 1

08/02/2014 I.M. Luis Angel Martinez Cabrera 14

Page 15: ejemplo codigo hamming.pdf

Comprobando Error

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad

Palabra s/p 0 1 1 0 0 0 1

P1 1 0 1 0 0 1 1

P2 0 0 1 0 0 1 0

P3 0 1 1 0 0

P4 0 0 0 1

Palabra c/p 1 0 0 0 1 1 0 0 0 0 1

08/02/2014 I.M. Luis Angel Martinez Cabrera 15

Page 16: ejemplo codigo hamming.pdf

Comprobando Error

p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad

Palabra s/p 0 1 1 0 0 0 1

P1 1 0 1 0 0 1 1

P2 0 0 1 0 0 1 0

P3 0 1 1 0 0

P4 0 0 0 1 1

Palabra c/p 1 0 0 0 1 1 0 0 0 0 1

08/02/2014 I.M. Luis Angel Martinez Cabrera 16

Page 17: ejemplo codigo hamming.pdf

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