Você está na página 1de 5

DETECCIN DE ERRORES Y CDIGOS DE CORRECCIN

Daniel Caballeros
e-mail: dect1181994@outlook.com

Liliana Cayo
e-mail: lilielizabeth1@hotmail.com
Ingeniera Electrnica e Instrumentacin, 3 Nivel, Universidad de las Fuerzas Armadas ESPEExtensin Latacunga, Mrquez de Maenza S/N Latacunga, Ecuador.
30 de Noviembre del 2014.
RESUMEN: Mediante los cdigos de
deteccin de errores se puede identificar los
errores y dar solucin a los mismos, para ello se
necesita conocer los mtodos conocidos como
cdigos CRC y el Cdigo Hamming.
Primero el cdigo CRC o chequeo cclico
redundante que es fcil de implementar y se usa
ampliamente para detectar errores en transmisin
de datos. Los cdigos CRC son una familia de
cdigos o bloques lineales. Adems hace
polinomios binarios de las secuencias binarias,
para aplicar el cdigo CRC tanto el transmisor
como el receptor necesita saber el polinomio
caracterstico. El cdigo Hamming que nos
muestra como un solo bit de paridad puede
reconocer un error, pero para la correccin de un
error encontrado se debe tener ms datos para
saber en qu posicin se encuentra el bit errneo,
este cdigo fue diseado para corregir errores de
bit simples mediante la paridad par o impar.
PALABRAS
CLAVE:
cdigos,
Hamming, CRC, errores, correccin.

OBJETIVO: Detectar errores y corregir los


mismos se utilizando los mtodos:

Cdigo CRC o chequeo cclico redundante


(deteccin de errores)

Cdigo Hamming complementado con mtodo


de paridad (para la deteccin y correccin de
errores)

El cdigo CRC
Es aquel en el que cualquier rotacin
cclica (lo que sale por un lado, entra por el otro)
de una palabra cdigo produce otra palabra
cdigo vlida. Los cdigo cclica son una familia
de cdigos bloques lineales.
Notacin Polinomial
[1]

deteccin,

representar

generador

presenta cualquier nmero binario de


posiciones

(n1)

INTRODUCCIN
Para tratar la deteccin de errores y
cdigos de correccin vamos a ver algunos
mtodos, el primero es el cdigo CRC que de una
trama cdigo genera otra trama cdigo vlida.
Mediante un polinomio f(x) conocido como
generador se obtienen la el cdigo que detecta si
es correcta o incorrecta la trama recibida por el
receptor.
El segundo mtodo el cdigo Hamming que
implementando de una manera extendida la
paridad par o la paridad impar se puede enviar un
cdigo de un transmisor a un receptor y
determinar si existiese un error al llegar el
mensaje cifrado.

Para

como

un

polinomio

de

se

n
grado

, que contienen la variable ficticia

. Los exponentes de

corresponden a

los nmeros de las posiciones de la notacin


binaria comenzando desde el bit de la derecha o
menos significativo.
Polinomio Generador Ideal

La aritmtica con estos polinomios es mdulo 2


sin llevar.
Es decir la adicin y la sustraccin son
equivalentes a XOR.

Ahora dividimos
agregados para
(1).
1 1 0 1 0
- 1 1 0
0 1 0
1
1
-

La divisin usa XOR en lugar de sustraccin y A


se divide entre B si el nmero de bits es mayor de
o igual a el nmero en A.
Todos los polinomios correspondientes a las
palabras del cdigo cclico o generador, deben

g( x)

dividirse entre

g( x)

sin residuo.

x1

debe ser un divisor de

Ejemplo: Escribir en forma de polinomio el cdigo


binario: 10101
El polinomio

g( x)

g ( x ) =1. x 4 +0. x 3 +1. x 2 +0. x1 +1. x 0

1 1 0 1 0 1
- 1 1 0
0 1 0 1
1 1
1 0
1
0
-

0 1 1 1 0 0 1 1 0
1 0 0 0 1 1 1 1
0
0
0 1
1 0
1 1 1
1 1 0
1 1 0
- 1 1 0
0 0
Ejemplo 2: Sin error.
Enviar la trama 111101111 usando el polinomio

Entonces:

g ( x ) =x 4 + x 2+1

DETECCIN

DE

Transformar el polinomio generador a un


cdigo binario generador.
Aumentar la cantidad de ceros a la trama
segn el grado del polinomio.
Dividir la trama con sus respectivos ceros para
el cdigo binario generador.
Enviar la trama con los respectivos ceros, por
el transmisor Tx.
El receptor debe conocer el polinomio
generador para comparar la trama recibida y
determinar si la trama recibida posee errores o
no.
Se comprueba si el receptor divide la trama
recibida para el cdigo binario generador y el
resto es cero.

generador

generador
2

x +x

Se debe aumentar dos ceros a la trama ya que el


grado del polinomio es 3.

110101011000

(4)

Ahora dividimos la trama Ec. (4) con los ceros


agregados para el cdigo binario generador Ec.
(3).
0

(1)

0
0
0

Se debe aumentar dos ceros a la trama ya que el


grado del polinomio es 2.

11010101100

(3)

x + x=1x + 1x + 0x =110

x 3+ x

x + x =1x + 0x +1x +0x =1010

Ejemplo 1: Sin error.


Enviar la trama 110101011 usando el polinomio
2

1 0 1 1 0 0 1 1 0
1 0 0 0 1 1 1 0
1 0
1 0
0 0 1
1 1 0
0 1 1 1
1 1 0
1 0 0

Comprobamos el si el receptor recibe el cdigo


correcto reemplazando los 0 por el resto y
dividiendo para Ec. (1).

correspondiente sera:

PROCEDIMIENTOS
DE
RECUNDANCIA CCLICA

la trama Ec. (2) con los ceros


el cdigo binario generador Ec.

(2)

1
0
1
1

0
0

1
0

Puesto que

Comprobamos el si el receptor recibe el cdigo


correcto reemplazando los 0 por el resto y
dividiendo para Ec. (3)

que

d + p+1

tiene que ser igual o mayor


como en el anterior ejemplo no

p=3

satisface le vamos a probar con


0

1
0

0
0
0

2 =2 =8

d + p+1=4+3+1=8
1
0
1

0
1
1
0
0

El valor de p satisface la Ec. (5) por lo


que se necesita tres bits de paridad para la
correccin de un error en un cdigo de 4 bits, es
importante conocer que la deteccin y correccin
se aplica a todos los bits tanto de paridad como de
datos, es decir que los bits de paridad se
comprueban a s mismos.
En el ejemplo que se est desarrollando
se debe tener presente que si tenemos 4 bits de
datos y 3 bits de paridad en total se tendra 7 bits
que van enumerados de izquierda a derecha de la
siguiente manera:

0
0
0

El residuo es distinto de 0 por lo que el


cdigo recibido no es correcto y debe ser revisado
por el transmisor.
El cdigo CRC es capaz de encontrar los
errores de recepcin de datos pero no los puede
corregir. Para corregirlos se usa el cdigo
Hamming analizado a continuacin

El cdigo de Hamming
correccin de errores

bit 1, bit 2, bit3, bit4, bit 5, bit 6, bit 7.


En donde la numeracin anterior corresponde con
las potencias de dos en sentido ascendente as:

de
P1

D1

P3

D2

D4

Donde:

Pn

: designa un determinado bit de paridad

Dn

: designa cada uno de los bits de datos

Para colocar los bits correspondientes en


la tabla 1 debemos considerar que en las
posiciones de paridad se va a colocar el bit par y
en el resto de casilleros vacos vamos a colocar
los datos

(5)

Ejemplo: Si tenemos cuatro bits de datos,


entonces p se calcula por el mtodo de prueba y
error usando la Ec. (5). Sea p = 2. Entonces.
p

P2

D3

[2] El cdigo Hamming proporciona un


mtodo de correccin de un nico bit errneo, en
este caso, tres bits de paridad no slo pueden
detectar el error sino que tambin pueden
especificar la posicin del bit errneo.
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:

2 p d + p+1

Tabla 1. Distribucin de la tabla para el cdigo


Hamming.

2 =2 =4

Designacin
de bits

d + p+1=4+2+1=7
Posicin de
bits
Numero de
posicin en
binario

P 2 D 1 P3 D 2 D 3 D 4

P1
1

000
1

01
0

01
1

10
0

10
1

11
0

11
1

Bits de datos

Dn

Binario

010

Bits de
paridad (

Pn

001

P1

P2

011
1

10
1
0

P3

Para

P1

: Como podemos observar

RESULTAD
O

tiene un 1 a la derecha este comprueba las


posiciones 3, 5, 7 y a s mismo si tienen 1s,
recordemos que tomamos el mtodo de paridad
par eso quiere decir que debemos tener un
nmero de 1s par en estas posiciones.
Para

P2

P3

P3

: Como podemos observar

3, 5,7,

P2

3, 6,7 y

5, 6,7, por lo que s es par ponemos un

P3
4

P2

D1

P3

D2

D3

001

010

011

10
0

110

111

10
1
0

P2

P3

1
1

CMO DETECTAR Y CORREGIR UN ERROR


CON EL CDIGO HAMMING

D2
5

D3
6

D4

RESULTAD
O

D1

P1

Tabla 1.1. Tabla de posiciones paridad par.

d + p+1=4+3+1=8

Binario

2 p=23 =8

Posicin de
bits

Posicin de
bits

P1

p=3 :

P2

Tabla 1.2. Tabla de posiciones paridad impar.


Designaci
n de bits

Hallar el nmero de bits de paridad requeridos


Construir la tabla de posiciones de los bits
Determinar los bits de paridad

P1

: Este tiene un 1 en la

Ejemplo PAR: Determinar el cdigo Hamming


para el nmero BCD 1001 (bits de datos),
utilizando paridad par

Designaci
n de bits

111

cero y si es impar un 1 en las posiciones


correspondientes como se muestra en la Tabla
1.1.
Si nos pidiera con paridad impar fuera lo contrario
como se muestra en la Tabla 1.2.

PARA DETERINAR EL CODIGO DE EROOR SE


DEBE SEGUIR LOS SIEGUIENTES PASOS

Sea

P1

las posiciones

posicin de la izquierda y al igual que la anterior


comprueba los 1s en las posiciones 5, 6, 7 y a s
mismo.

110

Como el ejercicio nos pide paridad par,


debemos determinar si los 1s son pares o no en

tiene un 1 en su posicin intermedia al igual que l


anterior comprueba los 1s y deben ser pares para
nuestro caso en las filas 3, 6, 7 y a s mismo
Para

10
0

D4
7

Debemos seguir los siguientes pasos

Vamos comprobando cada una de las


posiciones P1,P2,P3

Despus de haber comprobamos verificamos


si es par o impar

Determinado esto debemos colocar ceros o


unos dependiendo de la paridad.

La primera comprobacin ser (LSB) y la


ltima
comprobacin
ser
(MSB),

determinando esto podemos saber la posicin


donde se produjo el error.

Es de suma importancia conocer,


entender y aplicar el proceso que realizan los
diferentes dispositivos para la correcta transmisin
de informacin, de esta manera podemos saber si
el receptor recibe mensajes con errores que
pueden ocurrir en la transmisin de datos
aplicando tanto el cdigo CRC o el cdigo
Hamming, an mas importante es podemos
corregir esos errores, aplicando el cdigo
Hamming.

Ejemplo: Suponga que se transmite la palabra


cdigo del 0011001 y que se recibe 0010001. El
receptor no sabe lo que se ha transmitido y debe
calcular las paridades apropiadas para determinar
si el cdigo es correcto. Indique cualquier error
que se haya producido en la transmisin si se
utiliza paridad par:
Tabla 1.3. Ejercicio cdigo Hamming
Designacion
de bit

Posicin bit
Binario
Cdigo
recibido

P1

D1

P3

D2

D3

1
001

2
010

3
011

4
100

5
101

6
110

P1

Mediante el cdigo CRC se puede


si el transmisor recibe el cdigo
correcto enviado por el transmisor.

D 4 determinar

Con el cdigo CRC se aplica aritmtica


7
de polinomios y gracias a ello se obtiene un
111
sistema de deteccin de errores muy fiable.
1

=1, 3, 5, 7

0 1 01=0

P2

P2

----- (LSB)

Se recomienda dominar el mtodo de


paridad previo a conocer el cdigo Hamming ya
que es la base para la deteccin de errores
durante la transmisin de datos. Adems se debe
tener en cuenta el tipo de paridad, par o impar,
con el que se trabajaremos ya que no se los debe
mezclar.

= 2, 3, 6, 7

0 1 01=0

P3

= 4, 5, 6, 7

0 0 0 1=1

El cdigo de Hamming es uno de los mas


aplicables y se obtiene a partir del mtodo de
paridad con el que detecta el error y al aplicar un
proceso ms localizamos el bit con error para
poder corregirlo.

----- (MSB)

REFERENCIAS

Como resultado tenemos que el bit de error se


encuentra en la posicin:
100

[1] Revisado (29/11/2014). Carlos Alberto Amaya


Tarazona
http://es.slideshare.net/carlosamayat/hamming-ycrc

Se ha recibido un cero en vez de uno por lo tanto


el cdigo correcto es:

[2] Revisado (29/11/2014). Thomas L. Floyd


Fundamentos de sistemas digitales
Pearson educacin S.A. Madrid 2006
9 edicin paginas 104-110

0 0 1 0 0 0 1----- 0 0 1 1 0 0 1
CONCLUSIONES Y RECOMENDACIONES

Você também pode gostar