Sunteți pe pagina 1din 28

Deteccin y

Correccin de Errores
Mediante el Codigo
de Hamming

Universidad Distrital, Maestra en Teleinformtica,


Bogot D.C., Colombia.
Mayo de 2012

INTEGRANTES

ALVARO HUMBERTO CISNEROS


DANIEL SEPULVEDA NUEZ

CONTENIDO

HISTORIA
TCNICAS DE DETECCIN DE ERRORES
TCNICAS DE CORRECCIN DE ERRORES
RICHARD WESLEY HAMMING

CDIGO HAMING

CORRECCIN DE ERRORES
SNDROME Y CORRECCIN DE ERROR
DETECCIN Y EFICIENCIA SOBRE CANAL
HAMING EXTENDIDO
CONCLUSIONES
BIBLIOGRAFA

HISTORIA

Cuando se transmite informacin, se corre el riesgo de la


presencia de interferencia o ruido.

El origen de la teora de cdigos correctores de errores se


encuentra en los trabajos de Golay, Hamming y Shannon.

Inicio enfoque probabilstico, pasa a un enfoque ms


algebraico [cdigos de Golay y de Hamming, los cdigos
cclicos y BCH, o los cdigos de Reed-Solomon y de ReedMuller].

HISTORIA

En los 70 Goppa Construye cdigos lineales a partir de


curvas algebraicas lisas llamados cdigos AG (lgebrogeomtricos).

Los cdigos AG apenas han sido implementados en la


prctica debido a la profundidad matemtica de las ideas
subyacentes.

Los mtodos de decodificacin para cdigos geomtricos de


Goppa son efectivos, su preprocesamiento es de una
elevada dificultad e involucra complejos algoritmos basados
en mtodos de la geometra algebraica computacional.

TCNICAS DE
DETECCIN DE
ERRORES

Cdigos VRC (Vertical Redundancy Check).


En esta tcnica, un bit redundante, denominado bit de
paridad, se aade al final de cada bloque de datos.

Cdigo LRC (Longitudinal Redundancy Check).


Esta tcnica consiste en VRC de dos dimensiones, se
agrupa un determinado nmero de unidades de datos en
un bloque, cada uno con su bit VRC correspondiente. Se
calcula el bit de paridad entre cada bit de todas y cada una
de las unidades de datos (primeros bits, segundos, etc.).
Se renen los bits de paridad de todas las posiciones en
una nueva unidad de datos y se aade al final del bloque.

TCNICAS DE
DETECCIN DE
ERRORES

Comprobacin de redundancia cclica (CRC).


Dado un bloque o mensaje de k bits, el transmisor
genera una secuencia de n bits, denominada secuencia
de comprobacin de trama (FCS Frame Check
Sequence), la trama resultante, de n + k bits sea
divisible por algn nmero predeterminado (patrn de
bits). El receptor dividir la trama recibida por el mismo
patrn de bits y, si el resto en la divisin (resto 0),
indica que la transmisin ha sido correcta, sin error.

TCNICAS 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.

TCNICAS CORRECCIN
DE ERRORES

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.

Richard Wesley
Hamming

Program el computador que realizo los campos para la 1ra.


Bomba Atmica.
1950 Trabajando en los laboratorios Bell junto a Shannon,
desarroll y pblico la teora de codificacin.
Fue el Precursor de los lenguajes de programacin de alto nivel.
Su descubrimiento fue uno de los ms importantes en la ciencia
de la informtica.
Su mtodo permite identificar un bit errneo en una palabra
codificada (en binario). Esto es, si un bit es incorrecto, por
ejemplo: el cambio de un 1 por un 0 en una transmisin,
podemos no solo detectar el bit errneo, sino adems
corregirlo.

CDIGO HAMING

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.

Las distancia mnima de Haming 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.

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.

CDIGO HAMING

Combinaciones posibles

Orden para asignar combinaciones

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


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

Notacin (k,n)
n = nmero de bits de informacin
h = nmero de bits de la cadena = 2c -1
La notacin sera la siguiente (h,n)

CDIGO HAMING

Combinaciones posibles

Orden para asignar combinaciones

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


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

Notacin (k,n)
n = nmero de bits de informacin
h = nmero de bits de la cadena = 2c -1
La notacin sera la siguiente (h,n)

CDIGO HAMING
#
b

#
Combinaci DE
ones
"1"

2
^
3

2
^
2

2
^ 2^ CORRESPONDE
1 0 NCIA
SITUACIN DE
0
0 NO ERROR
BIT DE PARIDAD
0
1 "1"
BIT DE PARIDAD
1
0 "2"
1
1 DATO 1
BIT DE PARIDAD
0
0 "3"
0
1 DATO2
1
0 DATO 3
1
1 DATO 4
BIT DE PARIDAD
0
0 "4"
0
1 DATO 5

b0

0000

b1

0001

b2
b3

2
3

0010
0011

1
2

0
0

0
0

b4
b5
b6
b7

4
5
6
7

0100
0101
0110
0111

1
2
2
3

0
0
0
0

1
1
1
1

b8
b9
b1
0
b1
1
b1
2
b1
3
b1
4
b1
5

8
9

1000
1001

1
2

1
1

0
0

10

1010

0 1

11

1011

0 1

12

1100

1 0

13

1101

1 0

14

1110

1 1

15

1111

1 1

0 DATO 6
NO SE USA EN
1 EL EJEMPLO
0 DATO 7
NO SE USA EN
1 EL EJEMPLO
NO SE USA EN
0 EL EJEMPLO
NO SE USA EN
1 EL EJEMPLO

Diseo de tabla para codificar datos de una fuente


ASCII de 7 bits.
Para la asignacin de los eventos se realiza lo
siguiente:

Contar Nmero de unos en las combinaciones

Si el nmero de unos es cero es una situacin de no


error y no se utiliza para enviar dato

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.

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.

Si no se tienen ms datos esas lneas no son vlidas


y se omiten en el sistema de verificacin.

CDIGO HAMING

Los bits de paridad b1, b2, b4, b8, no tienen un valor


fijo este valor se encuentra por las siguientes
relaciones:

b1
b2
b4
b8

=
=
=
=

b3
b3
b5
b9

b5 b7 b9 b11 b13 b15


b6 b7 b10 b11 b14 b15
b6 b7 b12 b13 b14 b15
b10 b11 b12 b13 b14 b15

CDIGO HAMING
#b
b1
b2
b3
b4
b5
b6
b7
b8
b9
b1
0
b1
1
b1
2
b1
3
b1
4
b1
5

b1
b2
d1
b4
d2
d3
d4
b8
d5

2^ 2^ 2^ 2^
3
2
1
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

d6

d7

0
0
1
0
0
0
1
1
0
0

b
8

b
4

0
0
1

b
2

0
1

b
1

Se
obtienen
los
coeficientes b1 , b2, b3,
b4 de las relaciones
anteriormente descritas

CORRECCIN DE
ERRORES

DATOS TX

DATOS RX

#b

b1

b1

b2

b4

b2

b1

b1

b2

b3

d1

b4

b4

b5

d2

b6

d3

b7

d4

b8

b8

b9

d5

b10

d6

b11

b8

b4

b2

b1

b2

d1

b4

d2

d3

d4

b8

d5
d6

b8

SNDROME Y
CORRECCIN DE ERROR

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 debemos compararlo.

SNDROME Y
CORRECCIN DE ERROR

Es un proceso donde 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 es la ubicacin
donde se encuentra el error.
Su formula es:

Donde C son los bits de paridad de transmisin y envi.

SNDROME Y
CORRECCIN DE ERROR

bloque par
1 recibido

0 bloque par enviado

0
1
1
1
2^ 2^ 2^ 2^
3 2
1
0
#b dato daado

En el ejemplo 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.
Por lo tanto se realiza el
cambio de signo de 0 a
1

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 = numero de bits de la cadena de salida


k = numero 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

DETECCIN Y EFICIENCIA
SOBRE CANAL

HAMING EXTENDIDO

El Cdigo Haming extendido se logra con dos


mtodos:
1 - Aadiendo un bit de paridad a cada
palabra de cdigo
2- Aadir una ecuacin general de paridad
Para ambos casos la distancia de Haming
debe ser mayor o igual a 4
Se puede corregir errores simples y errores
dobles.

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.

CONCLUSIONES

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 numero de bits


errneos que pueden ser corregidos detectados mediante las
formulas:
Deteccin=(m-1)
Correccin=(m-1)/2

CONCLUSIONES

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.

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_Redundancia_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


GRACIAS

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