viernes

DETECCIÓN Y CORRECCIÓN DE ERRORES MEDIANTE EL CÓDIGO HAMMING.
El método de paridad con un solo bit es eficiente en la detección de errores cuando hay confiabilidad en el sistema de comunicación. De hecho, el peso del dato queda determinado con m=n+1 bits, donde n es el número de bits que contiene la información. Este método solamente puede detectar errores de dos datos que difieran en un bit; osea, tengan distancia uno y que cambie, por error del sistema, solamente un bit. Sin embargo, no los corrige y a lo sumo, puede señalizar error y/o solicitar que vuelvan a enviar el byte, dato, palabra, o bloque de información que presentó el problema de comunicación.
De la misma forma, si hay cambios de distancias pares (2,4, 6,...), el método no detectará error. Sin embargo, en las distancias impares señaliza los errores. Ejemplo de esto se puede ver comparando, en el punto anterior, los casos (D1 - D'1) y (A - A').
En 1950 R.W. Hamming introdujo un método para detectar y corregir errores de datos en los sistemas de comunicación donde las distancias pueden ser mayores a la unidad. Este código trabaja con una distancia mínima de tres y puede detectar errores con cambios de 1 o 2 bits y corregir, cambios de un solo bit.
Los bits necesarios para el código Hamming se dividen en dos grupos; m bits de información y k bits de chequeo o paridad, por lo que, el tamaño del dato a transmitir debe ser n=m+k bits. Éste debe cumplir con la siguiente ecuación:
(Ec.1.9).
La paridad del código puede ser par o impar, sin embargo, toda la información relacionada está dada en paridad par. Por lo tanto, los ejemplos se realizaran tomando como referencia codificación Hamming de paridad par con el número de bits n igual a siete. En la figura 1.7 se observa la distribución de paridades para los bits de chequeo con formato de siete bits de dato. De esta forma, al aplicar la Ec.1.9 se determina que m=4 y k=3, por lo tanto la información que se puede transmitir va desde 00002 hasta 11112; éstos están distribuidos, en la figura 1.7 como I7, I6, I5, I3 y deben mezclarse con los de chequeo C4, C2, C1. Estos últimos ocupan las posiciones de la potencia en base 2 indicada por los subíndices dos, uno y cero respectivamente.
 Formación del código Hamming de 7 bits.
El código se forma entrelazando los bits de información (q3 q2 q1 q0) con los bits de control (h2 h1 h0) de forma que los subíndices de h correspondan con la posición decimal del código formado. Los bits (q3 q2 q1 q0) de información se hacen corresponder, en la figura 1.7, con los bits (I7 I6 I5 I3) respectivamente; la finalidad es ubicarlos en la posición decimal del código. Del mismo modo, (h2 h1 h0) es equivalente con las posiciones según en subíndice h2=C22=C4; h1=C21=C2; h0=C20=C1. Finalmente el código de siete bits queda formado de la siguiente manera:
q3
q2
q1
h2
q0
h1
h0
I7
I6
I5
C4
I3
C2
C1
D6
D5
D4
D3
D2
D1
D0

Al enviar el dato de siete bits, este es recibido como un paquete formado por
(D6 D5 D4 D3 D2 D1 D0) donde no se reconoce quien es información y/o quien es control. Sin embargo, con el método se realizan tres grupos de detección y corrección formado por cuatro bits cada uno, los cuales siempre deben tener paridad par. Estos grupos están resaltados de gris en la figura 1.7 y forman tres cuartetos agrupados de la siguiente forma: (I7 I5 I3 C1); (I7 I6 I3 C2); (I7 I6 I5 C4). Ellos sirven tanto para generar, detectar y corregir datos con distancia uno y dos respectivamente.

No hay comentarios:

Publicar un comentario