Está en la página 1de 3

1.

ANTECEDENTES

• En el año 1987 Intel introdujo el circuito integrado 8206 cuya misión era detectar y
corregir errores en palabras de 8 o de 16 bits. Inicialmente su campo de aplicación era
corregir los posibles errores generados al leer datos desde una memoria.

• En el año 1996, la firma CML introdujo el circuito integrado FX909A. Se trata de un


modem para comunicaciones inalámbricas vía radio que incorpora la modulación GMSK.

Antes de los códigos Hamming se utilizaron ciertos códigos detectores de error, como lo
fueron el código linteing, pero ninguno llegó a ser tan eficaz como los de Hamming. Por
ejemplo:

Paridad: Consiste en añadir un bit, denominado bit de paridad, que indique si el número
de los bits de valor 1 en los datos precedentes es par o impar.

Dos entre cinco: Este código seguía únicamente detectando errores por cambio en un solo
bit; si en un mismo penta-bit un 0 cambiaba a 1 y un 1 cambiaba a 0, la regla de dos-
entre-cinco se seguía cumpliendo y el error quedaba sin descubrir

Repetición: Consistía en repetir cada bit de datos varias veces para asegurarse de que la
transmisión era correcta, el código de la repetición es extremadamente ineficaz.

2. INTRODUCCIÓN

El código Hamming fue publicado en el año de 1950 por el Richard W. Hamming sobre
la detección y corrección de errores. Actualmente son fundamentales en la teoría de
codificación y no solo en eso ya que se puede usar de diferentes formas.
Fundamentalmente estos códigos correctores de errores son usados por memorias,
comunicaciones por via satélite, módems, wi-fi y otros; estos códigos tienen una
orientación matemática. El código Hamming permite la coreccion y detección de los datos
que son enviados por un canal suceptible a ruido, este código usa canales donde la
retransmisión de un mensaje puede obstruir el canal, detectando y corrigiendo errores de
un bit o dos bits. Es uno de los códigos mas eficaces ya que estudio los esquemas de
codificación existentes, incluido el de dos entre cinco, y generalizó sus conclusiones,
desarrollando una nomenclatura para describir el sistema, incluyendo el número de los
bits de datos y el de los bits detectores-correctores de error en un bloque.

3. CONTENIDO

El código de Hamming se refiere al (7.4) que Hamming introdujo en 1950. El código de


Hamming agrega tres bits adicionales de comprobación 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 : El algoritmo es simple:
1. Todos los bits cuya posición 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 posición 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 continuación.

* Posición 1: salta 1, comprueba 1, salta 1, comprueba 1, etc.

* Posición 2: comprueba 1, salta 2, comprueba 2, salta 2, comprueba 2, etc.

* Posición 4: comprueba 3, salta 4, comprueba 4, salta 4, comprueba 4, etc.

* Posición 8: comprueba 7, salta 8, comprueba 8, salta 8, comprueba 8, etc.

* Posición 16: comprueba 15, salta 16, comprueba 16, salta 16, comprueba 16, etc.

Así pues en la Posición 1, comprobaríamos los bits: 3, 5, 7, 9, 11...; en la Posición 2, los


bits: 3, 6, 7, 10, 11, 14, 15...-; en la Posición 4 tendríamos: 5, 6, 7, 12, 13, 14, 15... Así
hasta completar la nueva cadena.

4. EJEMPLO CÓDIGO HAMMING

Consideremos la palabra de datos de 7 bits "0110101".

Cálculo de los bits de paridad en el código 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 códigos de Hamming se observarán variaciones en la paridad, lo
que significará que hay error.
Comprobación 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. El valor entero que representan los bits de
paridad es 11, lo que significa que el bit décimo primero de la palabra de es el erróneo y
necesita ser cambiado.

p4 p3 p2 p1

Binario 1 0 1 1

Decimal 8 2 1 Σ = 11

Cambiando el bit décimo primero 10001100100 se obtiene de nuevo 10001100101.


Eliminando los bits de paridad de Hamming se vuelve a obtener la palabra de datos
original 0110101.

5. APLICACIÓN

Esté método se utiliza en canales donde la retransmisión de un mensaje puede


congestionar el canal, este método se utiliza comúnmente en redes de Wi –Fi para la
transmisión de mensajes, su estudio nos mostrará como detecta y corrige errores de un bit
y como puede ser escalado para que detecte más errores mejorando la eficiencia en el
canal.

6. CONCLUSIONES Y RECOMENDACIONES

• Un bit de paridad es un dígito binario que indica si el número de bits con un valor
de 1 en un conjunto de bits es par o impar. Los bits de paridad conforman el
método de detección de errores más simple.
• La distancia Hamming permite establecer el número de bits erróneos que pueden
ser corregidos ó detectados
• El sistema de códigos Haming es muy utilizado en elementos como memorias y
en comunicaciones en las tramas de Wi-fi.

También podría gustarte