contenido

  1. ...


En informática, el código de Hamming es un código detector y corrector de errores que lleva el nombre de su inventor, Richard Hamming. En los datos codificados en Hamming se pueden detectar errores en un bit y corregirlos, sin embargo no se distingue entre errores de dos bits en adelante. La codificación Hamming representa una mejora respecto a los códigos con bit de paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.

Hamming (7,4) lo introdujo Richard Hamming en 1950. El código de Hamming (7.4) se refiere a que se agregan tres bits adicionales de comprobación por cada cuatro bits de datos del mensaje. El resultado es una palabra de 7 bits.

En Hamming se usa «paridad par de unos».

  1. El codificador Hamming acepta una palabra de 4 bits: w4

    w 4 Hamming coder w 7:4

    y devuelve una palabra de 7 bits: w7:4 de la cual tres bits son de paridad.

  2. Todos los bits cuya posición son potencia de dos, se usan como bits de paridad.

    w 4 Hamming coder 7d4 6d3 5d2 4p3 3d1 2p2 1p1

    El resto de las posiciones se usan para los bits de datos.

  3. Cada bit de paridad se genera según indica la tabla siguiente

    Posiciones que regula el bit «p1»
    1
    2
    3
    4
    5
    6
    7
    0 0 1
    0 1 0
    0 1 1
    1 0 0
    1 0 1
    1 1 0
    1 1 1
    bit «p1»
     
     
     
            
    Posiciones que regula el bit «p2»
    1
    2
    3
    4
    5
    6
    7
    0 0 1
    0 1 0
    0 1 1
    1 0 0
    1 0 1
    1 1 0
    1 1 1
     
    bit «p2»
     
     
            
    Posiciones que regula el bit «p3»
    1
    2
    3
    4
    5
    6
    7
    0 0 1
    0 1 0
    0 1 1
    1 0 0
    1 0 1
    1 1 0
    1 1 1
     
     
     
    bit «p3»


A continuación se muestra un sistema de comunicación simple, el cual será usado para demostrar las capacidades de la codificación Hamming.

w Hamming encoder 4 w 7:4 = w 4 & p 3 Tx Rx w 7:4 w 4 p 3 Hamming encoder posicion del bit erroneo Considérese la paralabra dato w4=1101

  7
d4
6
d3
5
d2
4
p3
3
d1
2
p2
1
p1
Palabra de datos (sin paridad) 1 1 0   1    
p1 1   0   1   0
p2 1 1     1 1  
p2 1 1 0 0      
Palabra de datos (con paridad): 1 1 0 0 1 1 0


Para calcular el respectivo bit de paridad pueden usarse compuertas xor de la forma siguiente:

p1=d1 xor d2 xor d4
p2=d1 xor d3 xor d4
p3=d2 xor d3 xor d4


Entonces la palabra codificada es: w7:4=1100110.