CUI:
20081815
20081209
20080218
20070685
20071361
20082080
20081899
20082304
AREQUIPA- PER
25/10/2012
INDICE
1.
INTRODUCCIN........................................................................2
2.
RECONOCIMIENTO DE ERRORES...................................................3
3.
DETECCIN DE ERRORES............................................................4
4.
3.1
BIT DE PARIDAD...................................................................4
3.2
3.3
3.4
3.5
REDUNDANCIA.....................................................................8
3.6
3.7
CORRECCIN DE ERRORES...................................................13
4.2
SUSTITUCIN DE SMBOLOS..................................................14
4.3
RETRANSMISIN................................................................15
4.4
CDIGO DE HAMMING:.............................................................17
5.
ESTRATEGIAS....................................................................39
5.2
CDIGOS DE DETECCIN.....................................................41
5.3
5.4
ERRORES DE SMBOLO........................................................46
5.5
DECODIFICACIN...............................................................46
GANANCIA DE CODIFICACIN:....................................................47
ARQUITECTURAS PARA CODIFICAR Y DECODIFICAR CDIGOS REEDSOLOMON:.............................................................................47
GENERADOR POLINOMIAL:........................................................48
ARQUITECTURA DEL CODIFICADOR:............................................49
ARQUITECTURA DEL DECODIFICADOR:........................................50
IMPLEMENTACIN DE CODIFICADORES Y DECODIFICADORES REEDSOLOMON:.............................................................................52
STATUS TECNOLGICOS DE CDIGOS:.......................................53
6.
BIBLOGRAFIA.........................................................................53
1. Introduccin
Un proceso de comunicacin puede tener lugar en diversas formas:
por ejemplo al hacer una llamada telefnica, al enviar un telegrama,
al usar un lenguaje de signos. En tales casos, el proceso involucra el
flujo de informacin a travs de un medio, el cual va del remitente al
receptor.
Un sistema de comunicacin ideal se puede representar por tres
partes esenciales a saber:
Receptor
cadenas
incluidas
en
este
subconjunto
particular
se
2. Reconocimiento de errores
Durante, la transmisin de datos es frecuente que aparezcan ruidos
en la lnea de transmisin, que deforman la seal transmitida. Estos
ruidos se pueden originar por interferencia elctrica, ruido trmico
(generado por el movimiento de electrones en el cobre), etc. Un ruido
que tenga una duracin de 10mseg se escuchar al odo humano
como un pequeo clic, pero a 9600 bps implica la desaparicin de 96
bits.
La capacidad del medio fsico de permitir la transmisin de bits sin
que algn fenmeno fsico (principalmente elctrico) pueda provocar
alteraciones en el mensaje se conoce como inmunidad al ruido.
Una opcin que tendramos para reconocer algunos errores es hacer
uso de la redundancia
-Si se retransmite dos veces el mismo mensaje es muy
improbable que los mismos bits fallen en las mismas posiciones
-Se intenta repetir la mnima informacin posible
Se trata en este caso de detectar y corregir errores aparecidos en las
transmisiones. puede haber dos tipos de errores:
-Tramas perdidas: Cuando una trama enviada no llega a su destino.
-Tramas daadas: Cuando llega una trama con algunos bits errneos.
Hay varias tcnicas para corregir estos errores:
1. Deteccion de errores
2. Confirmaciones positivas: el receptor devuelve una confirmacin de
cada trama recibida correctamente.
3. Retransmison despus de la expiracin de un intervalo de tiempo:
Cuando ha pasado cierto tiempo, si el emisor no recibe confirmacin
del receptor, reenva otra vez la trama.
4. Confirmacion negativa y retransmisin: El receptor solo confirma
las tramas recibidas errneamente, y el emisor las reenva.
5
Distancia Hamming:
7
3. DETECCIN DE ERRORES
La deteccin de errores es simplemente monitorear la informacin recibida y determinar
cuando un error de transmisin ha ocurrido. Las tcnicas de deteccin de errores no
identifican cual bit(o bits) es errneo, solamente indica que ha ocurrido un error, pero
no qu tipo de error, de forma que tiene que el receptor debe solicitar retransmisin del
mensaje.
Cmo reacciona un sistema a los errores de transmisin, depende del sistema y varia
considerablemente. Las tcnicas de deteccin de errores ms comunes usados para los
circuitos de comunicacin de datos son:
Redundancia, codificacin de cuenta exacta, paridad, chequeo de redundancia vertical y
longitudinal y chequeo de redundancia cclica.
As, por ejemplo si se desea transmitir el carcter 11001100 con pariedad par se aadir
un 0 ya que el nmero de unos es par.
Si se desea transmitir el mismo carcter con pariedad impar se aadir un 1 para que
el nmero total de unos resultara impar.
Los circuitos mostrados son generalmente usados para generar un bit de paridad,
tambin puede usarse para el checador de paridad en el receptor.
10
La idea es que se use un bit de paridad para cada unidad de datos, en vez de usar
de datos.
Un problema con este mtodo de deteccin seria que en un periodo largo de
tiempo detectara solo el 50% de errores de transmisin.
La idea es que un bloque de bits se divida en filas, para luego aadir una fila de
bits de redundancia.
La intencin es permitir la deteccin de errores en rfagas.
12
Este mtodo de detecta entre 75%y 98% de todas las transmisiones de errores.
3.5 Redundancia
La redundancia involucra transmitir cada carcter dos veces. Si el mismo carcter no se
recibe dos veces sucesivamente, ha ocurrido un error de transmisin,. El mismo
concepto puede usarse para los mensajes. Si la misma secuencia de caracteres no se
recibe dos veces sucesivamente, en exactamente el mismo orden, ha ocurrido un error
de transmisin.
13
usado
frecuentemente
en redes digitales
en dispositivos
de
almacenamiento para detectar cambios accidentales en los datos. Los bloques de datos
ingresados en estos sistemas contiene un valor de verificacin adjunto, basado en
el residuo de una divisin de polinomios; el clculo es repetido, y la accin de
correccin puede tomarse en contra de los datos presuntamente corrompidos en caso de
que el valor de verificacin no concuerde; por lo tanto se puede afirmar que este cdigo
es un tipo de funcin que recibe un flujo de datos de cualquier longitud como entrada y
devuelve un valor de longitud fija como salida.
Con CRC, aproximadamente el 99.95% de todos los errores de transmisin se detectan.
El CRC se usa generalmente con cdigos de 8 bits.
Las CRC son populares porque su implementacin en hardware binario es simple, son
fciles de analizar matemticamente y son particularmente efectivas para detectar
errores ocasionados por ruido en los canales de transmisin.
Esencialmente el CRC es el sobrante de un proceso de divisin (el resto de una
divisin).
En si el CRC es el sobrante de un proceso de divisin que se da entre el mensaje de
datos polinomico G(x) que se divide por una funcin de generacin P(x).
Esta funcin de generacin tambin se encuentra en el receptor que permite verificar si
hubo un error de transmisin.
El nmero de bits en el cdigo CRC es igual al exponente ms alto de la funcin
generada, y los exponentes identifican las posiciones del bit que contienen un 1.
Ejemplo de obtencin del CRC:
Datos:
Mensaje codificado en binario: 1101001
Polinomio generador:
Operaciones:
14
Multiplicar
el
mensaje
por
5 Transmitir el mensaje
El equipo receptor debe comprobar el cdigo CRC para detectar si se han
producido o no errores.
Ejemplo de los clculos del receptor:
1. Mediante el protocolo correspondiente acuerdan el polinomio generador
2. Divide el cdigo recibido entre el polinomio generador
15
16
Correccin
de Errores
Sustituci
n de
smbolo
Retransmi
sin
Seguimien
to de
correccin
de un
error
Transmis
or
Can
al
?
ombre"
"Nomb
re"
Transmis
or
"$4000.00
"
Recept
or
Can
al
Recept
or
"$?
000.00"
Retransmis
in
4.3 RETRANSMISIN
19
20
Retransmisin
Transmisor
Canal
1001001111
Receptor
1001001000
CDIGO DE HAMMING:
Primero se aaden tantos bits de paridad como sean necesarios para formar una palabra
que sea igual a:
m + r = n bits
Siendo m la cantidad de bits dados por la palabra del sistema y r la cantidad de bits de
paridad que se agregan y n la cantidad de bits resultante.
Los bits se numeran comenzando desde 1 en lugar de hacerlo desde 0 como
habitualmente se hace en todas las funciones de computacin, siendo por lo tanto el bit
1el de extrema derecha (tambin llamado bit de mayor significado especialmente en
sistemas numricos).
Todos los bits cuyo nmero es potencia de 2 son bits de paridad, los dems se utilizan
para datos, por lo tanto los bits 1, 2, 4, 8, 16, 32,... etc. son bits de paridad y el resto son
datos.
Es importante saber cual es el tamao de los registros porque as sabremos cuantos bits
debemos agregarle. De esta manera si la palabra es de 16 bits deberemos agregarle 5
bits de paridad con lo cual tendremos 21 bits en total, cumpliendo con la formula que
dimos al principio:
16 + 5 = 21
Recordamos que podemos tener dos tipos de paridad: par e impar, sabiendo que
cualquiera sea la que tomemos debemos sumar la cantidad de bits con valor 1 y obtener
siempre un nmero par o impar de acuerdo a la forma elegida.
Los bits verifican los siguientes campos:
Bits
Noten que
1 3 5 7 9 11 13 15 17 19 21
1 si; 1 no
2 3 6 7 10 11 14 15 18 19
2 si; 2 no
4 5 6 7 12 13 1 4 15 20 21
4 si; 4 no
8 9 10 11 12 13 14 15
8 si; 8 no
16
16 17 18 19 20 21 22 23 24
16 si; 16 no
22
Hammin H H 1 H 1 0 0 H 1 1 1 0 0 0 0 H 1 0 1 1 1
g
Para 16
0 1 0 1 1 1
Para 8
1 1 1 1 0 0 0 0
Para 4
1 1 0 0
Para 2
0 1
1
0 0 0 0
0 0
1 1
1
1 1
0 0
0
0 1
1
3
4
Para 1
Final
1 0 1 1 1 0 0 1 1 1 1 0 0 0 0 0 1 0 1 1 1
12
Si se produce un cambio en el bit 5 deber ser tomado por el control de los bits 1 y 4
donde se verificar el cambio o error producido en la transmisin o por una variacin de
corriente elctrica.
No querramos controlar con los valores de 1 y 4 porque no es as como se debe hacer.
Esto se debe hacer de la misma manera en que se construye cada bit. Iniciamos por el 16
y contamos la cantidad de unos que este bit controla y luego seguimos con el 8, luego el
cuatro, el 2 y por ltimo el 1. De la misma manera se hace con el error. Si da impar
sabremos que ese control est mal.
23
Es importante indicar que el cdigo de Hamming slo puede detectar el cambio de 1 bit.
Si fueran dos los que cambiaron sera casi imposible y si fueran 3 totalmente imposible
ms an si se compensan.
Nro.Bits 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 1 1 2 2 Cantida
0 1 2 3 4 5 6 7 8 9 0 1
Hammin H H 1 H 1 1 1 H 0 0 0 0 1 0 1 H 0 1 1 1 0
g
Para 16
1 0 1 1 1 0
Para 8
0 0 0 0 0 1 0 1
Para 4
0 1 1 1
Para 2
0 1
1
0 1 0 1
1 1
0 0
0
1 0
0 1
1
1 1
0
6
6
Para 1
Final
0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 1 0
10
Cdigos de Hamming.
Es un mtodo general propuesto por R. W Hamming usando una distancia mnima m.
Con este mtodo, por cada entero m existe un cdigo de Hamming de 2m-1 bits que
contiene m bits de paridad y 2m-1-m bits de informacin. En este cdigo, los bits de
paridad y los bits de paridad se encuentran entremezclados de la siguiente forma: Si se
numeran las posiciones de los bits desde 1 hasta 2 m-1, los bits en la posicin 2k,
donde
, son los bits de paridad y los bits restantes son bits de informacin.
El valor de cada bit de paridad se escoge de modo que el total de unos en un nmero
especfico de bits sea par, y estos grupos se escogen de tal forma que ningn bit de
1
24
En la tabla anterior, el grupo de paridad del bit de paridad situado en la posicin 4 son
los bits de informacin situados en las posiciones 7, 6, 5 que contienen unos en la
posicin 2k o sea 4 cuando k = 2.
El grupo de paridad del bit de paridad situado en la posicin 2 son los bits de
informacin situados en las posiciones 7, 6, 3 que contienen unos en la posicin 2k o
sea 2 cuando k = 1.
El grupo de paridad del bit de paridad situado en la posicin 1 son los bits de
informacin situados en las posiciones 7, 5, 3 que contienen unos en la posicin 2k o
sea 1 cuando K = 0.
25
de
paridad
incorrecto.
Ejemplo 3.
Supngase que se transmite una palabra de cdigo y se recibe una palabra que no
pertenece al cdigo y que es 1110101 . Cul fue la palabra correcta transmitida?
Posiciones de los bits.
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
5.1 Estrategias
Se han diseado dos estrategias diferentes para el tratamiento de los errores:
Correccin de Errores
Hasta el momento, los mecanismos que hemos estudiado se encuadran dentro de los
mtodos de deteccin de errores, con capacidad de deteccin pero no de correccin. A
continuacin vamos a desarrollar los mtodos de correccin de errores.
La correccin de errores se puede tratar de dos formas:
3 bits.
Distancia Hamming. La distancia Hamming H entre dos secuencias binarias S1
El cdigo de Hamming agrega tres bits adicionales de comprobacin por cada cuatro
bits de datos del mensaje. El algoritmo de Hamming (7.4) puede corregir cualquier error
de un solo bit, pero cuando hay errores en ms de un bit, la palabra transmitida se
confunde con otra con error en un slo bit, siendo corregida, pero de forma incorrecta,
es decir que la palabra que se corrige es otra distinta a la original, y el mensaje final ser
incorrecto sin saberlo.
En este apartado vamos a centrarnos en un tipo concreto de cdigo corrector de errores:
los cdigos Reed-Solomon
45
No importa cual bit se altere, siempre que solo sea uno, y la paridad calculada en el
receptor ser diferente del valor de P y se puede detectar el error. Si se alteran dos bits
cualesquiera, no se detectar error.
VERIFICACION DE REDUNDANCIA CICLICA:
46
POLINOMIOS UTILIZADOS:
- CRC-16 = x16 + x15 + x2+ 1 (used in HDLC)
- CRC-CCITT = x16 + x12 + x5 + 1
- CRC-32 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2
+ x + 1 (used in Ethernet)
(100000100110000010001110110110111)
47
48
APLICACIONES:
PALABRA DE CODIGO
El siguiente diagrama muestra una tpica palabra de cdigo Reed-Solomon (este se
conoce como un cdigo sistemtico puesto que los datos se dejan inalterados y los
smbolos de paridad se anexan):
Caractersticas
Este cdigo se forma en base a grupos de bits que se denominan smbolos. El cdigo
Reed-Solomon trabaja con los smbolos en vez de con los bits individuales.
Un smbolo es una secuencia de "m" bits individuales que aparecen en serie. Un
smbolo es errneo cuando al menos un bit del smbolo tiene error.
El cdigo Reed-Solomon, tiene las siguientes caractersticas:
49
smbolos de paridad.
La longitud de la palabra-cdigo es: n = k + r smbolos,(longitud=n m expresada en
n de bit).
Se establece la relacin: n = 2m 1 entre la longitud de la palabra cdigo (n) y el
k=223,
2t=32,
t=16
s=8
50
La cantidad de poder de procesamiento para codificar y decodificar cdigos ReedSolomon se relaciona con el nmero de smbolos de paridad por palabra de cdigo. Un
valor grande de t significa que un gran nmero de errores pueden ser corregidos pero
requiere mayor poder computacional que un valor pequeo de t.
Los cdigos detectores y correctores de error se refieren a los errores de transmisin en
las lneas se deben a mucho a diversos factores, como el ruido trmico, ruido impulsivo
y ruido de intermodulacin. Dependiendo del medio de transmisin y del tipo de
codificacin empleado, se pueden presentar otros tipos de anomalas como ruido de
redondeo y atenuacin, as como cruce de lneas y eco.
5.4 Errores de Smbolo
Un error de smbolo ocurre cuando al menos un bit de un smbolo es errneo.
Ejemplo:
Los cdigos Reed-Solomon son particularmente tiles para corregir burst error (cuando
una serie de bits en el cdigo de palabra se reciben con error).
5.5
Decodificacin
Los procedimientos algebraicos de decodificacin de Reed-Solomon pueden corregir
errores y datos perdidos. Un "borrado" ocurre cuando la posicin de un smbolo errado
es conocida. Un decodificador puede corregir hasta t errores o hasta 2t "borrados".
51
52
Siendo este el polinomio empleado a fin de que todos los resultados queden
dentro del campo.
Estos polinomios estarn dados por el nmero de bits definidos por smbolo
como se muestra en la figura a continuacin. En nuestro caso 8.
53
54
Codificador de Reed-Salomn
Etapas de funcionamiento:
salida.
Luego de k ciclos de reloj, el conmutador superior es abierto y el conmutador
Son necesarios en total n ciclos de reloj para obtener la palabra codificada C(X).
Por lo tanto para poder corregir el patrn de error introducido durante la transmisin se
sigue el siguiente procedimiento de decodificacin:
1. Clculo del Sndrome (Si):
Este es un clculo similar al clculo de paridad. Un cdigo de palabra Reed-Solomon
tiene 2t sndromes que dependen solamente de los errores (no de la palabra transmitida).
Los sndromes pueden ser calculados al sustituir las 2t races del polinomio generador
g(x) en r(x).
2. Encontrar el nmero de errores y localizarlos:
Encontrar el lugar del smbolo errneo implica resolver de forma simultnea ecuaciones
con t incgnitas. Varios algoritmos rpidos existen para realizar lo anterior. Estos
algoritmos toman ventaja de la estructura matricial especial de los cdigos ReedSolomon y reducen de gran forma el esfuerzo computacional requerido.
a) Encontrar un polinomio localizador de error L(x):
Esto se puede lograr utilizando el algoritmo de Euclides; ya que est de acuerdo a la
documentacin revisada tiende a ser el ms utilizado en la prctica debido a que es ms
fcil de implementar, sin embargo el algoritmo Berlekamp-Massey tiende a llevar a una
implementacin hardware y software ms eficientes.
3. Encontrando los valores del smbolo errneo (Xi):
Nuevamente, esto implica resolver ecuaciones con t incgnitas. Para poder encontrar los
valores verdaderos, que debern ser sustituidos en las posiciones correspondientes para
56
as poder reproducir el mensaje correcto que se intent enviar. Esto se hace con el
algoritmo de bsqueda de Chien.
Dnde tomemos en cuenta los siguientes trminos:
Implementacin Software
57
Hasta hace poco implementacin en software para aplicaciones en tiempo real requera
demasiado poder computacional para todos excepto los ms simples cdigos ReedSolomon (es decir, cdigos con pequeos valores de t). El mayor problema de
implementar los cdigos Reed-Solomon en software es que procesadores de propsito
general no soportan aritmtica de campo de Galois. Por ejemplo, para implementar un
campo de Galois que multiplique en software requiere un test de cero, dos revisiones en
tablas logartmicas, sumatoria en mdulo, y bsqueda en tabla de antilogaritmo. Sin
embargo con el aumento en el rendimiento de los procesadores y un diseo cuidadoso
significa que implementacin en software pueden trabajar con tasas de bits
relativamente altas. La siguiente tabla muestra un ejemplo de pruebas hechas en un
Pentium de 166Mhz PC:
Estas tasas de datos son solamente para decodificacin, para la codificacin se vuelve
mucho ms rpido debido a que requiere menos clculos...
STATUS TECNOLGICOS DE CDIGOS:
Listamos a continuacin algunos de los cdigos ms utilizados en aplicaciones
tecnolgicas por empresas como IBM, Philips y Sony, y por agencias espaciales como
la NASA y la Agencia Espacial Europea.
6. BIBLOGRAFIA
Autmatas Programables Josep Bacells
Wayne Tomasi
http://huitoto.udea.edu.co/SistemasDiscretos/contenido/cod_deteccion_error.htm
l
http://www.rhernando.net/modules/tutorials/doc/redes/error.html
http://es.scribd.com/doc/23949015/Redes-de-Comunicaciones-Industriales
http://www.google.com.pe/imgres?
imgurl=http://perso.wanadoo.es/pictob/imagenes/asicmenorv.gif&imgrefurl=http
://perso.wanadoo.es/pictob/comserie.htm&usg=__HH9jOU9dTVnBSSuIp64oh
58
QD1ygc=&h=287&w=630&sz=5&hl=es&start=2&zoom=1&tbnid=soe6oICx7o
lnHM:&tbnh=62&tbnw=137&ei=BGa6Tsf0JYyTtwekuIzcBw&prev=/search
%3Fq%3Dbits%2Bde%2Bparidad%26hl%3Des%26gbv%3D2%26tbm
%3Disch&itbs=1
http://www.jcea.es/artic/ecc-crc.htm
http://wmatem.eis.uva.es/~ignfar/codes/codes.pdf
http://arantxa.ii.uam.es/~ig/teoria/temas/IG_tema-4-2008-2009.pdf
http://www.google.com.pe/search?aq=0&oq=EXPOSI&sourceid=chrome&ie=UTF8&q=exposicion
59