Sei sulla pagina 1di 17

Cdigo Hamming

Deteccin y correccin de errores

08/02/2014

I.M. Luis Angel Martinez Cabrera

Informacin

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
trasmisin de datos, donde puede haber
perdidas.

08/02/2014

I.M. Luis Angel Martinez Cabrera

Bits paridad/Bits datos

Agrega tres bits adicionales de


comprobacin por cada cuatro bits de
datos del mensaje.
Bits de paridad: Bits cuya posicin 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

Algoritmo

Cada bit de paridad se obtiene con la


paridad de algunos de los bits de datos:

08/02/2014

Posicin 1 : Salta 0, Comp 1, Salta 1, Comp 1


Posicin 2 : Salta 1, Comp 2, Salta 2, Comp 2
Posicin 4 : Salta 3, Comp 4, Salta 4, Comp 4
Posicin n : Salta n-1, Comp n, Salta n, Comp n..

I.M. Luis Angel Martinez Cabrera

Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra s/p

P1
P2

P3
p4
Palabra c/p

08/02/2014

I.M. Luis Angel Martinez Cabrera

Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra s/p
P1

1
1

P2

P3
p4
Palabra c/p

08/02/2014

I.M. Luis Angel Martinez Cabrera

Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra s/p
P1
P2

1
0

1
1

P3
p4
Palabra c/p

08/02/2014

I.M. Luis Angel Martinez Cabrera

Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra s/p
P1
P2

P3

1
0

1
1

p4
Palabra c/p

08/02/2014

I.M. Luis Angel Martinez Cabrera

Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra s/p
P1
P2

P3

1
0

P4

1
1

Palabra c/p

08/02/2014

I.M. Luis Angel Martinez Cabrera

Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra s/p
P1

P2

P3

P4
Palabra c/p 1

08/02/2014

I.M. Luis Angel Martinez Cabrera

1
1

10

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

Comprobando Error
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad
Palabra s/p
P1

P2

P3

P4
Palabra c/p 1

08/02/2014

1
1

I.M. Luis Angel Martinez Cabrera

12

Comprobando Error
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad
Palabra s/p
P1

P2

P3

P4
Palabra c/p 1

08/02/2014

1
1

I.M. Luis Angel Martinez Cabrera

13

Comprobando Error
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad
Palabra s/p
P1

P2

P3

P4
Palabra c/p 1

08/02/2014

1
1

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

P2

P3

P4
Palabra c/p 1

08/02/2014

1
1

0
0

I.M. Luis Angel Martinez Cabrera

15

Comprobando Error
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Bit paridad
Palabra s/p
P1

P2

P3

P4
Palabra c/p 1

08/02/2014

1
1

0
0

I.M. Luis Angel Martinez Cabrera

16

Corrigiendo error

Los bits de paridad nos dicen que el error esta en


la posicin:

1001 = 9

El error est en el 9 bit:

10001100001

El nmero original era: 10001100101 = 0110101

08/02/2014

I.M. Luis Angel Martinez Cabrera

17

Potrebbero piacerti anche