Sunteți pe pagina 1din 16

3.

TCNICAS DE CORRECCIN DE ERRORES

Requerimiento automtico de repeticin (ARQ)


Pare y espere ( stop and wait ARQ ): Cuando el receptor recibe una trama procede
a validarla, si no contiene errores enva una seal de confirmacin hacia el emisor
ACK (acknowledge). Si hay error enva una seal de recepcin errnea llamada
NAK (negative acknowledge).
Envo continuo ( Continuos ARQ ): Presenta el inconveniente de reducir el tiempo
de utilizacin efectiva de los canales de comunicacin dado que cada mensaje
debe ser confirmado individualmente y todo se paraliza hasta que ello ocurre.

Correccin de errores hacia adelante (FEC)


Cdigos de bloque: Un cdigo de bloques convierte k bits de entrada en n bits de
salida con n>k, este es un cdigo sin memoria.
Cdigos de rbol: Un cdigo de rbol es producido por un codificador con
memoria, a este grupo pertenecen los cdigos convolucionales, los cuales tienen
como caracterstica que a cada bit de una secuencia se le aplica una operacin
binaria especifica.

4. RICHARD WESLEY HAMMING

Matemtico estadounidense de gran importancia en el rea de la informtica y de


las telecomunicaciones, naci en Chicago, Illinois, el 11 de febrero de 1915.
Estudio su licenciatura en la Universidad de Chicago en 1937, en 1939 realiza un
master en la Universidad de Nebraska y se doctor en la Universidad UrbanaChampaign de Illinois en 1942.
Mientras se desarrollaba la Segunda Guerra Mundial, fue profesor en la
Universidad de Louisville, trabajo que abandonara para integrarse en 1945 en el
proyecto Manhattan. All desarroll su trabajo programando una de las primeras
calculadoras numricas electrnicas, para determinar la solucin a algunas
ecuaciones proporcionadas por los fsicos del proyecto. El objetivo del programa
era descubrir si la detonacin de una bomba atmica podra incendiar la
atmsfera. Entre los aos 1946-1976, trabaj en los laboratorios Bell, en donde
colabor con Claude E. Shannon. El 23 de julio de 1976 se traslad a la Naval
Postgraduate School, en donde trabaj como profesor adjunto hasta 1997,
llegando a ser Professor Emeritus.
Fue fundador y presidente de la Association for Computing Machinery.
Muri en Monterey, California el 7 de enero de 1998.

5. CDIGO HAMMING

Es un cdigo que se utiliza en la deteccin y correccin de errores que se


producen en la transmisin de cdigos binarios, la palabra de cdigo se conforma
por los bits de comprobacin y los bits de informacin.
5.1. CONCEPTOS BSICOS:

Para poder continuar con el desarrollo del cdigo es necesario tener en cuenta
algunas generalidades y conceptos bsicos:

Cdigo binario: Es una representacin unvoca de las cantidades, de tal forma


que a cada una de stas se le asigna una combinacin de smbolos binarios.
Distancia entre dos combinaciones binarias: Viene dada por el nmero de bits
que hay que cambiar en una de ellas para obtener la otra.
Distancia mnima de un cdigo: Es la menor de las distancias entre dos
combinaciones binarias cualesquiera pertenecientes a dicho cdigo.

5.2. DISTANCIA DE HAMMING

El cdigo Hamming se genera a partir de una distancia mnima de 3, ya que una


distancia de 1 o 2 es inconveniente para poder generar un cdigo para detectar un
error.
La distancia mnima de Hamming est dada por la siguiente ecuacin:
Dm= 2X+1
Donde Dm es la distancia mnima de un cdigo para permitir la correccin de datos
y X es las lneas de datos.
Si se tuviese una distancia de 1 no tendramos valores para saber si hay o no un
error.
Si se tienen una distancia de 2 se podra lograr un sistema de correccin de error
con un bit de paridad pero el problema que esto lleva es que un sistema con
distancia 2 puede tener datos errneos que pueden pasar como datos correctos.

Con la distancia de 3 se tiene que los cdigos no van a tener datos o resultados
similares por ende se puede detectar el error y se puede desarrollar un sistema
para su correccin como el Hamming
5.3. VARIABLES PARA GENERACIN HAMMING

Para la generacin del cdigo Hamming se deben tener en cuenta tres variables
que mencionaremos a continuacin:
n: nmero de bits del cdigo original que se pretende transmitir.
p: nmero de bits de paridad par generados en el transmisor, o sea, nmero de
lneas que aadimos al cdigo inicial.
c: nmero de bits detectores de paridad par generados por el receptor.

El valor de p = c, ya que los bits de paridad generados tanto en el transmisor


como en el receptor debe ser la misma.
El nmero de combinaciones que se pueden formar con los c bits detectores de
paridad tiene que ser mayor o igual que el nmero de lneas del cdigo original (n)
ms el nmero de lneas de paridad aadidas (p) ms uno, este ltimo para
contemplar el caso de no error.

Esta ecuacin nos muestra que existen unas combinaciones, estas no pueden ser
asignadas de forma aleatoria a un evento, para asignar estas combinaciones a un
evento especfico este debe estar en uno de los tres grupos diferenciados.

1. Combinacin asignada a la situacin en que no haya error en la transmisin.


2. Combinaciones asignadas a los bits de paridad generados en el transmisor.
3. Combinaciones asignadas a los bits de datos del cdigo original.

Podemos tener un manejo de esta ecuacin para poder obtener la cantidad


mnima de bits de informacin que nosotros podemos enviar.

Si se despeja n

Teniendo en cuenta que p =c

Si contamos con los valores de bits de paridad podemos encontrar los bits de
informacin que se pueden manejar.
Para obtener el nmero de bits total de la cadena del mensaje (s) se debe
realizar la siguiente operacin:


Ejercicio 1:
Si deseo enviar un nibble cuantos bits de paridad necesito para enviar el mensaje
y poderlo corregir si existe un error.

Nibble = 4 bits
Si c = 3 entonces

n=4

Con 3 bits de paridad podramos manejar y codificar un nibble de informacin.


5.4. GENERACIN DEL CDIGO DE HAMMING

El cdigo Hamming plantea la generacin de una tabla para poder asignar los
valores de las posibles combinaciones que generen los bits de paridad.
A continuacin manejaremos un cdigo ASCII de 7 bits

Si se tienen 7 bits de informacin se necesitan entonces que c = 4, esto nos


conlleva a que se generan 2c combinaciones y es igual a 24 = 16 combinaciones a
continuacin se establece una tabla de 16 combinaciones con un rango de 0 a 15

#b

Combinaciones

b0
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10

0
1
2
3
4
5
6
7
8
9
10

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010

b11
b12

11
12

1011
1100

b13

13

1101

b14

14

1110

b15

15

1111

# DE
"1"
2^3 2^2 2^1 2^0 CORRESPONDENCIA
SITUACION DE NO
0
0
0
0
0 ERROR
1
0
0
0
1 BIT DE PARIDAD "1"
1
0
0
1
0 BIT DE PARIDAD "2"
2
0
0
1
1 DATO 1
1
0
1
0
0 BIT DE PARIDAD "3"
2
0
1
0
1 DATO2
2
0
1
1
0 DATO 3
3
0
1
1
1 DATO 4
1
1
0
0
0 BIT DE PARIDAD "4"
2
1
0
0
1 DATO 5
2
1
0
1
0 DATO 6
NO SE USA EN EL
3
1
0
1
1 EJEMPLO
2
1
1
0
0 DATO 7
NO SE USA EN EL
3
1
1
0
1 EJEMPLO
NO SE USA EN EL
3
1
1
1
0 EJEMPLO
NO SE USA EN EL
3
1
1
1
1 EJEMPLO

TABLA 1. Generacin cdigo Hamming.

Para la asignacin de los eventos se realiza lo siguiente:


1. Contar Nmero de unos en las combinaciones
2. Si el nmero de unos es cero es una situacin de no error y no se utiliza para
enviar dato.

3. Si el nmero de unos es 1, debemos empezar a organizar los bits de paridad


desde el primero hasta el ltimo y darles su respectiva asignacin.
4. Si el nmero de unos es 2 en estos deben colocarse para los datos, si las
combinaciones de 2 unos no son suficientes para los datos debemos empezar
con los de 3 y luego los de 4 as sucesivamente, se prefiere que se coloquen
los datos primero en los grupos de 2.
5. Si no se tienen ms datos esas lneas no son vlidas y se omiten en el sistema
de verificacin.

Los bits de paridad b1, b2, b4, b8, no tienen un valor fijo este valor se encuentra
por las siguientes relaciones:
b1 = b3 b5 b7 b9 b11 b13 b15;

b2 = b3 b6 b7 b10 b11 b14 b15;


b4 = b5 b6 b7 b12 b13 b14 b15;

b8 = b9 b10 b11 b12 b13 b14 b15;

Esto se debe a que los bits de paridad se conforman de las combinaciones en


donde el bit de paridad es uno, por ejemplo el bit1 es el bit de paridad para las
combinaciones impares, se conforman de las combinaciones impares b3, b5, b7,
b9, b11, b13, b15.
A continuacin se muestra una tabla para ver cmo se realiza la operacin de
EXOR

En la tabla se organizan y se suma para obtener los valores de b1, b2, b4, b8.

#b
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

b1
b2
d1
b4
d2
d3
d4
b8
d5
d6
d7

2^3 2^2 2^1 2^0


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

b8 b4 b2 b1
0
0
1
0
0
0
1
1
0
0
1

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

1
0

0
1

1
0

0
0
1
0
0
0
0

0
0

0
0
0

0
0

Tabla 2. Coeficientes de paridad.

Terminada la tabla se procede a enviar el dato o la trama de datos


La cual sera
00100011000100
Los datos que no se utilizan por lo general se envan en cero.
Para saber si existe un error en la transmisin o si el mensaje de transmiti
correctamente se deber realizar una comprobacin del sistema para esto se
realiza con una codificacin de los componentes c1, c2, c3, c4 de la siguiente
manera:
c1 = b1 b3 b5 b7 b9 b11 b13 b15;
c2 = b2 b3 b6 b7 b10 b11 b14 b15;
c3 = b4 b5 b6 b7 b12 b13 b14 b15;

c4 = b8 b9 b10 b11 b12 b13 b14 b15;

Los resultados que vemos aqu son calculados con los datos que llegan al
receptor, si los datos de c1, c2, c3, c4 nos dan cero en todos el mensaje se
transmiti sin error pero si uno o varios de estos elementos se convierten en 1
quiere decir que hay un error, por ejemplo si el resultado de los indicadores ci son:
c1 = 0, c2=1, c3=1, c4=0, esto quiere decir que hay un error en la combinacin b6
por ende si hay un uno en esta posicin quiere decir que el verdadero valor es
cero, entonces podemos cambiar el valor de este y corregir de esta manera el
error presentado.
5.5. EL SNDROME Y DETECCIN SISTEMTICA DEL CDIGO DE HAMMING.
Para el ejemplo anterior del cdigo ASCII se tienen 7 bits de informacin para
transmitir, se observa el mismo dato que se enva en la tabla a en la tabla b se
encuentra el dato recibido con un error
DATOS TX
#b
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15

DATOS RX

b8 b4 b2 b1
b1
b2
d1
b4
d2
d3
d4
b8
d5
d6

0
0
1
0
0
0
1
1
0
0

d7 1

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

1
0

0
1

1
0

0
0
1
0
0
0
0

b8 b4 b2 b1
b1
b2
d1
b4
d2
d3
d4
b8
d5
d6

1
1
1
1
0
0
0
1
0
0

0
d7 1
0

0
0
0

0
0

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

1
0

0
0

0
0

0
0
1
0
0
0
1

0
0

0
0
1

0
1

Tabla 3. Ejemplo trama de datos enviados y se recibe una trama con el dato 4
errneo o bit 7.

Como se observa en la recepcin hay un valor diferente de los datos transmitidos,


si se realizan los valores de b1, b2, b4, b8, son distintos en ambos lados, ahora si
se comparan con los valores de c1 c2, c3, c4 se obtiene que:

par

bloque
1 recibido

par

bloque
0 enviado

0
1
1
1
7
2^3 2^2 2^1 2^0 #b dato daado
Tabla 4. Deteccin del nmero del bit daado.

En la figura se suman los valores de bits de paridad encontrados en el receptor


con los valores de paridad envidados, se debe realizar una operacin EXOR uno a
uno y el resultado que se obtiene son los valores de c1, c2, c3, c4, como vemos el
resultado es 0111 si esto se pasa a decimal es 7 si vemos en la tabla del ejemplo
el dato que se encuentra errneo se encuentra en la combinacin 7 la cual es la
asignada al dato 4.
El sndrome
Al clculo que se realiz anteriormente de sumar cada bit de paridad en el
receptor se le denomina Sndrome, el sndrome se desarrolla bit a bit y se suma
con una funcin EXOR en mdulo 2.

5.6. DETECCIN Y EFICIENCIA SOBRE CANAL

Si m es igual a la distancia mnima de un cdigo Haming podemos determinar que


el factor de deteccin y correccin de un cdigo depende de:

Adems si
n = nmero de bits de la cadena de salida
k = nmero de bits de informacin
La eficiencia sobre el canal de transmisin ser la siguiente:
n/k
Con estos datos se puede obtener la siguiente tabla

Tabla 5. Tabla de eficiencia, tomada del trabajo de Hamming desarrollado por:


Luis Gabriel Clavijo Castro, Vivian Andrea Garcia Balaguera

Como vemos si la distancia de Hamming aumenta la longitud de la informacin


aumenta pero los bits de informacin de correccin sern menores que los de
deteccin , pero si vemos bien la tabla con una distancia de Hamming 3 la
longitud total del paquete son 7 y se transportan 4 bits de informacin, los otros
son de correccin, ahora si vemos el 10 la longitud total seran 1023 se
transportan 1013 bits de informacin y el restante que son solo 10 bits se utilizan
para la deteccin y la correccin como vemos este es un proceso mucho ms
eficiente ya que podemos transportar 1013 bits de informacin procesando solo 10
bits de deteccin y correccin, esto permite que los procesos de transporte de
datos se optimicen logrando tasas porcentuales realmente altas.

6. EXTENSIN DEL CDIGO DE HAMMING.

La extensin del cdigo Hamming plantea ingresar a la tabla un nmero adicional


con el propsito de encontrar ms de un bit daado, esto lo logra mediante el
desarrollo de matrices estas matrices se computan para poder detectar y corregir
un bit daado e informar cuando hay dos o ms bit daados en el proceso. El
proceso matricial es como lo desarrollara realmente un sistema de cmputo.
Como se mencion el cdigo Hamming extendido aade un smbolo adicional que
computa todos los anteriores smbolos de la palabra de cdigo, este tiene una
distancia de Hamming de 4, con esto se logra detectar todos los errores dobles y
al mismo tiempo se corrigen todos los errores individuales. La decodificacin se
realiza as:
Si el ltimo dgito del sndrome es 2, entonces el nmero de errores debe ser
impar. La correccin se realizara de la manera habitual.
Si el ltimo dgito del sndrome es 0, pero el sndrome no es todo ceros, no hay
correccin posible, porque se ha producido ms de un error, pero los errores
dobles son detectados.

7. TAREA

Encontrar los valores de los bits de paridad para los siguientes datos:
Dato a transmitir: 1100110011
Dato a transmitir: 1001110110
Dato a transmitir: 1010100011

Si el sndrome que se obtuvo en el dato de transmisin es:

bloque
1 enviado

par

Y el sndrome que se recibe en el receptor es:

bloque
0 recibido

En que bit se present el dao de la informacin

par

8. CONCLUSIONES

La integracin de cdigo redundante permite realizar la correccin en cierta


medida de los errores presentados en la transmisin; sin embargo hace menos
eficiente el proceso de codificacin, por lo cual se deber lograr un equilibrio
entre codificacin redundante y eficiente dadas las caractersticas del canal.

Aunque los parmetros de los cdigos AG son mejores que los clsicos para
cdigos de longitud arbitrariamente grande, las aplicaciones tcnicas no se han
visto an en la necesidad prctica de sustituir los cdigos que actualmente se
utilizan por otros de mayor longitud sin que se dispare simultneamente el
coste y la tasa de error.

El Cdigo Hamming, es un sistema de deteccin y correccin automtica de


errores en informacin electrnica, el cual asocia una serie de bits de
validacin o paridad a los bits de datos, de tal forma que una alteracin en
cualquiera de esos bits de datos pueda ser detectada y corregida
adecuadamente.

La distancia Hamming permite establecer el nmero de bits errneos que


pueden ser corregidos detectados mediante las formulas:

Deteccin= (m-1)
Correccin= (m-1)/2

El sndrome es una operacin que relaciona los bits de paridad por medio de
una funcin EXOR bit a bit, si este resultado es 0 en cada bit de paridad no
indica que el paquete de datos llego sin errores pero si nos indica un error o un
1 nos debe indicar el lugar donde se presenta dicho problema.

Para entender de una manera ms sencilla la elaboracin del cdigo se


utilizaron tablas pero por lo general se utilizan matrices y relaciones entre ellas
para poder lograr relaciones cruzadas y obtener los valores de bits de paridad.

El sistema de cdigos Haming es muy utilizado en elementos como memorias


y en comunicaciones en las tramas de Wifi.

9. BIBLIOGRAFA

Comunicaciones y Redes de Procesamiento de Datos. Nestor Gonzles Sainz.


Ed Mac Graw . 1987.
Wikipedia.[online]. Algoritmos de Cdigo de Redundancia Cclica.
<http://es.wikipedia.org/wiki/Algoritmo_de_los_C%C3%B3digos_de_Redundan
cia_C%C3%ADclica>
Tio
Petros.
[online].
Aritmtica
Modular.
<http://tiopetrus.blogia.com/2005/060401-aritmetica-modular-4-.php>
Cdigos Detectores y Correctores de Errores. Cdigos de Redundancia
Cclica. < http://www.argo.es/~jcea/pics/artic/ecc-crc.htm>
MODIANO, Eytan. [online]. La capa de enlace de Datos: Entramado y
Deteccin de Errores< http://mit.ocw.universia.net>.
Demeter. Codificacin de Seales. Ver. 1.1. 2 de Diciembre de 2003
knabe@ing.puc.cl. Apuntes de IIC 3512 -- El nivel de enlace. Dic. 1996.
<http://www.cs.virginia.edu/~knabe/iic3512/apuntes_4.html>
Cdigos Lineales. http://jungla.dit.upm.es/~trdt/apuntes

S-ar putea să vă placă și