Está en la página 1de 4

AA4 Ensayo Corrección y Detección de Errores por Medio del Código Hamming

Código Hamming
En el momento de trabajar con datos, puede ser que algunos bits se corrompan en
el momento de su transferencia o al almacenarlos, alguna de las formas de porque
los bits pueden corromperse es por ejemplo cuando un canal de transmisión es
afectado eléctricamente o magnéticamente es por eso que Richard Hamming
propuso en 1950 un algoritmo que fuera capaz de detectar y corregir dichos errores
la idea original o su funcionamiento es de agregar bits de redundancia o de paridad,
teniendo en cuenta el termino de paridad que consiste en añadir un bit, este bit se
denomina bit de paridad el cual indica si el número de los bits de valor igual a 1 en
los datos precedentes es par o impar. Entonces de esta manera si un bit cambiará
por error en la transmisión el mensaje cambiaría de paridad y de esta forma el error
seria detectado. La convención más común es que un valor de paridad 1 indica que
hay un número impar de unos en los datos, y un valor de paridad 0 indica que hay
un número par de unos en los datos, en conclusión Richard Hamming tuvo en
cuenta que si se añaden junto al mensaje más bits detectores-correctores de error
y si los bits se pueden ordenar de modo que diferentes bits de error producen
diferentes resultados, entonces los bits erróneos podrían ser identificados, y de esta
manera hacer que la transmisión llegara a su destino sin errores.

Ejemplos:
1.Ejemplo crear una palabra con paridad
Nomenclatura (N° bits totales, N° bits de información)
Ejemplo (11,7)
P: bit de paridad
D: bit de datos
Datos= 0101001
Algoritmo:
 Posición potencia de 2 son bits de paridad (20, 21, 22,…)
 El resto son datos.
 Cada bit de paridad calcula paridad de un conjunto de datos (no todos)
determinados por la posición del bit de paridad.
Se utiliza una tabla para halla de forma mecánica la palabra con paridad

P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7
Palabra 0 1 0 1 0 0 1
sin
paridad
P1 1 0 1 1 0 1
P2 0 0 0 1 0 1
P3 0 1 0 1
P4 1 0 0 1
Palabra 1 0 0 0 1 0 1 1 0 0 1
con
paridad

* En cada columna contado desde la segunda hasta la doce se hace la diferencia


entre lo que es paridad y lo que son datos, d= datos y P= paridad.
*En la tabla en la segunda fila se escribe el mensaje que nos da el ejercicio que son
en este caso son los bits de datos por lo tanto cada bit se escribe debajo de las D.
*Luego en la fila P1 que es la posición uno, se salta el 0 y se compara 1, salta 1 y
se compara uno, salta uno y se compara uno, a así sucesivamente con este orden
de idea se baja los datos D1, D2, D4, D5, D7, se suman los bits que tienen el número
uno, en este caso da un número impar por lo tanto en la celda p1 que se interceptan
tanto en columna como en fila tendrá el digito 1.
*En la fila P2, se comenzara a escribir teniendo en cuenta las siguientes posiciones,
salta uno compara 2, salta dos, compara dos, salta dos, compara dos, ya así
sucesivamente, en este caso se bajan los datos de las celdas D1, D3, D4, D6, D7,
se suman los bits que tienen el numero uno, en este caso da un número par por lo
tanto en la celda P2 que se interceptan tanto en columna como en fila tendrá el
digito 0.
*En la fila P3, se comenzara a escribir teniendo en cuenta las siguientes posiciones,
salta 3, compara 4, salta 4, compara 4 y así sucesivamente en este caso se bajan
los datos de las celdas D2, D3, D4, se suman los bits que tienen el número uno, es
este caso da un numero par por lo tanto en la celda P3 que se interceptan tanto en
columna como en fila tendrá el digito 0.
En la fila P4, se comenzará a escribir teniendo en cuenta las siguientes posiciones,
salta 7 compara 8, salta 8 compara 8 y así sucesivamente, en este caso se bajan
los datos de las celdas D5, D6, D7, se suman los bits que tienen el numero uno, en
este caso da un numero impar por lo tanto en la celda P4 que se interceptan tanto
en columna como en fila tendrá el digito 1.
Luego lo que se hace es bajar cada digito respetando si es uno o cero por columnas
en la fila que dice palabras con paridad, y de esta forma se llena la tabla.
2 comprobación de error
Suponemos que en el ejercicio anterior el 3° bir de derecha a izquierda cambia de
0 a 1, la nueva palabra seria
P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 Bit
Paridad
Palabra 0 1 0 1 1 0 1
sin
paridad
P1 1 0 1 1 1 1 1
P2 0 0 0 1 0 1 0
P3 0 1 0 1 0
P4 1 1 0 1 1
Palabra 1 0 0 0 1 0 1 1 1 0 1
con
paridad

*Lo primero que hay que hacer es poner la nueva palabra que tiene el error en la
fila que se denomina Palabra con paridad y luego se hace el procedimiento que se
hizo en el anterior ejercicio para buscar la palabra con paridad, pero ahora de arriba
hacia abajo.
* Luego se evalúa los bits por filas tomando solo en cuenta las celdas que tiene
p1,p2,p3,p4, y se hace el mismo procedimiento si es par se coloca 0 y si es impar
se coloca 1.
* Teniendo los bits en la columna Bit Paridad se procede a calcular la posición al
poner como base el número 2 y potencia según la posición en este caso seria de la
siguiente manera
1 0 0 1
23 22 21 20
8 0 0 1

Cada columna se multiplica y el resultado se suma con el resultado de cada columna


Por lo tanto, sería el resultado
8+0+0+1= 9
Y de esta manera sabemos que en la posición 9 está el error, dándonos como
verdadera esta afirmación.
Referencias
https://www.academia.edu/37934598/Resumen_sobre_C%C3%B3digo_Hamming_ASCII_y_C%C3
%B3digo_Siente_Segmentos_Septiembre_2018

También podría gustarte