Vous êtes sur la page 1sur 4

ESPE UNIVERSIDAD DE LAS FUERZAS ARMADAS

CDIGOS DE DETECCIN Y CORRECCIN DE ERRORES


Mauricio Danilo Chiliquinga Malliquinga
e-mail:maurynpj@yahoo.es
Un cdigo de distancia hamming d ser capaz de corregir errores en (d-1)/2 bits. Para corregir errores en d bits har falta un cdigo con distancia de hamming 2d+1.

RESUMEN: En un proceso de transmisin de


datos digitales existe la posibilidad de prdida de informacin debido a circunstancias como disipacin de niveles de energa, efectos magnticos externos sobre el canal de datos, deficiencias de acoplamiento entre terminales de los canales de datos, entre otros. En el caso de que un receptor reciba informacin incorrecta, debe realizarse un proceso de retransmisin de la informacin. Este proceso de retransmisin, generalmente, no es muy apropiado debido a que genera uso adicional del canal de datos, lo cual conlleva otros inconvenientes. A continuacin se presenta varias tcnicas que permiten la deteccin de errores y la correccin respectiva. Esta tcnica requiere incorporar meta informacin a los datos para poder identificar los errores. PALABRAS CLAVE: correccin de errores, deteccin de errores, CRC, Hamming, transmisin de informacin.

2.2 CODIFICACIN
A los k bits de datos se le suman los (n -k) bits de chequeo. Como un error puede ocurrir en los k bits de datos o en los bits de chequeo, se tiene que la siguiente relacin se mantiene (ver

source not found.):


2
(n-k)

Error! Reference

- 1 >= k+(n-k) = n

Esto nos permite calcular el nmero de bits de chequeo. As, por ejemplo, para un bloque de datos de k=8 bits, se requieren 4 bits de chequeo (es decir, n-k=4. Para el clculo de la palabra cdigo a ser enviada se deben seguir los siguientes pasos:

1 INTRODUCCIN
En el proceso de transmisin de la informacin se puede presentar distorsin sobre las seales que llevan esa informacin, lo cual da origen a mltiples errores [1]. Estas distorsiones en muchos casos se generan por variables externas en el medio de comunicacin. Entonces, debido a que estas seales son alteradas en dicho proceso, existe la posibilidad de que la informacin en el receptor sea diferente a la informacin en el transmisor. Este problema se soluciona mediante la aplicacin de diferentes algoritmos, en los cuales la clave es adicionar redundancia a la cadena de transmisin que permita analizar los datos en dicha cadena [2]

2 CDIGOS DE HAMMING
2.1 CARACTERSTICAS GENERALES
Son un subconjunto de los cdigos de control de paridad, en los cuales se disponen los bits de paridad de forma que permitan localizar la presencia de errores en el mensaje Cuanto mayor sea la distancia de hamming Entre dos palabras, ms difcil ser que un error en la transmisin convierta una en la otra, ya que ser necesario alterar d bits. Un cdigo de distancia hamming d ser capaz de detectar errores en d-1 bits.

Los bits de datos y de chequeo se reorganizan como se describe a continuacin: Partiendo de la posicin menos significativa (mas a la derecha), los (n-k) bits de chequeo de Hamming se insertan en las posiciones que son potencias de 2 (es decir, posiciones 1,2, 4, (n-k) 2 ). Los bits restantes son bits de datos. Para calcular los valores de los bits de chequeo se tiene que, para cada uno de los bits de datos que tienen un valor de 1, se debe representar su posicin en binario. Por ejemplo, si el bit en la novena posicin tiene un valor de uno, su posicin es representada como 1001. Todos los valores posicinales calculados anteriormente son relacionados usando un XOR.

Por ejemplo, asuma que se tiene un bloque de datos 00111001. Entonces se tiene que hay k = 8 bits de datos y (n-k) = 4 bts de chequeo. Los cuales se insertan como

Error! Reference source not found. (ver fila de check bit). Tambin se puede
se muestra en la observar que cuatro de los bits de datos tienen el valor de 1 (estn sombreados en la ilustracin) y por lo tanto los valores de sus posiciones han sido relacionados usando la funcin del XOR (ver tabla (b) de la ilustracin). El cdigo de Hamming resultante es 0111 y el bloque transmitido es 001101001111.

ESPE UNIVERSIDAD DE LAS FUERZAS ARMADAS

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 lad 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. p
1

Sin errores p p d p d d d p d d d
1 2 1 3 2 3 4 4 5 6 7

Pr ue ba de par ida d

Bit de com prob aci n

p
2

d
1

p
3

d
2

d
3

d
4

p
4

d
5

d
6

d
7

Palabr a de datos (sin parida d):

Pal abr a de dat os rec ibi da:

p1

Co rre cto

p1

1 p2 0 0 1 0 0 1 Co rre cto 0

p2

p3

p3

Co rre cto

p4

1 p4 0 1 0 1 Co rre cto 0

Palabr a de datos (con parida d):

Comprobacin de los bits de paridad (con primer bit de la derecha sin cambiar)

Clculo de los bits de paridad en el cdigo Hamming

Con errores

P1 = D1 exor D2 exor D4 exor D5 exor D7 P2 = D1 exor D3 exor D4 exor D6 exor D7 P3 = D2 exor D3 exor D4 P4 = D5 exor D6 exor D7 p p d p d d d p d d d 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".
1 2 1 3 2 3 4 4 5 6 7

Pr ue ba de pa rid

Bit de com prob aci

ESPE UNIVERSIDAD DE LAS FUERZAS ARMADAS

.
ad n Decimal Pal abr a de dat os rec ibi da: 1 0 0 0 1 1 0 0 1 0 0 1 Cambiando el bit dcimo primero 1000110010 0 se obtiene de nuevo 10001100101. Eliminando los bits de patrn 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. 8 2 1 = 11

p1

Err or

3 CDIGO CRC
3.1 Deteccin de Errores

p2

Err or

Chequeo Cclico Redundante (CRC)


Para un bloque de k bits, el transmisor genera una secuencia de n bits. El transmisor transmite una secuencia de k+n bits, la cual es exactamente divisible por un nmero. La secuencia de n bits se llama secuencia de chequeo de trama (Frame Check Sequence, FCS). Sea T la trama de (n+k) bits, n <k, M el mensaje de k bits, F la secuencia FCS de n bits y P el divisor con un patrn predeterminado, cuya longitud es n+1 bits. Para n obtener la FCS se debe multiplicar 2 por M (es decir n 2 M) y dividirlo (divisin modulo 2) por el generador polinomial P. El resto de dicha divisin se enva en la trama como el FCS. En el receptor se debe realizar la misma operacin, sobre M, la cual es la trama recibida. T, M y P puede ser representados en forma polinomial, usando una variable X, con los coeficientes binarios. Los coeficientes se corresponden con los bits en el nmero binario. El CRC puede ser implementado usando un circuito con compuertas XOR y un registro de desplazamiento de la siguiente forma: El registro contiene n bits (la longitud del FCS) Hay hasta n compuertas XOR. La presencia o ausencia de una compuerta corresponde con la presencia o ausencia de un trmino en el divisor polinomial, P (X), excluyendo el trmino 1 y n X. El siguiente un ejemplo de cmo funciona CRC: M (mensaje) = 1010001101 (10 bits) (representacin 9 7 5 2 polinomial es D(X) = X +X +X +X +1) P (generador polinomial) = 110101 (6 bits) (P(X) = 5 4 2 X +X +X +1)

p3

Co rre cto

p4

Err or

Comprobacin de los bits de paridad (con primer bit de la derecha cambiado)

Si se analiza en la tabla anterior la paridad que se debe obtener a la derecha tras la llegada del mensaje sin errores debe ser siempre 0 (por cada fila), pero en el momento en que ocurre un error esta paridad cambia a 1, de all el nombre de la columna "prueba de paridad 1". Se observa que en la fila en que el cambio no afect la paridad es cero y llega sin errores. 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 (si no hubieran ocurrido errores este valor seria 0), 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

ESPE UNIVERSIDAD DE LAS FUERZAS ARMADAS

.
As, n+k = 15, k= 100 y n = 5. 2 M= 101000110100000 y es dividido entre P de la siguiente manera (ver Ilustracin 1):
5

[4] E. H. Miller, A note on reflector arrays, IEEE Trans. Antennas Propagat., Aceptado para su publicacin. [5] Control Toolbox (6.0), Users Guide, The Math Works, 2001, pp. 2-10-2-35. [6] J. Jones. (2007, Febrero 6). Networks (2nd ed.) [En lnea]. Disponible en: http://www.atm.com.

1101010110 (Q) _______________ 110101 /101000110100000 110101 --------111011 110101 ----------111010 y entonces: 110101 T: 101000110101110 ----------FCS 111110 110101 ----------101100 110101 ----------110010 110101 ----------01110 (R )

Ilustracin 1: CRC: Ejemplo Figura 2. Configuracin de emisor comn. Tomado de xx

Se suma mdulo 2 el resto, R, a 101000110100000, dando como resultado. 101000110100000 01110 101000110101110 = T =
+

La trama T es la que se enva. Si no hay errores cuando la trama T es recibida y dividida entre P, el resto debera ser 0. La Ilustracin 2 muestra el circuito digital representado en el ejemplo anterior

entrada

Registro de desplazamiento de un bit

Circuito OR Exclusivo

Ilustracin 2: Circuito digital el divisor polinomial 5 4 2 P(X) = X +X +X +1.

4 REFERENCIAS
[1] G. Obregn-Pulido, B. Castillo-Toledo and A. Loukianov, A globally convergent estimator for n frequencies, IEEE Trans. On Aut. Control. Vol. 47. No 5. pp 857-863. May 2002. [2] H. Khalil, Nonlinear Systems, 2nd. ed., Prentice Hall, NJ, pp. 50-56, 1996. [3] Francis. B. A. and W. M. Wonham, The internal model principle of control theory, Automatica. Vol. 12. pp. 457465. 1976.

Vous aimerez peut-être aussi