Académique Documents
Professionnel Documents
Culture Documents
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.
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)
Algoritmo
Cada bit de paridad se obtiene con la paridad de algunos de los bits de datos:
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..
Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p
P1 P2 P3 p4 Palabra c/p
Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p
P1 P2 P3 p4 Palabra c/p 1
0
0
1
1
0
0
1
1
1
1
Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p
P1 P2 P3 p4 Palabra c/p 1 0
0
0 0
1
1
0
0
1
1
1
1
Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p
P1 P2 P3 p4 Palabra c/p 1 0
0
0 0 0
1
1
0
0
1
1
1
1
1 1 1
0 0
Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p
P1 P2 P3 P4 Palabra c/p 1 0
0
0 0 0
1
1
0
0
1
1
1
1
1 1 1
0 0 0 1
Ejemplo: 0110101
p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7 Palabra s/p
P1 P2 P3 P4 Palabra c/p 1 0 0 0 1 1 0 1 0
0
0 0 0
1
1
0
0
1
1
1
1
1 1 1
0 0 0 0 1 1
0 0
1 1
Comprobando Error
Ahora supongamos que el 3 bit de derecha a izquierda cambia de 1 a 0, la nueva palabra seria:
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 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1
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 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1
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 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0
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 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0
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 0 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1
Corrigiendo error
1001 = 9
10001100001