You are on page 1of 6

CDIGOS DE DETECCIN DE ERROR HAMMING Y CRC

Barona Ivn
e-mail: isa_barona1@yahoo.com

Aroca Katherine
e-mail: katherine223@live.com.ar

Ingeniera Mecatrnica , 5to B


Universidad de las Fuerzas Armadas ESPE Extensin Latacunga
Fecha de presentacin: 24/04/2015
RESUMEN: El presente documento describe
los tipos de cgidos de deteccin de error Hamming y
CRC.
De estas clases de cdigos de deteccin de
error se analizan sus respectivas definiciones y
caractersticas.
Adems
se
detallan
sus
procedimientos para su uso en los sistemas digitales.
Para aplicar la teora aprendida se presentan ejemplos
de aplicacin.

bits y adems corregirlo. Esto lo logra incluyendo mas


de un bit de paridad en un grupo de bits.
El siguiente cdigo brinda un mtodo de
correccin para un nico bit errneo.

2.1 NMERO DE BITS DE PARIDAD

d
PALABRAS CLAVE: CRC , mdulo 2, paridad ,
polinomio.

Si el nmero de bits de datos se designa por


, el nmero de bits de paridad ,

, se

determina por la relacin:

2 p d + p+1

1. INTRODUCCIN

2.2 COLOCACIN DE LOS


PARIDAD EN EL CDIGO.

En sistemas digitales la transmisin de datos de


un lugar a otro es muy comn e importante. Como
ejemplos tenemos el uso de memorias externas para
almacenar y recuperar datos, la transferencia de datos
entre dos computadoras por medio de lneas
telefnicas, transferencia bluetooth, etc.

(1)

BITS

DE

Considerando a los bits del cdigo a desarrollar


en el siguiente orden:
bit1 , bit 2, bit 3, bit 4, bit 5, bit 6, bit 7, etc.

Normalmente en la transmisin de datos se


suelen producir errores que hacen que estos no
lleguen de forma correcta entre el emisor y el receptor.
La razn principal de estos problemas es el llamado
ruido elctrico, que produce fluctuaciones en el
voltaje y la corriente. [1]

Para asignar los bits de paridad tomamos las


posiciones que corresponden a las potencias de dos
en sentido ascendente (1, 2, 4, 8, ), de esta manera:

P1 , P2 , D 1 , P3 , D 2 , D 3 , D 4

El ruido alter el nivel lgico de la seal y esto


produce errores en la llegada deseada de bits, pues
no ser interpretados correctamente. Tenemos
almacenado un 1 pero a la hora de ser ledo es un 0, y
viceversa. [1]

El smbolo
paridad y

Los equipos actuales logran enviar en cierto


casos millones de bits por segundo y un error en 1 bit
podra causar graves problemas. Es por eso que se
emplean mtodos de deteccin (y en muchos casos
correcin) de errores. Entre estos tenemos el mtodo
Hamming y el Mtodo CRC. [1]

Dn

Pn

tendr un determinado bit de

ser el lugar que contiene cada uno

de los bits de datos.

2.3 ASIGNACIN DE LOS VALORES DE


LOS BITS DE PARIDAD

2. CDIGO DE DETECCIN DE
ERROR HAMMING

Esta parte radica en asignar correcta y


pertinentemente un valor de 1 o de 0 a los bits de
paridad.

Al utilizar un solo bit de paridad se puede


detectar un error de un bit en un cdigo. Pero mucho
mejor sera lograr corregir ese error. El cdigo
Hamming permite detectar un error en un grupo de

Primero se expresa en binario el nmero


correspondiente a cada posicin de los bits (decimal a
binario), como se muestra en la Tabla 1. Luego
indicamos las posiciones de los bits de paridad y
datos.

Si existe un error al finalizar las comprobaciones,


se descubrir el bit con el error.
Los pasos son los siguiente:

Como podemos observar el nmero binario de

P1

posicin del bit de paridad

tiene un 1 como su

Empezar con el grupo de bits de

2)

Si el grupo tiene la paridad correcta. El 0


indica correcta y 1 que es incorrecta.
Se repite el paso nmero 2 para cada

dgito ms a la derecha. Este bit de paridad


comprueba las posiciones de todos los bits,
incluyndose a si mismo, que tiene 1s en esa misma
posicin en el correspondiente nmero de posicin en

3)

binario. Es decir el bit

5)

P1

conjunto de paridad (
4)

de paridad, comprueba

las posiciones de los bit 1, 3, 5 y 7. [1]


El nmero de posicin en binario para el bit de
paridad

P2

tiene

un

en

su

posicin

intermedia.Es por eso que este bit comprueba todas


las posiciones de bit, incluyndose a s mismo, que
tienen un 1 en esa idntica posicin. Por tanto el bit de
paridad comprueba las posiciones de bit 2, 3, 6 y 7. [1]

P3

P3

Paso 1. Determinar el nmero de bits de paridad


necesario. En este caso, el nmero de bits de datos,

comprueba las posiciones de bit 4, 5,

d,

es

cinco.

Utilizaremos

un

p=4

Reemplazamos estos datos en la Ec. (1).

2 p=2 4=16

Tabla 1. Posiciones de los bits para un cdigo de

P1

P2 P3

P 4 P5

P6

P7

Nmerototal de bits de cdigo=5+ 4=9

001 010 011 100 101 110 111

Paso 2. Construir una tabla de posiciones de los


bits, Tabla 2, y escribir los bits de datos. Los bits de
paridad se estipulan en los pasos siguientes. Observe

Bits de paridad

que

( Pn )

P4

El bit

El bit

Los bits de paridad junto con sus respectivos bits


deben comprobarse dependiendo de la paridad
utilizada. Este es un previo acuerdo entre el emisor y
receptor.
se

realiza

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.

2.4 CMO DETECTAR Y CORREGIR UN


ERROR CON EL CGIDO HAMMING

paridad

se halla en la posicin de bit 8.

Paso 3. Determinar los bits de paridad como sigue:

correccin de errores de 7 bits.

Por cada bit de


comprobacin al cdigo.

d + p+1=5+ 4+1=10

Cuatro bits de paridad son suficientes, pues se cumple


la inecuacin.

Bits de datos (

Dn

La primera comprobacin de paridad genera


el bit menos significativo.
Todos los resultados de las comprobaciones
forman un nmero binario el cual indica la
posicin en decimal del bit errneo. Cuando
todas las comprobaciones son correctas
significa que el cdigo receptado no contiene
errores. [1]

SOLUCIN:

6 y 7. [1]

Designacin de bit
Posicin de bit
# posicin en binario

Determinar el cdigo Hamming para los bits de datos


10110 utilizando paridad impar.

tiene un 1 como su bit ms a la

izquierda. Este bit comprueba entonces todas las


posiciones de bit, incluyndose a s mismo, que tienen
un 1 en esa idntica posicin. Por tanto el bit de
paridad

P 1 , P2 , P 3 ,

EJEMPLO 1

El nmero de posicin en binario para el bit de


paridad

P1

1)

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.

una

P3

El bit

comprueba las posiciones de bit 4,

5, 6 y 7, y debe ser igual a 1 para que haya un nmero


impar de 1s (3) en este grupo.

P4

El bit

La comprobacin
Entonces: 0 (MSB)

comprueba las posiciones de bit 8 y

Cdigo recibido

8P1 9P2 P3 P4 P5 P6 P7 P8 P7

Designacin de bit
Posicin de bit
# posicin en binario
0
1
0

1 1001
2 3
00010010001101000101011001111000
1

Tabla 2. Posiciones
de los bits para un
cdigo de correccin
de errores de 9 bits.

correcta.

3. CDIG
O
DE

0 00100011010001010110011110001001
0001

Dn

Bits de paridad
1

Ahora
suponiendo que el cdigo Hamming encontrado se
enva y se recibe el siguiente cdigo 101101010.

ERRORES
POR
CHEQUEO
REDUNDANTE CCLICO (CRC)

Se lo debe corregir, sabiendo que emplea cuatro


bits de paridad y el tipo de paridad es impar.

3.1 CONCEPTO

SOLUCIN:

El CRC o cdigo polinomial es un mtodo que


detecta y corrige errores producidos en su gran
mayora por causas fsicas, ya sean independientes o
en paquetes de una gran secuencia de datos. [2]

Primeramente se construye una tabla para las


posiciones de bits, como la tabla 3.
Primera comprobacin de paridad:
Como sabemos el bit

P1

3.2 CARACTERSTICAS

comprueba las

posiciones 1, 3, 5, 7 y 9. En este grupo hay dos 1s.

La comprobacin de paridad es incorrecta.


Entonces: 1 (LSB)
Segunda comprobacin de paridad:

analiza las posiciones 2, 3, 6 y 7. En este

grupo hay dos 1s.

La comprobacin de paridad es incorrecta.


Entonces: 1

Tercera comprobacin de paridad:

P3

es

Bits de datos (

( Pn )

P2

paridad

Tabla 3. Correccin de un cdigo Hamming de 9 bits.

P 1 P 2 P3 P 4 P 5 P 6 P 7 P 8 P 7
2

de

Resultado: Se puede ver que el cdigo


encontrado es el 0111, que es el 7 en binario.Esto
quiere decir que 1 bit situado en la posiciones 7 es
errneo. Y podemos corregir el cdigo, quedando
101101110.

Paso 4. Estos bits de paridad se introducen en la


Tabla 2, y el cdigo combinado resultante es
101101110.

comprueba las posiciones 8 y 9. En

este grupo hay un 1.

9, y debe ser igual a 1 para que haya un nmero impar


de 1s (1) en este grupo.

Designacin de bit
Posicin de bit
# posicin en binario

P4

El bit

Por su estructura algebraica es ms fcil


encontrar mtodos para la decodificacin. [3]
Son muy seguras al momento de detectar
errores generados debido al ruido producido
en las seales portadoras de informacin
emisor y receptor, por lo que su utilidad
dentro de las telecomunicaciones se hace
indispensable. [3]
Su implementacin es muy simple pues solo
necesitan registros de desplazamiento y
conexiones de realimentacin. [4]
Dentro de este mtodo se utiliza una base
finita binaria la que est constituida en su
mayora de 0 y 1. [3]
Se fundamenta de forma unnime en la
divisin binaria. [4]

3.3 FUNCIONAMIENTO

verifica las posiciones 4, 5, 6 y 7.En este

El cdigo CRC se basa esencialmente en el


tratamiento
de
secuencias
de
bits
como
representacin de coeficientes de un polinomio, los
mismos que estn constituidos por 0 y 1. [3]

grupo hay un 1.
La comprobacin de paridad es incorrecta.
Entonces: 1
Cuarta comprobacin de paridad:

Un conjunto de k bits es considerado como una lista


de coeficientes de un polinomio con k trminos que
inician desde

x z1

hasta

es considerado de grado

x0

d.

. Este polinomio

z1

debe ser divisible entre

tambin que el polinomio con mayor orden es que

el siguiente es el

z2

x z1

G(x)

T(x)
, y si el

resto es nulo no va a producirse ningn error


al transferir los datos. [7]

. Se afirma

ms a la izquierda se encuentra as es el

Para realizar la comprobacin,

,y
Ejemplo 2

. [5]

Para

el

conjunto

101100111

2
G ( x )=x +x +1

teniendo

el

Ejemplo 1

generador

El nmero binario 110001 posee 6 bits, por lo tanto


representar a un polinomio de seis trminos con
coeficientes 1, 1, 0, 0, 0 y 1 es decir como la Ec. (2) [6]

en la Fig.1 como se realiza el clculo de la suma de


verificacin.

podemos observar

Resolucin

x + x + x (2)

G ( x )=x 2 + x +1 111 .(r =2)

Para realizar la aritmtica polinomial se utiliza la


operacin de mdulo 2 es decir no existen reglas de
acarreo tanto para la suma como la resta. [6]

M ( x )=x 7 + x5 + x 2 + x 1+1 10100111


x r M ( x )=x 9 + x 7 + x 4 + x 3 + x 2 1010011100

3.4 MODO DE EMPLEO DEL CDIGO


CRC
Para emplear este cdigo se hace necesario que
el emisor y el receptor generen por adelantado un
polinomio generador, G(x), los bits del mismo de orden
mayor y menor deben ser 1. La suma de verificacin
para un conjunto de m bits, M(x) tiene que ser ms
larga que el del generador. El objetivo de esto es que
la suma de verificacin sea incluida al final del
conjunto de bits tal que el polinomio representado por
la suma sea divisible para el polinomio de generacin.
As al momento que el receptor reciba el conjunto con
la suma de verificacin al intentar dividirla entre G(x) y
haya residuo indicar que existe un error en la
transmisin. [6]

3.5 ALGORITMO PARA EL CLCULO DE


LA SUMA DE VERIFICACIN
a.

El grado de

G(x)

es r. Implementar r

m+ r

bits al final del conjunto,


corresponder al polinomio
b.

Figura 1. Clculo de la suma de verificacin.


Fuente: Google libros, 2015, [7]
Para verificar que no haya ningn
transmitir

bits ahora

G(x)

x M (x)

Dividir la cadena de bits de

G(x)

para

xr M ( x )
c.

Restar el residuo a la cadena de bits


oportuno a

xr M ( x )

empleando la resta

de mdulo 2. El resultado de esto es el


conjunto con suma de verificacin que va a
transmitirse.
Este
polinomio
lo
consideraremos como

T (x )

los

datos

dividimos

T (x )

como se muestra en la Fig.2.

error al
para

Figura 2. Clculo de la verificacin.


Fuente: Google libros, 2015,
[7]

3.6 APLICACIONES

En general este cdigo de errores se lo


utiliza
principalmente
en
telecomunicaciones,
dispositivos
de
almacenamiento y en redes digitales. [3]
Bsicamente lo podemos hallar en una
unidad de disco principalmente de 512
bytes, donde cada uno de los bloques de
datos esta protegido por un CRC, dentro de
estos los errores pueden ser detectados y
corregidos en ciertas unidades. [8]
El cgido CRC se lo encuentra tambin
dentro de las redes de datos en las cuales
cada conjunto de datos terminan con bits de
comprobacin del cdigo por chequeo
redundante. [8]

6. REFERENCIAS

4. CONCLUSIONES

[1] T. L. Floyd, Fundamentos de Sistemas Digitales, vol. 9


Edicion, Madrid: Prentice Hall, 2006, pp. 247-249.

El cdigo Hamming proporciona un mtodo


de deteccin y correccin de error de 1 solo
bit.
El cdigo Hamming utiliza varios bits de
paridad para realizar varias comprobaciones
y as lograr detectar donde se encuentra el
bit errneo.
La Ec (1), demuestra que para cada nmero
binario de datos debe existir un nmero
mnimo de bits de paridad.
El cdigo CRC es muy utilizado dentro de
las telecomunicaciones debido a que
detectan errores causados por el ruido, al
momento de transferir datos de emisor a
receptor.
Debido a que se basa en operaciones
aritmticas se hace fcil su uso.
Para el cdigo CRC se utiliza una base finita
binaria la cual est constituida de forma
generalizada por 0 y 1.
El cdigo CRC est basado principalmente
en la divisin binaria y para su resolucin se
utilizan mtodos como la resta de mdulo en
donde no se toman en cuenta los acarreos
de las operaciones de suma y resta binaria.
El cdigo CRC se encuentra de manera
comn en redes de datos y unidades de
disco.

[2] M. d. P. A. Ramos, https://books.google.com.ec/books?


id=4zjxk81LgKIC&pg=PA30&dq=CODIGO+CRC&hl=es&
sa=X&ei=ByM4VZ7uHa7nsATYwoGIDg&ved=0CCEQ6A
EwAQ#v=onepage&q=CODIGO%20CRC&f=false,
2010. [En lnea]. [ltimo acceso: 22 04 2015].
[3] Varios, http://es.wikipedia.org/wiki/Verificaci
%C3%B3n_por_redundancia_c%C3%ADclica, 01 04
2015. [En lnea]. [ltimo acceso: 22 04 2015].
[4] E. Mandado, https://books.google.com.ec/books?
id=V7JpKkZaEYMC&pg=PA24&dq=CODIGO+de+detec
cion+de+error+CRC&hl=es&sa=X&ei=2yU4VdqgD9e1s
QThtYGABg&ved=0CCEQ6AEwAQ#v=onepage&q=CO
DIGO%20de%20deteccion%20de%20error
%20CRC&f=false, 2007. [En lnea]. [ltimo acceso: 22
04 2015].
[5] J. . Griera, https://books.google.com.ec/books?
id=QAxAJEBgUWYC&dq=CODIGO+CRC+EJEMPLOS&
hl=es&source=gbs_navlinks_s, 2009. [En lnea].
[ltimo acceso: 22 04 2015].

5. RECOMENDACIONES

Buscar fuentes de consulta fiables para


evitar posibles confusiones al momento de
investigar el cdigo Hamming y CRC.
Los errores de tranmisin se pueden
producir con mas frecuencia si dicho
proceso se lo realiza en un lugar donde el
ruido elctrico se eleve, por lo tanto, para
una mayor seguridad evitar esos lugares.

Realizar
las
investigaciones
correspondientes a divisin binaria y
operacin de mdulo 2 para poder resolver
la verificacin de suma y las dems
operaciones planteadas en la resolucin del
cdigo CRC.

[6] A. S. Tanenbaum, https://books.google.com.ec/books?


id=WWD4oF9hjEC&dq=CODIGO+CRC+EJEMPLOS&hl=es&sou
rce=gbs_navlinks_s, 2003. [En lnea]. [ltimo acceso:
22 04 2015].
[7] P. Gil, https://books.google.com.ec/books?
id=On6y2SEaWyMC&pg=PA107&dq=CODIGO+de+dete
ccion+de+error+CRC&hl=es&sa=X&ei=PCY4VYKMJLG
0sASasIGwBw&ved=0CEwQ6AEwCDgK#v=onepage&q
=CODIGO%20de%20deteccion%20de%20error
%20CRC&f=false, 01 09 2010. [En lnea]. [ltimo
acceso: 22 04 2015].
[8] J. F. Wakerly, https://books.google.com.ec/books?
id=moZli0LrjngC&pg=PA65&dq=CODIGO+CRC&hl=es&
sa=X&ei=ByM4VZ7uHa7nsATYwoGIDg&ved=0CBsQ6A
EwAA#v=onepage&q=CODIGO%20CRC&f=false,
2001. [En lnea]. [ltimo acceso: 22 04 2015].

You might also like