Académique Documents
Professionnel Documents
Culture Documents
Cdigos de Errores
1
Tipos de Errores
Cuando viaja una seal de un punto a otro, se pueden producir diferentes tipos de interferencias debidas a fenmenos elctricos externos, magnetismo, calor, etc. Esta interferencia puede cambiar la forma el periodo de la seal.
4
Tipos de Errores
Un error de bit cambiara el 0 por un 1 y viceversa. (Ver figura 01) Cuando tenemos un error de rfaga, se cambian muchos bits. Por ejem en una rfaga de 0.5 ms de duracin, en una Tx. con una velocidad de 600 Kbps, se podra cambiar hasta un mximo de 300 bits.
5
ERROR DE BIT
0 cambia por 1
0 0 0 0 0 0 1 0
Enviado
0 0 0 0 1 0 1 0
Recibido
Tipos de Errores
Es muy poco probable que tengamos un error de bit, lo que tendremos son errores de rfaga. En este caso al menos 2 unidades de bits habrn cambiado. (Ver figura 02) En un error de rfaga no se producirn necesariamente, errores de bits consecutivos. La longitud de la rfaga se mide desde el primer hasta el ultimo bit correcto.
7
ERROR DE RAFAGA
Longitud del error de rfaga (8 bits) Enviado
1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1
Bits daados
1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1
Recibido
Redundancia
Para la deteccin y correccin de errores se aplica la Tcnica de la Redundancia. Por eso se envan algunos bits adicionales (redundantes) conjuntamente con los bits de datos. Estos bits se aaden en la Transmisin y se eliminan en la Recepcin. Esto permite al receptor detectar y luego corregir los bits con errores.
9
Mtodos de Correccin.
Existen 02 mtodos conocidos que son: La Correccin de errores Hacia delante en donde el receptor mediante algunos algoritmos deber predecir (adivinar) el mensaje con el uso de los bits redundantes. Esto ser posible cuando el numero de errores es pequeo.
12
Mtodos de Correccin.
Tambin tenemos la Correccin de errores por Retransmisin en donde el receptor detecta la existencia de un error y de inmediato solicita al transmisor que vuelva a retransmitir el mensaje. La retransmisin se repite hasta que se considere libre de errores.
13
Codificacin de bloques.
En la codificacin de bloques se divide el mensaje en bloques de k bits de datos (PALABRAS de DATOS). Se aaden r bits redundantes a cada bloque, consiguiendo una longitud de n = k + r, estos bloques de n bits se denominan PALABRAS de CODIGO. (Ver Fig. 03) Entonces con k bits se pueden crear una combinacin de 2k PALABRAS de DATOS. Con n bits se pueden crear una combinacin de 2n PALABRAS de CODIGO.
14
Codificacin de bloques.
Obviamente como n > k el numero de palabras CODIGO es mayor que el numero de palabras de DATOS. Luego tenemos 2n - 2k palabras CODIGO que no se utilizan. Estas palabras CODIGO son denominadas invlidos o ilegales.
15
k bits
k bits
k bits
Donde n > k
n bits
n bits
n bits
16
Deteccin de errores.
En la codificacin de bloques se podrn detectar los errores, si ocurren las (02) siguientes condiciones: 1. El Receptor tiene una lista de palabras cdigo validas. 2. La palabra cdigo original ha cambiado a una invalida. Este proceso de deteccin de errores se puede apreciar en la figura 04.
17
Generador
Generador
Descartar
n bits
18
Deteccin de errores.
El emisor a partir de las palabras de datos CREA las palabras cdigo. Las palabras cdigo transmitidas, sern evaluadas al llegar al receptor. Si la palabra cdigo esta en la lista del receptor se acepta, extrayendo la palabra de datos. Tambin es posible que se altere la palabra cdigo original por otra palabra cdigo, que exista en la lista del receptor. De ocurrir lo anterior el receptor podra aceptar una palabra de datos errada. Se muestra un ejm en la figura 05, donde k=2 y n=3.
19
Deteccin de errores.
Palabras de datos
Palabras de cdigo
00 01 10
11
110
Deteccin de errores.
Por ejemplo si el emisor codifica la palabra 01 y la enva al receptor como 011, se podran tener los siguientes casos: El receptor recibe el 011. Como es un cdigo valido, el receptor lo acepta y extrae el dato 01. En el supuesto que el cdigo se altera en la transmisin y se recibe 111. El cdigo recibido no ser valido y se eliminara.
21
Deteccin de errores.
Si el cdigo se daa durante la transmisin y se recibe un 000 . El cdigo recibido a pesar de la alteracin es recibido (errneamente) por el receptor. Luego el receptor extrae el dato 00. Como es un cdigo valido, el receptor extrae el dato 00. Debido a los errores (en 2 bits de la derecha) el error no ser detectado.
22
Correccin de errores.
Aqu el receptor deber encontrar el cdigo originalmente enviado. Por esta razn es necesario aadir mas bits redundantes para realizar la correccin respecto a los bits requeridos en la deteccin. El concepto es el mismo y se puede apreciar un esquema en la fig. 06.
23
Generador
Comprobador
n bits
24
Correccin de errores.
Podemos usar las mismas palabras de datos del ejm 05, pero aadiendo mas bits redundantes. (Ver fig. 07) Se aaden 03 bits redundantes a la palabra de datos de 02 bits, obteniendo cdigos de 5 bits. El cdigo para transmitir el dato 01, es de acuerdo a su tabla el 01011. Pero si este se daa (el 2do bit de la derecha) en la transmisin y se recepciona el 01001 el el receptor detectara que este cdigo no esta en la tabla. Luego SI existe un ERROR.
25
Correccin de errores.
El receptor asumir que solo se ha daado 01 bit, entonces compara el cdigo recibido con el primer cdigo de la tabla. Al comparar con el primer cdigo se determinara que este no es el enviado por que tenemos 02 bits diferentes. De igual manera se determino que no fue enviado el tercer y el cuarto cdigo de la tabla.
26
Correccin de errores.
Cdigo errneo: 01001
Palabras de datos Palabras de cdigo
00 01 10
11
11110
Correccin de errores.
El cdigo original entonces deber ser el segundo de la tabla, debido a que solo difiere en un solo bit. Luego el receptor reemplaza el cdigo (daado) 01001por el cdigo (correcto) que es el 01011. Finalmente consulta la tabla y determina que el dato (correcto) enviado es el 01.
28
Distancia Hamming.
La distancia Hamming entre 02 palabras (del mismo tamao) es el NUMERO DE DIFERENCIAS entre los bits CORRESPONDIENTES. La distancia Hamming entre 02 palabras x e y se simboliza como: d(x,y). La distancia Hamming se calcula aplicando la operacin XOR sobre las 2 palabras y contando el numero de bits resultantes. Ser un valor mayor que 0.
29
d(1100,1011) = 3.
30
d min = N+1.
31
Fig. 08.- Concepto geomtrico para encontrar la dmin en la correccin de errores muestra un cdigo para la correccin de errores.
Territorio de x
Territorio de y
Radio t
Radio t
x dmin > 2t
Cualquier cdigo valido
33
d min = 2t + 1.
34
para un cdigo de bloques Lineal es el numero 1, en el cdigo valido distinto de cero, con el numero mas pequeo de 1.
36
Cdigos de Paridad
Es un cdigo muy utilizado, una palabra de datos de k bits se convierte en un cdigo de n bits, con n
= k + 1.
El bit extra (BIT DE PARIDAD) se selecciona de forma que la cantidad de 1s en el cdigo sea PAR. La minima distancia Hamming, en esta categora es:
d min = 2
Esto significa que el cdigo puede detectar errores de 1 bit; no puede corregir cualquier error.
37
Cdigos de Paridad
En la figura 09, se muestra un ejemplo, de como se elaboran los cdigos de paridad en que k=5 y n=4 (Long. del dato y del cdigo respectivo).
Palabra de datos Palabra de cdigo Palabra de datos Palabra de cdigo
Cdigos de Paridad
En la sgte. Presentacin (Fig. 10) muestra la estructura de un posible codificador (en el emisor) y un decodificador (en el receptor). El codificador utiliza un generador que toma los 4 bits de datos (a0, a1, a2, a3) y adems inserta un bit de paridad r0, creando un cdigo de 5 bits. El bit de paridad que se aade permite que el numero de UNOS en el cdigo sea PAR.
39
Cdigos de Paridad
Emisor
Codificador
Palabras de datos
a3 a2 a1 a0
Receptor
Decodificador
Palabras de datos
a3 a2 a1 a0
Aceptar
Descartar
Sndrome
s0
Lgica de decisin
Generador
Comprobador
Bit de paridad
a3
a2
a1
a0
r0
Transmisin no fiable
b3
b2
b1
b0
q0
Palabras cdigo
Palabras cdigo
40
Cdigos de Paridad
El comprobador verifica la cantidad de 1s, el resultado es enviado al sndrome. Si el sndrome, enva la informacin a la Unid. LOGICA de DECISION, quien al recibir un 0 detecta que el numero de 1s es PAR. Si se recibe un 1 existe un error y el CODIGO se descarta. Luego no se creara la DATA. 41
42
1 1
1 0
0 1
0 1
1 1
1 0
1 1
1 1
Paridades de las filas
44
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1 1
1 0
0 1
0 1
1 1
1 0
1 1
1 1
Paridades de las filas
45
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1 1
1 0
0 1
0 1
1 1
1 0
1 1
1 1
Paridades de las filas
46
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1 1
1 0
0 1
0 1
1 1
1 0
1 1
1 1
Paridades de las filas
47
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
1 1
1 0
0 1
0 1
1 1
1 0
1 1
1 1
Paridades de las filas
48
0
0
1
1
1
0
1
1
0
0
0
0
1
1
0
1
Cdigo de Hamming
Se disearon con una distancia dmin= 3 Luego detectan 1 2 errores. La fig. 12 muestra una estructura de un codificador y decodificador en este tipo de cdigo. En funcin de la palabra de datos de 4 bits se crean en el generador 03 bits de paridad r0, r1 y r2.
49
Fig. 12.- Estructura del codificador y del decodificador para un cdigo Hamming
Emisor
Codificador
Palabras de datos a3 a2 a1 a0
Receptor
Decodificador
Palabras de datos
a3 a2 a1 a0
Sndrome s2 s1 s0
Lgica de decisin
Generador
Comprobador
Transmisin
a3 a2 a1 a0 r2 r1 r0 b3 b2 b1 b0 q2 q1 q0
Palabras cdigo
no fiable
Palabras cdigo
50
Cdigo de Hamming
Aqu el generador crea 03 bits de paridad a partir de 3 de los 4 bits que componen la palabra de datos. Por ejemplo el generador plantea la ecuacin mostrada (ver fig. 13): r 0 = a 2 + a 1 + a 0. r 1 = a 3 + a 2 + a 1. r 2 = a 3 + a 1 + a 0. Adems el numero de unos en cada combinacin de 4 bits debe ser PAR (03 bit de Dx. + 01 bit Paridad)
51
Cdigo de Hamming
Palabra de datos Palabra de cdigo Palabra de datos Palabra de cdigo
Cdigo de Hamming
Luego el comprobador en el decodificador crea un SINDROME de 3 bits (s0, s1, s2). Cada uno de estos bits es el de paridad de 4 de los 7 bits que se recibieron. Por ejemplo el Comprobador plantea la ecuacin mostrada (ver fig. 14): s0 = b2 + b1 + b0 + q0. s1 = b3 + b2 + b1 + q1. s2 = b3 + b1 + b0 + q2. El comprobador utiliza ecuaciones similares a las del generador, para los bits de paridad de la derecha.
53
Cdigo de Hamming
Luego el SINDROME de 3 bits crea 8 patrones de bits diferentes (000 hasta
111).
Cada una de estas 8 combinaciones podrn definir la ausencia o existencia de un error, en los cdigos de 7 bits que se han recibido (Ver la figura 13).
54
Cdigo de Hamming
Sndrome
Error
000
001
010
011
100
101
110
111
no
q0
q1
b2
q2
b0
b3
b1
55
Cdigos Cclicos
Son cdigos de bloques lineales, pero en este caso, si un cdigo se desplaza cclicamente, el resultado es otra palabra de cdigo. Se denominan CODIGOS DE REDUNDANCIA CICLICA (CRC) se emplea en la Tx. Dx. entre las Redes LAN WAN.(Ver un ejemplo en la figura 14).
56
Cdigos Cclicos
Palabra de datos Palabra de cdigo Palabra de datos Palabra de cdigo
Cdigos Cclicos
En la fig. 15 se muestra el diseo de Codificador y decodificador CRC. El concepto de CRC consiste en tratar a las secuencias binarias como polinomios binarios, denotando polinomios cuyos coeficientes se correspondan con la secuencia binaria. Por esto a estos cdigos tambin se les denomina Cdigos polinomicos.
58
Receptor
Decodificador
Palabras de datos
a3 a2 a1 a0
0 0 0 Sndrome Divisor
s2 s1 s0
Lgica de decisin
Generador
Resto
d3d2d1d0
Comprobador
a3
a2
a1
a0
r2
r1
r0
Transmisin no fiable
b3
b2
b1
b0
q2
q1
q0
Palabras cdigo
Palabras cdigo 59
Cdigos Cclicos
Por ejemplo, la secuencia binaria 0110101001 se puede representar como un polinomio, como se muestra a continuacin:
0*x9 + 1*x8 + 1*x7 + 0*x6 + 1*x5 + 0*x4 + 1*x3 + 0*x2 + 0*x1 + 1*x0
Luego la secuencia binaria corresponde a
x 8 + x 7 + x5 + x 3 + 1
60
Cdigos Convolucionales
Un cdigo convolucional es un tipo de cdigo de deteccin de errores donde: 1.Cada smbolo de m bits de informacin se transforma, al ser codificado, en un smbolo de n bits, donde m/n es la tasa del cdigo (n m) 2.La transformacin es funcin de los k smbolos anteriores, donde k es la longitud del cdigo.
61
FEC
Es un cdigo convolucional de importancia: Cuando se transmiten datos en tiempo real a muchos usuarios, se emplea con mucha frecuencia el Forward Error Correction que permite optimizar el BW y mejorar la tasa de error (BER). El FEC un tipo de cdigo, que permite la correccin en el receptor sin retransmisin de la informacin original.
62
FEC
El FEC es adecuado, para sistemas sin retorno o sistemas en tiempo real donde no se puede esperar a la retransmisin para mostrar los datos. Las Normas de Transmisin de Televisin Digital usan Forward Error Correction. En la actualidad se utiliza para decodificar este tipo de cdigos el Algoritmo de Viterbi, por su gran eficiencia en el consumo de recursos.
63
64
65
Cdigos Reed-Solomon
Los cdigos Reed-Solomon son cdigos correctores de error basados en bloques con un amplio rango de aplicaciones en comunicaciones digitales y almacenamiento de datos.
66
Cdigos Reed-Solomon
Los cdigos Reed-Solomon se utilizan para corregir errores en varios sistemas incluyendo: Dispositivos de Almacenamiento (Cintas, Discos Compactos, DVD, cdigos de barras) Comunicaciones inalmbricas o mviles (Telefona celular, enlaces de microondas, etc.) Comunicaciones satelitales Televisin Digital/DVB Mdem de alta velocidad como ADSL, xDSL, etc
67
Cdigos Reed-Solomon
Los cdigos Reed-Solomon se desarrollaron en 1960 en los laboratorios de Texas Instrument, por el aporte de los PhD en Matemticas; Irving Reed y Gustavo Solomon ambos tambin investigadores del MIT. Las naves Voyager y Galileo usan en sus transmisiones al cdigo RS como detector de errores.
68
Cdigos Reed-Solomon
Es un cdigo de bloques, que separan el flujo de datos en bloques de k-bits, y (n-k) bits de chequeo son agregados en estos bloques. Esto es referenciado como un bloque de cdigo (n,k). Por ejemplo un cdigo (15,11) tiene 15 palabras de cdigo, cuatro bits de paridad y el resto de bits de datos.
69
Cdigos Reed-Solomon
El codificador R-S toma un bloque de informacin digital y aade bits redundantes. El decodificador procesa cada bloque e intenta corregir los errores y recuperar la informacin original. El nmero y tipo de errores que pueden ser corregidos depende de las caractersticas del cdigo R-S.
70
Cdigos Reed-Solomon
n
K 2t
DATA
PARIDAD
72
El decodificador puede corregir cualquier error de 16 smbolos en la palabra de cdigo, es decir, errores de hasta 16 bytes en cualquier lugar de la palabra pueden ser automticamente corregidos.
73
INNER CODE
Las normas DVB-S y DVB-T no consideran suficiente el algoritmo RS, por consiguiente ellos agregan (adems de RS) otro sistema de correccin, mucho ms poderoso, llamado "Inner Code. El Inner Code" agrega datos de correccin futura: por ejemplo agrega 1 bit de correccin cada 7 bits (Code Rate 7/8), o 1 bit de correccin cada 2 bits (Code Rate 2/3), y as sucesivamente.
74
INNER CODE
Code Rates bajas (ej., 7/8) permite posibilidades ms bajas de FEC (la posibilidad del receptor de corregir errores eventuales en los datos). Mientras que Code Rates mayores (ej., 1/2) permite posibilidades mayores de FEC.
75
2m 1 t 2
Se puede generalizar para crear clases de cdigos no-binarios, que usan m bits por smbolo de cdigo.
77