Вы находитесь на странице: 1из 4

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L

SISTEMAS DIGITALES

MTODOS PARA LA DETECCIN Y CORRECCIN DE ERRORES:


MTODO DE HAMMING Y EL MTODO CRC
Karla Sophia Torres Barriga
e-mail: kstoba13@yahoo.com

Francisco Xavier Viteri Vargas


e-mail: fxviteri@gmail.com
Ingeniera Mecatrnica, Sexto B, Universidad de las fuerzas Armadas ESPE-Extensin Latacunga,
Mrquez de Maenza S/N Latacunga, Ecuador.
Fecha de presentacin: 06 de Noviembre del 2014

RESUMEN: En el presente documento


presentamos los mtodos implementados para detectar
y corregir errores en la transmisin de informacin. Uno
de los mtodos es la utilizacin del Cdigo Hamming
que tambin es conocido como Cdigo de Bloque, sin
olvidar la utilizacin del Cdigo de Redundancia Cclica
(CRC), de estos dos mtodos analizaremos sus
caractersticas, la generacin de sus cdigos y adems
citaremos las caractersticas principales y finalmente
explicaremos cada uno de ellos mediante un ejemplo.

(1)
donde:
d: es el nmero de bits de datos.
p: es el nmero de bits de paridad.
Posteriormente se debe colocar correctamente los bits
dentro del cdigo. El bit ms a la izquierda es el bit 1, el
siguiente bit es el bit 2 y as sucesivamente (Floyd, 2006).
Los bits de paridad ocupan las posiciones que se han
numerado hacindolas corresponder con las potencias
de dos en sentido ascendente (Floyd, 2006).
Finalmente hay que asignar apropiadamente un valor de
1 o 0 a cada uno de los bits de paridad. Puesto que cada
bit de paridad proporciona una comprobacin sobre los
restantes bits del cdigo total, tenemos que conocer el
valor de dichos otros bits para asignar el bit de paridad

PALABRAS CLAVE: Cdigo CRC, Cdigo Hamming,


mtodos, transmisin

1 INTRODUCCIN

(Floyd, 2006).

Tabla 1.Tabla de posiciones de bits para un cdigo de


correccin de errores de 7 bits

En la comunicacin de dispositivos se necesita un


protocolo que permita verificar la transmisin y recepcin
de datos. Existen varias alternativas para detectar y
corregir errores entre las cuales tenemos:
El cdigo Hamming (Cdigo de bloque), este mtodo
permite la deteccin y correccin de un nico bit
errneo.
.
El cdigo CRC (Cdigo de Redundancia Cclica), es
especialmente fcil y eficiente de generar y verificar
siendo capaz de detectar la mayor cantidad de errores.

Es uno de los ms ampliamente utilizados, es un


esquema de codificacin y descifrado que detecta un
solo error en un mensaje recibido adems proporciona
informacin del bit que debe corregirse (Zill, 2014).

Cuadro tomado de Fundamentos de sistemas digitales,


Thomas L. Floyd.
P1 tiene un 1 como su digito ms a la derecha, este bit
se comprueba as mismo y a los bits que tengan 1s en la
misma posicin por lo tanto comprueba las posiciones
de bits 1, 3, 5 y 7. P2 tiene un 1 intermedio, este bit se
comprueba as mismo y a todos los bits que tengan un 1
en la misma posicin por lo tanto comprueba las
posiciones de bits 2, 3, 6 y 7. P3 tiene un uno como su
bit ms a la izquierda, este bit se comprueba as mismo
y a todas las posiciones de bits que tienen un 1 en esa
misma posicin comprueba las posiciones de bit 4, 5, 6 y
7. En cada uno de los casos se asigna un valor de bit de
paridad de modo que la cantidad de 1s sea par o impar
segn se haya especificado (Floyd, 2006).

2.1.1 FUNCIONAMIENTO DEL CDIGO HAMMING

2.1.2 COMO DETECTAR Y CORREGIR UN ERROR


CON EL CODIGO HAMMING (Palmer, 2014)

2 DESARROLLO
2.1 CDIGO HAMMING

1)

Primero se deben encontrar los bits de paridad utilizando


la frmula Ec. (1):

Se comienza comprobando el grupo P1.

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L


SISTEMAS DIGITALES
2)

3)
4)

bits.
Tabla 3.
Comprobamos cada bit de paridad.
Primera comprobacin:
El bit P1 comprueba las posiciones 1, 3, 5, 7 y 9.
En este grupo hay dos 1s.
La comprobacin de paridad es incorrecta. 1 (LSB)
Segunda comprobacin:
El bit P2 comprueba las posiciones 2, 3, 6 y 7.
En este grupo hay dos 1s.
La comprobacin de paridad es incorrecta. 1
Tercera comprobacin:
El bit P3 comprueba las posiciones 4, 5, 6 y 7.
En este grupo hay un 1.
La comprobacin de paridad es incorrecta. 1
Cuarta comprobacin:
El bit P4 comprueba las posiciones 8 y 9.
En este grupo hay un 1.
La comprobacin de paridad es correcta. 0 (MSB)
Resultado.
El cdigo de posicin de error es 0111 (siete en binario).
Esto quiere decir que el bit situado en la posicin 7 es
errneo, en este caso en la posicin 7 se encuentra un 0
el cual debe cambiarse por un 1. Por tanto, el cdigo
corregido es 101101110 (Surez Vargas, 2014).

Se comprueba si la paridad es correcta. Un 1


representa paridad incorrecta y 0 paridad
correcta.
Repetir 2 para todos los grupos de paridad.
Se genera un nmero binario que indica la
posicin del error, la primera comprobacin
genera el LSB. Si todas las comprobaciones
son correctas no habr error.

2.1.3 EJEMPLO
1.- Determinar el cdigo Hamming para los bits de
datos 10110 utilizando paridad impar.
Datos:
Dato a transmitir 10110.
Determinamos el nmero de bits de paridad.
Probamos p=4 en Ec. (1).

Cuatro bits de paridad son suficientes.


Nmero total de bits del cdigo = 5+4 = 9
Construimos una tabla de posiciones de bits como
la Tabla 1 pero para 9 bits.
Tabla 2.
Determinar los bits de paridad.
El bit P1 comprueba las posiciones de bit 1, 3, 5, 7 y 9, y
debe ser igual a 1 para que haya un nmero impar de 1s
(3) 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 impar de 1s
(3) en este grupo.
El bit P3 comprueba las posiciones de bit 4, 5, 6 y 7, y
debe ser iguala 1 para que haya un nmero impar de 1s
(3) en este grupo.
El bit P4 comprueba las posiciones de bit 8 y 9, y debe
ser igual a 1 para que haya un nmero impar de 1s (1)
en este grupo.
Resultado.
El cdigo combinado resultante es el cdigo Haming del
nmero 10110 (Bateman, 2014).

2.2 CDIGO CRC


Los cdigos de redundancia cclica (CRC), tambin
conocidos como comprobacin de redundancia cclica,
que cumple la funcin de detectar cambios en datos,
siendo usado en redes digitales y dispositivos de
almacenamiento.
Este cdigo es popular por su facilidad de deteccin de
errores causados por ruidos en los canales de
transmisin (Canaveral, 2014).
2.2.1 FUNCIONAMIENTO DEL CRC
El cdigo CRC tiene como finalidad agregar bits
redundantes al final de la transmisin, lo ms pequea
posible.
El clculo del CRC se basa en el uso de un polinomio
generador de grado r, el cual debe saber tanto el
transmisor como el receptor.
Los n bits que se transmitirn se toman como los
coeficientes de un polinomio de grado n-1. Luego a
estos bits a transmitir se agregan r bits, para que el

2.- Se recibe el cdigo 101101010. Corregir los


errores. Se emplean cuatro bits de paridad y el tipo
de paridad es impar.
Datos:
Dato recibido 101101010.
Construimos una tabla de posiciones de bits para 9

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L


SISTEMAS DIGITALES

polinomio final sea divisible por el polinomio generador,


sin generar resto. . El receptor verificar si el polinomio
recibido es divisible por G(x). Si no lo es, habr un error
en la transmisin

2.2.2 ALGORITMO PARA EL CLCULO


Se divide el polinomio de los datos recibidos por el
polinomio generador.
Se comprueba si se genera resto.
Si no hay resto, no se han producido errores en la
transmisin.
Si hay resto, se han producido errores, por lo que se
pide retransmisin (Cardemil, 2014).

4. RECOMENDACIONES

2.2.3 EJEMPLO
Se requiere transmitir 110101 siendo su polinomio
3
generador G(x)= x +1.
Datos:
Dato a transmitir 110101
Obtenemos el polinomio generador
3
G(x)= x +1
3
2
1
G(x)= x + x + x +1
G(x)= 1001
r=3 (grado del polinomio generador)
Aumentamos ceros al dato a transmitir segn el
grado del polinomio generador (r) y dividimos para
el polinomio generador

En el cdigo CRC no se realiza trminos de


acarreo para la suma ni de prstamo para la
resta.
La tabla de posiciones de bits para el cdigo de
Hamming depende del nmero de bits que se
requieran para el nmero a convertir.
Para la Ec. (1) se utiliza el mtodo de prueba y
error, ya que si un nmero no satisface la
ecuacin hay que probar con otro hasta que se
cumpla dicha ecuacin.

5. REFERENCIAS

110101000 1001
1001
110011
01000
1001
0001100
1001
01010
1001
0011 Se ha producido errores, por lo que se
pide retransmisin, ya que posee resto.

Bateman, A. (02 de 11 de 2014). e-libro.


Obtenido de
http://ezp1.espe.edu.ec:2050/lib/espesp/
docDetail.action?docID=10165675&p0
0=codigo%20hamming
bibing. (02 de 11 de 2014). Obtenido de
http://bibing.us.es/proyectos/abreproy/1
1199/fichero/Volumen+I%252FAPEN
DICE+B.pdf
Canaveral. (02 de 11 de 2014). reocities.
Obtenido de
http://www.reocities.com/CapeCanaver
al/Launchpad/3973/codcrc.html
Cardemil. (02 de 11 de 2014). profesores.
Obtenido de
http://profesores.elo.utfsm.cl/~agv/elo3
22/1s12/project/reports/CardemilDiaz.p
df
Floyd, T. L. (2006). Fundamentos de sistemas
digitales. Mexico: Prentice Hall.
Palmer, J. E. (02 de 11 de 2014). e-libro.
Obtenido de Palmer, James E. Perlman,
David E.

Al dato a transmitir se le suma el resto


110101011 1001
1001
110011
01000
1001
0001101
1001
01001
1001
0000 (sin errores) (bibing, 2014)Error! Reference
source not found.

3. CONCLUSIONES

Utilizando el cdigo Hamming solo se puede


detectar y corregir un nico bit errneo adems
de conocer la posicin del mismo.
Para crear la tabla de posiciones de bits en el
cdigo de Hamming los bits de paridad se
deben colocar en las posiciones de potencia
dos en sentido ascendente.
Utilizando CRC no es posible saber, el nmero
de errores y tampoco en qu bits contienen los
errores

Las alternativas de cdigos detectores de


errores, est directamente relacionado con los
recursos disponibles y la dificultad de
implementacin.

UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE-L


SISTEMAS DIGITALES
Surez Vargas, F. C. (02 de 11 de 2014). elibro. Obtenido de
http://ezp1.espe.edu.ec:2050/lib/espesp/
docDetail.action?docID=10732366&p0
0=codigo%20hamming
Zill, D. G. (02 de 11 de 2014). e-libro.
Obtenido de
http://ezp1.espe.edu.ec:2050/lib/espesp/
docDetail.action?docID=10515233&p0
0=codigo%20hamming

Вам также может понравиться