Codigo De Hamming
jeff030820 de Marzo de 2013
876 Palabras (4 Páginas)416 Visitas
CÓDIGOS DE HAMMING.
Es un método general propuesto por R. W Hamming usando una distancia mínima m. Con este método, por cada entero m existe un código de hamming de 2m-1 bits que contiene m bits de paridad y 2m-1-m bits de información. En este código, los bits de paridad y los bits de paridad se encuentran entremezclados de la siguiente forma: Si se numeran las posiciones de los bits desde 1 hasta 2m-1, los bits en la posición 2k, donde , son los bits de paridad y los bits restantes son bits de información.
El valor de cada bit de paridad se escoge de modo que el total de unos en un número específico de bits sea par, y estos grupos se escogen de tal forma que ningún bit de información se cubra con la misma combinación de bits de paridad. Es lo anterior lo que proporciona al código su capacidad de corrección.
Para cada bit de paridad en la posición 2k, su grupo de bits de información correspondiente incluye todos esos bits de información correspondiente cuya representación binaria tenga un uno en la posición 2k. La siguiente tabla muestra los grupos de paridad para un código de hamming de 7 bits o sea de la forma 2m-1 con m = 3. En este ejemplo, los bits de información son 4 y los bits de paridad son 3. Los bits de información están en las posiciones 7, 6, 5 ,3. Los bits de paridad están en las posiciones 1, 2, 4.
En la tabla anterior, el grupo de paridad del bit de paridad situado en la posición 4 son los bits de información situados en las posiciones 7, 6, 5 que contienen unos en la posición 2k o sea 4 cuando k = 2.
El grupo de paridad del bit de paridad situado en la posición 2 son los bits de información situados en las posiciones 7, 6, 3 que contienen unos en la posición 2k o sea 2 cuando k = 1.
El grupo de paridad del bit de paridad situado en la posición 1 son los bits de información situados en las posiciones 7, 5, 3 que contienen unos en la posición 2k o sea 1 cuando K = 0.
Como 111 es la representación binaria de 7, el bit de información en la posición 7 se usa para calcular el valor de los tres bits de paridad. Similarmente, el bit de información en la posición 6 se usa para calcular el valor de los bits de paridad en las posiciones 4 y 2; el bit de información en la posición 5 se usa se usa para calcular el valor de los bits de paridad en las posiciones 4 y 1. Finalmente, el bit de información en la posición 3 se usa para calcular el valor de los bits de paridad en las posiciones 2 y 1.
De acuerdo con estos grupos de paridad, el valor del bit de paridad de la posición 1 tiene que elegirse de modo que el número de unos en las posiciones 7, 5, 3, 1 sea par, mientras el bit de paridad en la posición 2 hace el número de unos par 7, 6, 3, 2 y el valor del bit de paridad en la posición cuatro hace el número de unos par en las posiciones 7, 6, 5, 4.
Es fácil observar que, en estas condiciones, la distancia mínima es 3, o sea que tienen que haber al menos tres cambios de un bit para convertir una palabra de código en otra.
Para probar que un cambio de un bit siempre genera una palabra que no pertenece al código, hay que observar que un cambio de un bit en una palabra del código afecta al menos un bit de paridad.
Por otra parte, un cambio de dos bits en una palabra del código no cambia el valor del bit de paridad si ambos bits pertenecen al mismo grupo de paridad. Sin embargo ello no es posible ya que para dos posiciones cualquiera de una palabra del código siempre hay un grupo de paridad que no incluye ambas posiciones. En otras palabras, como dos bits cualquiera deben estar en distintas posiciones, sus números binarios deben diferir al menos en un bit, así que siempre hay al menos un grupo de paridad con un solo bit cambiado, lo cuál da lugar a una palabra que no pertenece al código con al menos un valor de paridad incorrecto.
Ejemplo
Supóngase
...