Anda di halaman 1dari 4

Universidad de las Fuerzas Armadas-ESPE. Lozada. Cdigos de deteccin y correccin de errores.

CDIGOS DE DETECCIN Y CORRECCIN DE ERRORES, CDIGOS HAMMING, CDIGOS CRC.


Jonathan Samuel Lozada Pilco
e-mail: jslozada@espe.edu.ec

Integrante 2
e-mail: integrante2@institucin

Integrante 3
e-mail: integrante2@institucin

RESUMEN: En el presente documento se tratara


los cdigos de deteccin y correccin de errores tales como; cdigos haming, cdigos CRC. Se tocara temas como el mtodo de paridad para la deteccin de errores que es un bit de paridad que indica el nmero de 1s es impar o par. El cdigo Hamming el cual permite detectar errores de un nico bit en una palabra de cdigo, y tambin como determinar el nuero de bits de paridad, la colocacin de los bits de paridad en el cdigo y la asignacin de los valores de los bits de paridad. Se tratara de explicar como detectar y corregir un error con el cdigo haming. Se abordara el cdigo CRC o cdigo de redundancia cclica. El cual es un cdigo que el receptor emplea para determinar si un paquete contiene errores. Si en este paquete se encuentran errores, el receptor solicita volver a enviar el cdigo. PALABRAS CLAVE: Cdigos de deteccin de errores, cdigos Hamming, cdigos CRC.

ambos. En la Tabla 1 se asocia el cdigo BCD, tanto al caso de paridad par como paridad impar. Tabla 1. El cdigo BCD con bits de paridad.

Paridad par Paridad impar P BCD P BCD 0 0000 1 0000 1 0001 0 0001 1 0010 0 0010 0 0011 1 0011 1 0100 0 0100 0 0101 1 0101 0 0110 1 0110 1 0111 0 0111 1 1000 0 1000 0 1001 1 1001
Cuadro tomado de T. Floyd, Fundamentos de Sistemas Digitales. El bit de paridad se puede aadir ya sea al principio o al final del cdigo. Esto depende del diseo del sistema. El bit de paridad se incluye cuando se cuenta para saber el nmero de 1s en el sistema.

1 CDIGOS DE DETECCIN CORRECCIN DE ERRORES


Son cdigos para detectar y corregir un error de nico bit, se tratara los siguiente mtodos; el mtodo paridad para la deteccin de errores, el mtodo Hamming y tambin el mtodo CRC o cdigos redundancia cclica.

Y
un de de de

2.1 DETECCIN DE UN ERROR


Este mtodo facilita la deteccin de un nico error de bit, pero no puede detectar dos errores dentro de un grupo. Por ejemplo; el cdigo total transmitido incluyendo el bit de paridad impar es: Bit de paridad impar 0111 Cdigo BCD. Se supone que existe un error se produce en el segundo bit de la derecha, el 1 se transmite como 0. Bit de paridad impar 0101 Bit errneo. Ya que el cdigo recibido no aparece un nmero impar de 1s, esto indica que sea producido un error.

2 MTODO DE PARIDAD PARA LA DETECCIN DE ERRORES


Este mtodo es muy empleado por varios sistemas como medio para la deteccin de errores de un bit, a cualquier grupo de bits ya contengan un numero par o un nmero impar de 1s, se aade un bit de paridad para hacer que el nmero total de 1s en el grupo de bits sea par o impar siempre. Un bit de paridad indica si el nmero de 1s es impar o par [1]. Un bit de paridad par hace que el nmero de 1s de un grupo sea par, y un bit de paridad impar hace que el nmero de 1s en un grupo sea impar. Cualquier sistema puede funcionar con paridad par o impar, pero no con

Universidad de las Fuerzas Armadas-ESPE. Lozada. Cdigos de deteccin y correccin de errores.

3 CDIGO HAMMING
Para corregir un error detectado se necesita conocer ms informacin, como la posicin del bit errneo antes de poder corregirlo. Este cdigo proporciona un mtodo de correccin de un nico bit errneo.

3.1 CONSTRUCCIN HAMMING

DE

UN

CDIGO

Designacin de bits Posicin de bit Numero de posicin en binarios Bits de datos (Dn) Bits de paridad (Pn)

P1 1 00 1

P2 2 010 1

D1 3 01 1

P3 4 10 0

D2 5 10 1

D3 6

D4 7

11 111 0

3.1.1 NMERO DE BITS DE PARIDAD


Si el nmero de bits de datos se designa por d , entonces el nmero de bits de paridad, p , se determina mediante la siguiente relacin:

Cuadro tomado de T. Floyd, Fundamentos de Sistemas Digitales. El bit de paridad P 1, tiene un 1 como su digito ms a la derecha, este comprueba las posiciones de bits 1, 3, 5, 7. El bit de paridad P 2, tiene un 1 en su posicin intermedia, este comprueba las posiciones de bits 2, 3, 6, 7. El bit de paridad P 3, tiene un 1 como su digito ms a la izquierda, este comprueba las posiciones de bits 4, 5, 6, 7. Este bit de paridad comprueba las posiciones de todos los bits, incluyndose a s mismo, que tienen 1s en la misma posicin en el correspondiente nmero de posicin en binario [1]. Ejemplo: determinar el cdigo Hamming para el numero BCD 1001 (utilizando de datos), utilizando par. Paso 1. Hallar el nmero de bits de paridad requeridos. El nmero de bits de datos d = 4 . Sea p = 3 , entonces:

2 d + p +1
p

(1)

Se calcula por el mtodo de prueba y error usando la ecu. 1.

3.1.2 COLOCACIN DE LOS BITS DE PARIDAD EN EL CDIGO


Enumeramos los bits de izquierda a derecha como se muestra. Bit 1, bit 2, bit 3, bit 4, bit 5, bit 6, bit 7, Los bits de paridad se sitan en las posiciones que se han numerado hacindoles corresponder con las potencias de dos en sentido ascendente (1, 2, 4, 8,), del modo siguiente: 1 2 3 4 5 6 7

P 1, P 2 , D1 , P 3 , D 2 , D3 , D 4
El smbolo P n designa un determinado bit de paridad y Dn designa cada uno de los bits de datos.

2 p d + p +1 2 3 4 + 3 +1 8 8
Tres bits de paridad son suficientes. Nmero total de bits de cdigo = 4 + 3 = 7 Paso 2. Construir la Tab. 2., e introducir los bits de datos y determinar los bits de paridad.

3.1.3 ASIGNACIN DE LOS VALORES DE LOS BITS DE PARIDAD


Primero expresamos el nmero binario correspondiente a cada nmero decimal de posicin, como se muestra en la Tab. 2. A continuacin indicamos las posiciones de los bits de paridad y de datos.

Tabla 2. Tabla de posiciones de bits para un cdigo de correccin de errores de 7 bits.

Tabla 3. Tabla de posiciones de bits para un cdigo de correccin de errores de 7 bits.

Designacin de bits 2

P1

P2

D1

P3

D2

D3

D4

Universidad de las Fuerzas Armadas-ESPE. Lozada. Cdigos de deteccin y correccin de errores.

Posicin de bit Numero de posicin en binarios Bits de datos Bits de paridad

1 00 1 0

2 010 1 0

3 01 1 1

4 10 0 1

5 10 1 0

11 111 0 0 1

Estos cdigos tambin son considerados como cdigos polinomiales. Ya que traza patrones polinomiales con los nmeros binarios. Por ejemplo:

B( x) = x 5 + x 3 + x 2 + x 0 = (101101) 2
Un mensaje debe ser enviado como un cdigo CRC calculado para que pueda ser verificado por el receptor. Para este clculo del CRC se realiza atreves de una divisin sucesiva de nmeros binarios.

Cuadro tomado de T. Floyd, Fundamentos de Sistemas Digitales. Paso 3. Determinar los bits de paridad: El bit P1 comprueba las posiciones de bit 1, 3, 5 y 7, y debe ser igual a 0 para que haya un nmero par de 1s en este grupo. El bit P2 comprueba las posiciones de bit 2, 3, 6 y 7, y debe ser igual a 0 para que haya un nmero par de 1s en este grupo. El bit P3 comprueba las posiciones de bit 4, 5, 6 y 7, y debe ser igual a 1 para que haya un nmero par de 1s en este grupo. Paso 4. El cdigo combinado es 0011001.

4.1 CLCULO DE CRC


Un emisor D, desea enviar d bits de datos. A estos bits de datos se le debe anexar el cdigo CRC con r bits de longitud. D: d bits de datos R: r bits de CRC

Se utiliza un polinomio generador G de grado r. este polinomio esta predeterminado, y es el mismo en el emisor y el receptor. Este generador tiene (r+1) bits de longitud. Se recomienda que el bit ms significativo de este generador sea 1. La base para el clculo de R (cdigo CRC) es:

3.2 COMO DETECTAR Y CORREGIR UN ERROR CON EL CDIGO HAMMING


Cada uno de los bits de paridad junto con su correspondiente grupo de bits debe comprobarse de acuerdo con la paridad que se vaya a utilizar. Cada comprobacin de paridad dar un resultado bueno o malo. El resultado total de todas las comprobaciones de paridad indica el bit, si existe, en el que se encuentra el error de la siguiente manera: Paso 1. Comience con el grupo comprobado por P1 . Paso 2. Compruebe si el grupo tiene la paridad correcta. Un 0 representa que la comprobacin de paridad es correcta y un a que es incorrecta. Paso 3. Repita el paso 2 para cada grupo de paridad. Paso 4. El nmero binario formado por las comprobaciones indica la posicin del bit del cdigo que es errneo. Es el cdigo de posicin de error. La primera comprobacin de paridad da el bit menos significativo. Si todas las comprobaciones son correctas no existe error. Se debe indicar el tipo de paridad para poder determinar el error.

R = resto

D * 2r G

(2)

Es el desplazamiento de los bits de datos hacia la izquierda. Es la adiccin de r bits 0s al final del bit de datos. Por ejemplo:

D * 2r

D = (100101) 2
r

r =0

entonces

D * 2 = (100101000) 2
Este polinomio se vuelve a dividir para el polinomio generador. Si el residuo de la divisin es cero se enva el dato, si el cociente es diferente de cero se corrige el error y se enva los datos [2]. El receptor recibe el mensaje del emisor y debe dividirlo para el polinomio generador. Si el residuo es cero, el mensaje ha llegado correctamente. Si el residuo es cero, el mensaje a llegado con error y hay que pedir una retransmisin. Ejemplo: Se requiere transmitir Polinomio generador G = x 3 + 1 . 10011011.

4 CDIGO CRC
El cdigo CRC o cdigo de redundancia cclica es un mtodo muy utilizado en redes de computadores.

Mensaje: 10011011. Polinomio generador: 1001 (r=3) Se aade 3 bits 0 al final del mensaje: 10011011000 Se divide x 3 D entre G.

Universidad de las Fuerzas Armadas-ESPE. Lozada. Cdigos de deteccin y correccin de errores.

10011011000 1001 00001011 1001 001000 1001 00010

1001 10001010

La eleccin del polinomio generador es esencial si queremos detectar la mayora de los errores que ocurra.

4.2 POLINOMIOS GENERADORES (ESTNDARES INTERNACIONALES)


CRC-32 G(x)=X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + 8 X + X 7 + X5 + X 4 + X2 + X 1 + X0 CRC-16 G(x)=X16 + X15 + X2 + X0 CRC-12 G(x)=X12 + X3 + X1 + X0 CRC-8 G(x)=X8 + X2 + X1 + X0 CRC-4 G(x)=X4 + X0

5 REFERENCIAS
[1] T. Floyd, Fundamentos de Sistemas Digitales, 9na. ed., Prentice Hall, pp. 104-111, 2008. [2] Kurose, J, Redes de Computadores y Internet, 3ra. Ed., Uma Abordagem Top-Down, pp. 340, 2006.

Anda mungkin juga menyukai