2. CÓDIGO HAMING
• Es un código que se utiliza en la detección y corrección de errores que se
producen en la transmisión de códigos binarios, la palabra de código se
conforma por los bits de comprobación y los bits de información.
• Las distancia mínima de Haming está dada por la siguiente ecuación:
Dm= 2X+1
• Donde Dm es la distancia mínima de un código para permitir la corrección
de datos y X es las líneas de datos.
• n: número de bits del código original que se pretende transmitir.
• p: número de bits de paridad par generados en el transmisor, o sea,
número de líneas que añadimos al código inicial.
• c: número de bits detectores de paridad par generados por el receptor.
3. CÓDIGO HAMING
• Combinaciones posibles
• Orden para asignar combinaciones
• 1. Combinación asignada a la situación en que no haya error en la transmisión.
• 2. Combinaciones asignadas a los bits de paridad generados en el transmisor.
• 3. Combinaciones asignadas a los bits de datos del código original.
• Notación (k,n)
• n = número de bits de información
• h = número de bits de la cadena = 2c -1
• La notación sería la siguiente (h,n)
4. CÓDIGO HAMING
# DE 2^ 2^ 2^ 2^ • Diseño de tabla para codificar datos de una fuente
#b Combinaciones "1" 3 2 1 0 CORRESPONDENCIA ASCII de 7 bits.
SITUACIÓN DE NO • Para la asignación de los eventos se realiza lo
b0 0 0000 0 0 0 0 0 ERROR siguiente:
b1 1 0001 1 0 0 0 1 BIT DE PARIDAD "1"
b2 2 0010 1 0 0 1 0 BIT DE PARIDAD "2" • Contar Número de unos en las combinaciones
b3 3 0011 2 0 0 1 1 DATO 1
b4 4 0100 1 0 1 0 0 BIT DE PARIDAD "3" • Si el número de unos es cero es una situación de no
b5 5 0101 2 0 1 0 1 DATO2 error y no se utiliza para enviar dato
b6 6 0110 2 0 1 1 0 DATO 3
b7 7 0111 3 0 1 1 1 DATO 4 • Si el número de unos es 1, debemos empezar a
b8 8 1000 1 1 0 0 0 BIT DE PARIDAD "4"
organizar los bits de paridad desde el primero hasta
el último y darles su respectiva asignación.
b9 9 1001 2 1 0 0 1 DATO 5
b10 10 1010 2 1 0 1 0 DATO 6
• Si el número de unos es 2 en estos deben colocarse
NO SE USA EN EL para los datos, si las combinaciones de 2 unos no
b11 11 1011 3 1 0 1 1 EJEMPLO son suficientes para los datos debemos empezar
b12 12 1100 2 1 1 0 0 DATO 7 con los de 3 y luego los de 4 así sucesivamente, se
NO SE USA EN EL prefiere que se coloquen los datos primero en los
grupos de 2.
b13 13 1101 3 1 1 0 1 EJEMPLO
NO SE USA EN EL
b14 14 1110 3 1 1 1 0 EJEMPLO
• Si no se tienen más datos esas líneas no son válidas
y se omiten en el sistema de verificación.
NO SE USA EN EL
b15 15 1111 3 1 1 1 1 EJEMPLO
5. CÓDIGO HAMING
• Los bits de paridad b1, b2, b4, b8, no tienen un
valor fijo este valor se encuentra por las
siguientes relaciones:
• b1 = b3 ⊕ b5 ⊕ b7 ⊕ b9 ⊕ b11 ⊕ b13 ⊕ b15
• b2 = b3 ⊕ b6 ⊕ b7 ⊕ b10 ⊕ b11 ⊕ b14 ⊕ b15
• b4 = b5 ⊕ b6 ⊕ b7 ⊕ b12 ⊕ b13 ⊕ b14 ⊕ b15
• b8 = b9 ⊕ b10 ⊕ b11 ⊕ b12 ⊕ b13 ⊕ b14 ⊕ b15
8. SÍNDROME Y CORRECCIÓN DE ERROR
• Como se observa en la recepción hay un valor
diferente de los datos transmitidos, si se
realizan los valores de b1, b2, b4, b8, son
distintos en ambos lados.
• Ahora debemos compararlo
9. SÍNDROME
• Es un proceso donde se suman los valores de bits de
paridad encontrados en el receptor con los valores de
paridad envidados, se debe realizar una operación
EXOR uno a uno y el resultado que se obtiene es la
ubicación donde se encuentra el error.
• Su formula es:
• Donde C son los bits de paridad de transmisión y envió.
10. CORRECCIÓN DE ERROR
• En el ejemplo es 0111 si
esto se pasa a decimal es
1 1 1 1 bloque par recibido 7 si vemos en la tabla del
ejemplo el dato que se
1 0 0 0 bloque par enviado
encuentra erróneo se
0 1 1 1 7 encuentra en la
combinación 7 la cual es
2^3 2^2 2^1 2^0 #b dato dañado la asignada al dato 4.
• Por lo tanto se realiza el
cambio de signo de 0 a 1
11. DETECCIÓN Y EFICIENCIA SOBRE
CANAL
• Si m es igual a la distancia mínima de un código Haming
podemos determinar que el factor de detección y
corrección de un código depende de:
• Además si n = numero de bits de la cadena de salida
• k = numero de bits de información
• La eficiencia sobre el canal de transmisión será la siguiente:
• n/k
• Con estos datos se puede obtener la siguiente tabla
13. HAMING EXTENDIDO
• El Código Haming extendido se logra con dos
métodos:
• 1 - Añadiendo un bit de paridad a cada
palabra de código
• 2- Añadir una ecuación general de paridad
• Para ambos casos la distancia de Haming debe
ser mayor o igual a 4
• Se puede corregir errores simples y errores
dobles.
14. CONCLUSIONES
• El código Haming fue uno de los códigos más importantes para el
desarrollo de corrección de errores, aún si un medio presenta una
distorsión muy alta en la cual se pierdan varios bits se puede aumentar la
distancia de Haming para corregir y verificar que los datos lleguen
correctamente a su destino.
• El síndrome es una operación que relaciona los bits de paridad por medio
de una función EXOR bit a bit, si este resultado es 0 en cada bit de paridad
no indica que el paquete de datos llego sin errores pero si nos indica un
error o un 1 nos debe indicar el lugar donde se presenta dicho problema.
• Para entender de una manera más sencilla la elaboración del código se
utilizaron tablas pero por lo general se utilizan matrices y relaciones entre
ellas para poder lograr relaciones cruzadas y obtener los valores de bits de
paridad.
• El sistema de códigos Haming es muy utilizado en elementos como
memorias y en comunicaciones en las tramas de Wifi.