Você está na página 1de 5

TABLA DE CDIGOS ASCII

Hamming
Hoy, el cdigo de Hamming se refiere al (7.4) que Hamming introdujo en 1950. El cdigo de
Hamming agrega tres bits adicionales de comprobacin por cada cuatro bits de datos del
mensaje.
El algoritmo de Hamming (7.4) puede corregir cualquier error de un solo bit, y detecta todos
los errores de dos bits.
Para un ambiente en el que el ruido pueda cambiar como mximo 2 bits de 7, el cdigo
Hamming (7.4) es generalmente el de prdida mnima.
El medio tendra que ser muy ruidoso para que se perdieran ms de 2 bits de cada 7 (casi
el 45% de los bits transmitidos), y habra que considerar seriamente cambiar a un medio de
transmision ms fiable.

El algoritmo es simple:
1. Todos los bits cuya posicin es potencia de dos se utilizan como bits de paridad
(posiciones 1, 2, 4, 8, 16, 32, 64, etc.).
2. Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3, 5, 6, 7,
9, 10, 11, 12, 13, 14, 15, 17, etc.).
3. Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de datos. La
posicin del bit de paridad determina la secuencia de los bits que alternativamente
comprueba y salta, a partir de ste, tal y como se explica a continuacin.
* Posicin 1: salta 1, comprueba 1, salta 1, comprueba 1, etc.
* Posicin 2: comprueba 1, salta 2, comprueba 2, salta 2, comprueba 2, etc.
* Posicin 4: comprueba 3, salta 4, comprueba 4, salta 4, comprueba 4, etc.
* Posicin 8: comprueba 7, salta 8, comprueba 8, salta 8, comprueba 8, etc.
* Posicin 16: comprueba 15, salta 16, comprueba 16, salta 16, comprueba 16, etc.
* Y as sucesivamente.
As pues en la Posicin 1, comprobaramos los bits: 3, 5, 7, 9, 11...; en la Posicin 2, los
bits: 3, 6, 7, 10, 11, 14, 15...-; en la Posicin 4 tendramos: 5, 6, 7, 12, 13, 14, 15... As hasta
completar la nueva cadena.

Ejemplo
Consideremos la palabra de datos de 7 bits "0110101". Para ver cmo se generan y utilizan
los cdigos Hamming para detectar un error, observe las tablas siguientes. Se utiliza la d
para indicar los bits de datos y la p para los de paridad.
En primer lugar los bits de datos se insertan en las posiciones apropiadas y los bits de
paridad calculados en cada caso usando la paridad par.
Clculo de los bits de paridad en el cdigo Hamming p1 p2 d1 p3 d2 d3 d4 p4 d5 d6 d7
Palabra de datos (sin paridad): 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 de datos (con paridad): 1 0 0 0 1 1 0 0 1 0 1
La nueva palabra de datos (con los bits de paridad) es ahora "10001100101". Consideremos
ahora que el bit de la derecha, por error, cambia de 1 a 0. La nueva palabra de datos ser
ahora "10001100100"; cuando se analice el modo en que se obtienen los bits de paridad en
los cdigos de Hamming se observarn variaciones en la paridad, lo que significar que hay
error.
Comprobacin de los bits de paridad (con primer bit de la derecha cambiado) p1 p2 d1 p3
d2 d3 d4 p4 d5 d6 d7 Prueba de paridad Bit de paridad
Palabra de datos recibida: 1 0 0 0 1 1 0 0 1 0 0
p1 1 0 1 0 1 0 Error 1
p2 0 0 1 0 0 0 Error 1

p3 0 1 1 0 Correcto 0
p4 0 1 0 0 Error 1
El paso final es evaluar los bits de paridad (recuerde que el fallo se encuentra en d7). El
valor entero que representan los bits de paridad es 11, lo que significa que el bit dcimo
primero de la palabra de datos (bits de paridad incluidos) es el errneo y necesita ser
cambiado.
p4 p3 p2 p1
Binario 1 0 1 1
Decimal 8 2 1 Σ = 11
Cambiando el bit dcimo primero 10001100100 se obtiene de nuevo 10001100101.
Eliminando los bits de paridad de Hamming se vuelve a obtener la palabra de datos original
0110101.
Observe que en la comprobacin de la paridad no se tienen en cuenta los bits de paridad. Si
el error se produjera en uno de ellos, en la comprobacin slo se detectara un error, justo el
correspondiente al bit de paridad causante del mismo.
Finalmente, cuando cambien dos bits, en la comprobacin de paridad se obtendr un valor
decimal superior a 11, detectndose el error; sin embargo no se podrn saber las posiciones
de los dos bits que cambiaron.
Tambin se pueden corregir errores de datos con distancia uno de la siguiente forma:
Ejemplo 1.27. Se han recibido los datos a, b, c, d codificados en Hamming de 7 bits con
paridad par, y es necesario detectar y corregir los bits con errores.
a) 1100100; b) 1110101; c) 1010101; d) 1110111
Solucin (a): Para mantener la paridad par en el grupo 2,3,6,7 debe cambiarse el bit de la
posicin 2 (C2). El dato corresponde a 1101.
I7
1

Solucin (b): Para mantener la paridad par en los grupos 2,3,6,7 y 4,5,6,7 se debe cambiar
el bit de la posicin 6 (I6) para obtener la paridad correcta. El dato es: 1011.
I7
1

Solucin (c): En este caso, no hay error en el dato enviado.

I7
1
I7
1
I7
1
I7
1
Solucin (d): Para mantener la paridad par en los grupos 4,5,6,7 se debe cambiar el bit de
la posicin 4 (C4) para obtener la paridad correcta. El dato es: 1111.
I7
1

Los casos a y d pueden ser aceptados como errores dobles o simple. Sin embargo, al
asumir algn cambio en los bits de chequeo implica descartar errores dobles en los bits de
informacin. Debido a esto, en el ejemplo 1.27(a) pueden ser considerado los cambios de
los bits I7 e I5. De esta misma forma, en el ejemplo 1.27(d), los cambios pueden ocurrir en
los bits I7 e I3. Los cambios dobles (distancia dos) no pueden ser corregidos con el cdigo
Hamming de 7 bits, sin embargo, para resolver esto es necesario el cdigo Hamming de 8
bits.

Leer ms: http://www.monografias.com/trabajos32/sistemas-numericos/sistemasnumericos3.shtml#ixzz4JvDyjHdZ

Você também pode gostar