SlideShare una empresa de Scribd logo
1 de 82
1
TELECOMUNICACIONES
Ing. Luis Degregori C.
Códigos de Errores
Richard Hamming
2
Detección y Corrección de Errores
• Las redes deben garantizarnos que los
datos transmitidos lleguen con total
exactitud.
• En muchas aplicaciones es indispensable
que los datos recibidos sean
exactamente igual a los datos
transmitidos.
• Sin embargo los datos se pueden alterar
durante la transmisión.
3
Detección y Corrección de Errores
• En algunas aplicaciones se requiere
que todos los errores sean
detectados y corregidos.
• Existen otras aplicaciones que
pueden soportar un pequeño nivel
de errores, como en la Tx. de
productos de audio o video.
4
Tipos de Errores
• Cuando viaja una señal de un punto
a otro, se pueden producir diferentes
tipos de interferencias debidas a
fenómenos eléctricos externos,
magnetismo, calor, etc.
• Esta interferencia puede cambiar la
forma o el periodo de la señal.
5
Tipos de Errores
• Un error de bit cambiara el 0 por un 1 y
viceversa. (Ver figura 01)
• Cuando tenemos un error de ráfaga, se
cambian muchos bits.
• Por ejem en una ráfaga de 0.5 ms de
duración, en una Tx. con una velocidad de
600 Kbps, se podría cambiar hasta un
máximo de 300 bits.
6
ERROR DE BIT
0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0
Enviado Recibido
0 cambia por 1
Fig. 01.- Muestra el error de un bit.
7
Tipos de Errores
• Es muy poco probable que tengamos un
error de bit, lo que tendremos son
errores de ráfaga.
• En este caso al menos 2 unidades de
bits habrán cambiado. (Ver figura 02)
• En un error de ráfaga no se producirán
necesariamente, errores de bits
consecutivos.
• La longitud de la ráfaga se mide desde el
primer hasta el ultimo bit correcto.
8
ERROR DE RAFAGA
1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1
Enviado
Longitud del error
de ráfaga (8 bits)
1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1
Recibido
Bits dañados
Fig. 02.- Muestra el error de una ráfaga.
9
Métodos de Corrección.
• Como antecedentes tenemos desde
el Siglo IX la contribución de los
Matemáticos Árabes:
• Método de Expulsión de 9s (Nueves)”
• Por ejemplo: 270 + 538 = 808
• En la suma: 2+7+0 = 9, 5+3+8 = 16 = 1+6 = 7
• Luego 9+7 = 16 = 1+6 = 7
• El resultado: 8+0+8 = 8+8 = 1+6 = 7 OK
10
Redundancia
• Para la detección y corrección de errores
se aplica la Técnica de la Redundancia.
• Por eso se envían algunos bits
adicionales (redundantes)
conjuntamente con los bits de datos.
• Estos bits se añaden en la Transmisión
y se eliminan en la Recepción.
• Esto permite al receptor detectar y luego
corregir los bits con errores.
11
Detección frente a Corrección.
• En la detección de errores se determina
solo la existencia de algún error.
• La respuesta es un SI o un NO.
• En la detección, no se determina el
numero de errores.
• Mientras que en la corrección de
errores si requerimos saber cual es el
numero de bits dañados y además
determinar con certeza su posición
dentro de la trama.
12
Detección frente a Corrección.
• En la corrección de errores se necesita,
no solo el numero de bits dañados sino
además su posición exacta.
• También es importante el tamaño del
mensaje.
• Por ejemplo si tenemos que corregir 03
bits en una unidad de 8 bits de datos, se
tendrá que considerar 56 posibilidades.
13
Métodos de Corrección.
• Actualmente existen 02 métodos
conocidos que son:
• La Corrección de errores “Hacia
delante” en donde el receptor
mediante algoritmos deberá predecir
(adivinar) el mensaje con el uso de
los bits redundantes.
• Esto será posible cuando el numero
de errores es pequeño.
14
Métodos de Corrección.
• También tenemos la Corrección de
errores por “Retransmisión” en
donde el receptor detecta la
existencia de un error y de inmediato
solicita al transmisor que vuelva a
retransmitir el mensaje.
• La retransmisión se repite hasta que
se considere libre de errores.
15
Codificación de Bloques.
• En la codificación de bloques se divide el
mensaje en bloques de “k” bits de datos
(PALABRAS de DATOS).
• Se añaden “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
combinación de 2k
PALABRAS de DATOS.
• Con “n” bits se pueden crear una combinación
de 2n
PALABRAS de CODIGO.
16
Codificación 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 inválidos o ilegales.
17
Palabras de datos y palabras código
en la codificación de bloques
k bits k bits k bits
2k
palabras de datos, cada una de k bits
n bits n bits n bits
2n
palabras código, cada una de n bits (solo 2k
de ellas son validas)
Donde n > k
Fig. 03.- Palabras de datos y Palabras de código
18
Detección de errores.
• En la codificación de bloques se podrán
detectar los errores, si ocurren las (02)
siguientes condiciones:
1. El Receptor tiene una lista de palabras
código validas.
2. La palabra código original ha cambiado
a una invalida.
• Este proceso de detección de errores se
puede apreciar en la figura 04.
19
Proceso de detección de errores
en la codificación de bloques
Palabra de datos
Codificador
Emisor
k bits
Generador
Palabra códigon bits
Receptor
Decodificador
Palabra de datos
Generador
Palabra código
Transmisión
no fiable
Descartar
Extraer
k bits
n bits
Fig. 04.- Proceso de detección de errores
20
Detección de errores.
• El emisor a partir de las palabras de datos CREA las
palabras código.
• Las palabras código transmitidas, serán evaluadas al
llegar al receptor.
• Si la palabra código esta en la lista del receptor se
acepta, extrayendo la palabra de datos.
• También es posible que se altere la palabra código
original por otra palabra código, que exista en la lista
del receptor.
• De ocurrir lo anterior el receptor podría aceptar una
palabra de datos errada.
• Se muestra un ejm en la figura 05, donde k=2 y n=3.
21
Detección de errores.
Palabras de datos Palabras de código
00 000
01 011
10 101
11 110
Fig. 05.- Un código para detección de errores
22
Detección de errores.
• Por ejemplo si el emisor codifica la
palabra 01 y la envía al receptor como
011, se podrían tener los siguientes
casos:
• El receptor recibe el 011. Como es un
código valido, el receptor lo acepta y
extrae el dato 01.
• En el supuesto que el código se altera
en la transmisión y se recibe 111. El
código recibido no será valido y se
eliminara.
23
Detección de errores.
• Si el código se daña durante la
transmisión y se recibe un 000 . El
código recibido a pesar de la alteración
es recibido (erróneamente) por el
receptor.
• Luego el receptor extrae el dato 00.
Como es un código valido, el receptor
extrae el dato 00.
• Debido a los errores (en 2 bits de la
derecha) el error no será detectado.
24
Corrección de errores.
• Aquí el receptor deberá encontrar el
código originalmente enviado.
• Por esta razón es necesario añadir mas
bits redundantes para realizar la
corrección respecto a los bits
requeridos en la detección.
• El concepto es el mismo y se puede
apreciar un esquema en la fig. 06.
25
Estructura del codificador y decodificador
en la corrección de errores
Palabra de datos
Codificador
Emisor
k bits
Generador
Palabra códigon bits
Receptor
Decodificador
Palabra de datos
Comprobador
Palabra código
Transmisión
no fiable
Corregir
k bits
n bits
Fig. 06.- Estructura de codificador / decodificador
26
Corrección de errores.
• Podemos usar las mismas palabras de datos
del ejm 05, pero añadiendo mas bits
redundantes. (Ver fig. 07)
• Se añaden 03 bits redundantes a la palabra de
datos de 02 bits, obteniendo códigos de 5
bits.
• El código para transmitir el dato 01, es de
acuerdo a su tabla el 01011.
• Pero si este se daña (el 2do bit de la derecha)
en la transmisión y se recepciona el 01001 el
receptor detectara que este código no esta en
la tabla. Luego SI existe un ERROR.
27
Corrección de errores.
• El receptor asumirá que solo se ha
dañado 01 bit, entonces compara el
código recibido con el primer código de
la tabla.
• Al comparar con el primer código 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 código
de la tabla.
28
Corrección de errores.
Palabras de datos Palabras de código
00 00000
01 01011
10 10101
11 11110
Fig. 07.- Se muestra un código para corrección de errores.
Código erróneo: 01001
29
Corrección de errores.
• El código original entonces deberá ser el
segundo de la tabla, debido a que solo
difiere en un solo bit.
• Luego el receptor reemplaza el código
(dañado) 01001por el código (correcto)
que es el 01011.
• Finalmente consulta la tabla y
determina que el dato (correcto)
enviado es el 01.
30
Distancia Hamming.
• La distancia Hamming entre 02 palabras
(del mismo tamaño) 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 operación XOR sobre las 2
palabras y contando el numero de bits
resultantes. Será un valor mayor que 0.
31
Mínima distancia Hamming.
• Para diseñar un código de errores, la
mínima distancia Hamming, es la
distancia mas pequeña entre todos los
pares posibles.
• Por ejemplo si la palabra 1100 se daña,
siendo el código recibido el 1011, se
puede determinar que tenemos 03 bits
con errores, luego la distancia Hamming
será:
d(1100,1011) = 3.
32
Mínima distancia Hamming para la
Detección de errores.
• Si queremos detectar “N” errores; la
distancia Hamming será “N”.
• Si queremos detectar hasta un máximo
de “N” errores, la distancia mínima
entre los códigos validos deberá ser
“N+1”.
• Así aseguramos que el código recibido
(erróneo) no sea confundido con otro
código valido.
d min = N+1.
33
Mínima distancia Hamming para la
Corrección de errores.
• La función de corrección tiene una mayor
complejidad.
• Cuando se detecta un código erróneo; en el
receptor, se deberá determinar que código se
transmitió realmente.
• Esta decisión esta en función del territorio
requerido alrededor del código.
• Se asume que cada código valido tiene un
territorio circular de radio “t” y el código valido
esta en el centro.(Ver figura 08).
34
Territorio de x Territorio de y
Radio t Radio t
x y
dmin > 2t
Cualquier código valido Cualquier código dañado con 1 a “t” errores
Fig. 08.- Concepto geométrico para encontrar la dmin en la
corrección de errores muestra un código para
la corrección de errores.
35
Mínima distancia Hamming para la
Corrección de errores.
• Como se aprecia en el grafico anterior,
se tiene la interpretación geométrica que
define cada territorio de un código
erróneo.
• Del grafico podemos ver que:
d min > 2t.
• Entonces podríamos afirmar que:
d min = 2t + 1.
36
Códigos de Bloques Lineales
• Los algoritmos usados para estos
códigos usan conceptos de algebra
abstracta (Los campos de Galois).
• Pero si podemos indicar que en el código
de bloques lineal:
“El OR exclusivo (XOR) de 02 códigos
validos creara otro código valido”.
37
Mínima distancia para Códigos de
Bloques Lineales
• La mínima distancia Hamming,
para un código de bloques Lineal
es el numero 1, en el código
valido distinto de cero, con el
numero mas pequeño de 1.
38
Códigos de Paridad
• Es un código muy utilizado, una palabra de
datos de “k” bits se convierte en un código de
“n” bits, con “n = k + 1”.
• El bit extra (BIT DE PARIDAD) se selecciona de
forma que la cantidad de “1”s en el código sea
PAR.
• La mínima distancia Hamming, en esta categoría
es:
d min = 2
• Esto significa que el código puede detectar
errores de 1 bit; no puede corregir cualquier
error.
39
Códigos de Paridad
Palabra de
datos
Palabra de
código
Palabra de
datos
Palabra de
código
0000 00000 1000 10001
0001 00011 1001 10010
0010 00101 1010 10100
0011 00110 1011 10111
0100 01001 1100 11000
0101 01010 1101 11011
0110 01100 1110 11101
0111 01111 1111 11110
En la figura 09, se muestra un ejemplo, de como se elaboran los códigos
de paridad en que k=5 y n=4 (Long. del dato y del código respectivo).
Fig. 09.- Se muestra un código de Paridad C(5,4).
40
Códigos de Paridad
• En la sgte. Presentación (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 además
inserta un bit de paridad r0, creando un
código de 5 bits.
• El bit de paridad que se añade permite que el
numero de UNOS en el código sea PAR.
41
Códigos de Paridad
Codificador
Emisor
Generador
Transmisión
no fiable
a3 a2 a1 a0
Palabras de datos
a3 a2 a1 a0 r0
Palabras código
Bit de paridad
Receptor
Decodificador
a3 a2 a1 a0
Palabras de datos
Comprobador
b3 b2 b1 b0 q0
Lógica de
decisión
s0
Aceptar
Palabras código
Síndrome
Descartar
Fig. 10.- Codificador y decodificador para un código de Paridad
42
Códigos de Paridad
• El comprobador verifica la cantidad de
“1”s, el resultado es enviado al
síndrome.
• Si el síndrome, envía la información a la
Unid. LOGICA de DECISION, quien al
recibir un “0” detecta que el numero de
“1”s es PAR.
• Si se recibe un “1” existe un error y el
CODIGO se descarta. Luego no se
creara la DATA.
43
Códigos de Paridad de dos dimensiones
• Aquí las palabras de datos se organizan
en filas y columnas (tablas).
• Por ejm en la Fig. 11, los datos a enviar
se colocan en filas diferentes.
• Para cada fila y cada columna se calcula
un bit de paridad.
44
Códigos de Paridad de dos dimensiones
• Se puede apreciar que la paridad en 02
dimensiones, puede detectar hasta 03
errores que pueden ocurrir en cualquier
ubicación.
• Pero si tenemos errores que alteran 04
bits, estos no podrán ser detectados.
45
Fig. 11.- Código de paridad de dos
dimensiones
Diseño de paridades para filas y columnas
1 1 0 0 1 1 1 1
1 0 1 1 1 0 1 1
0 1 1 1 0 0 1 0
0 1 0 1 0 0 1 1
0 1 0 1 0 1 0 1
Paridades de las columnas
Paridadesdelasfilas
46
Fig. 11.- Código de paridad de dos
dimensiones
Un error afecta a dos paridades
1 1 0 0 1 1 1 1
1 0 1 1 1 0 1 1
0 1 1 1 0 0 1 0
0 1 0 1 0 0 1 1
0 1 0 1 0 1 0 1
Paridades de las columnas
Paridadesdelasfilas
47
Fig. 11.- Código de paridad de dos
dimensiones
Dos errores afectan a dos paridades
1 1 0 0 1 1 1 1
1 0 1 1 1 0 1 1
0 1 1 1 0 0 1 0
0 1 0 1 0 0 1 1
0 1 0 1 0 1 0 1
Paridades de las columnas
Paridadesdelasfilas
48
Fig. 11.- Código de paridad de dos
dimensiones
Tres errores afectan a cuatro paridades
1 1 0 0 1 1 1 1
1 0 1 1 1 0 1 1
0 1 1 1 0 0 1 0
0 1 0 1 0 0 1 1
0 1 0 1 0 1 0 1
Paridades de las columnas
Paridadesdelasfilas
49
Fig. 11.- Código de paridad de dos
dimensiones
Cuatro errores no pueden ser detectados
1 1 0 0 1 1 1 1
1 0 1 1 1 0 1 1
0 1 1 1 0 0 1 0
0 1 0 1 0 0 1 1
0 1 0 1 0 1 0 1
Paridades de las columnas
Paridadesdelasfilas
50
Código de Hamming
• Se diseñaron 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 código.
• En función de la palabra de datos de 4
bits se crean en el generador 03 bits de
paridad r0, r1 y r2.
51
Fig. 12.- Estructura del codificador y del
decodificador para un código Hamming
Codificador
Emisor
Generador
Transmisión
no fiable
a3 a2 a1 a0
Palabras de datos
a3 a2 a1 a0 r2 r1 r0
Palabras código
Receptor
Decodificador
a3 a2 a1 a0
Palabras de datos
Comprobador
b3 b2 b1 b0 q2 q1 q0
Lógica de
decisión
Palabras código
Síndrome
s2 s1 s0
52
Código 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 ecuación
mostrada (ver fig. 13):
• r0 = a2 + a1 + a0.
• r1 = a3 + a2 + a1.
• r2 = a3 + a1 + a0.
• Además el numero de “unos” en cada
combinación de 4 bits debe ser PAR (03 bit de
Dx. + 01 bit Paridad)
53
Código de Hamming
Palabra de datos Palabra de código Palabra de datos Palabra de código
0000 0000000 1000 1000110
0001 0001101 1001 1001011
0010 0010111 1010 1010001
0011 0011010 1011 1011100
0100 0100011 1100 1100101
0101 0101110 1101 1101000
0110 0110100 1110 1110010
0111 0111001 1111 1111111
Fig. 13.- Generación de los Códigos de Hamming C (7,4)
54
Código 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 ecuación
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.
55
Código de Hamming
• Luego el SINDROME de 3 bits crea 8
patrones de bits diferentes (000 hasta
111).
• Cada una de estas 8 combinaciones
podrán definir la ausencia o existencia
de un error, en los códigos de 7 bits que
se han recibido (Ver la figura 13).
56
Código de Hamming
000 001 010 011 100 101 110 111
no q0 q1 b2 q2 b0 b3 b1
Síndrome
Error
Fig. 14.- Decisión lógica hecha por la lógica de corrección
en el decodificador
57
Códigos Cíclicos
• Son códigos de bloques lineales, pero en
este caso, si un código se desplaza
cíclicamente, el resultado es otra
palabra de código.
• Se denominan CODIGOS DE
REDUNDANCIA CICLICA (CRC) se
emplea en la Tx. Dx. entre las Redes
LAN o WAN.(Ver un ejemplo en la figura 14).
58
Códigos Cíclicos
Palabra de datos Palabra de código Palabra de datos Palabra de código
0000 0000000 1000 1000101
0001 0001011 1001 1001110
0010 0010110 1010 1010011
0011 0011101 1011 1011000
0100 0100111 1100 1100001
0101 0101100 1101 1101001
0110 0110001 1110 1110100
0111 0111010 1111 1111111
Fig. 14.- Ejemplo de un código CRC con C (7,4)
59
Códigos Cíclicos
• En la fig. 15 se muestra el diseño 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 códigos también se les
denomina “Códigos polinómicos”.
60
Códigos Cíclicos CRC
Codificador
Emisor
Generador
Transmisión
no fiable
a3 a2 a1 a0
Palabras de datos
a3 a2 a1 a0 r2 r1 r0
Palabras código
Receptor
Decodificador
a3 a2 a1 a0
Palabras de datos
Comprobador
b3 b2 b1 b0 q2 q1 q0
Lógica de
decisión
Palabras código
Síndrome
s2 s1 s0
Resto
0 0 0
d3d2d1d0
Divisor
Fig. 15.- Ejemplo de un diseño de Codificador y decodificador CRC
61
Códigos Cíclicos
• Por ejemplo, la secuencia binaria
0110101001 se puede representar como
un polinomio, como se muestra a
continuación:
• 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
• x8
+ x7
+ x5
+ x3
+ 1
62
Codigos Convolucionales
• Un código convolucional es un tipo de c
ódigo de detección de errores donde:
1.Cada símbolo de m bits de información se
transforma, al ser codificado, en un
símbolo de n bits, donde m/n es la tasa
del código (n ≥ m)
2.La transformación es función de los k
símbolos anteriores, donde k es la
longitud del código.
63
FEC
• Es un código 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 código, que permite la
corrección en el receptor sin retransmisión de
la información original.
64
FEC
• El FEC es adecuado, para sistemas sin retorno
o sistemas en tiempo real donde no se puede
esperar a la retransmisión para mostrar los
datos.
• Las Normas de Transmisión de Televisión
Digital usan Forward Error Correction.
• En la actualidad se utiliza para decodificar este
tipo de códigos el Algoritmo de Viterbi, por su
gran eficiencia en el consumo de recursos.
65
Códigos de Error
Concatenados
• Forman una clase de códigos de error de
corrección que se derivan de la combinación
de un Inner Code y un Outer Code.
• Es un súper código que permite decrecer
exponencialmente en la probabilidad de
error, aun cuando se incremente la longitud
de un bloque
66
Códigos de Error
Concatenados
• Fueron concebidos en 1966 por DAVE
FORNEY
Codificador
externo
Codificador
interno
Decodificador
interno
Decodificado
r externo
Canal de
transmisión
Súper Codificador Súper Decodificador
SUPER CANAL
67
Códigos Reed-Solomon
• Los códigos Reed-Solomon son
códigos correctores de error basados
en bloques con un amplio rango de
aplicaciones en comunicaciones
digitales y almacenamiento de datos.
68
Códigos Reed-Solomon
• Los códigos Reed-Solomon se utilizan para
corregir errores en varios sistemas incluyendo:
– Dispositivos de Almacenamiento (Cintas,
Discos Compactos, DVD, códigos de barras)
– Comunicaciones inalámbricas o móviles
(Telefonía celular, enlaces de microondas, etc.)
– Comunicaciones satelitales
– Televisión Digital/DVB
– Módem de alta velocidad como ADSL, xDSL,
etc.
69
Códigos Reed-Solomon
• Los códigos Reed-Solomon se desarrollaron en 1960 en
los laboratorios de Texas Instrument, por el aporte de los
PhD en Matemáticas; Irving Reed y Gustavo Solomon
ambos también investigadores del MIT.
• Las naves Voyager y Galileo usan en sus transmisiones
al código RS como detector de errores.
• Las naves Voyager y Galileo hasta hoy
usan en sus transmisiones al código RS
como detector de errores.
70
Códigos Reed-Solomon
La sonda espacial
robótica Voyager
1, fue lanzada el 5
de septiembre de
1977, desde Cabo
Cañaveral, Florida
Actualmente se
aleja del sistema
solar, ya paso la
orbita de Plutón.
71
Códigos Reed-Solomon
• Es un código 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
código (n,k). Por ejemplo un código
(15,11) tiene 15 palabras de código,
cuatro bits de paridad y el resto de bits de
datos.
72
Códigos Reed-Solomon
• El codificador R-S toma un bloque de
información digital y añade bits
redundantes.
• El decodificador procesa cada bloque e
intenta corregir los errores y recuperar la
información original.
• El número y tipo de errores que pueden
ser corregidos depende de las
características del código R-S.
73
Propiedades de los Códigos
Reed-Solomon
• Un código Reed-Solomon se especifica como
RS (n,k) con símbolos de “s” bits.
• Lo anterior significa que el codificador toma “k”
símbolos de “s” bit y añade símbolos de paridad
para hacer una palabra de código de “n”
símbolos.
• Existen (n-k) símbolos de paridad de “s” bits
cada uno. Un decodificador puede corregir
hasta “t” símbolos que contienen errores en una
palabra de código, donde 2t = (n – k).
74
Códigos Reed-Solomon
DATADATA PARIDADPARIDAD
2t2tKK
nn
75
Propiedades de los Códigos
Reed-Solomon
• Un código popular Reed-Solomon es
RS(255,223) con símbolos de 8 bits.
• Cada palabra de código contiene 255 bytes de palabra
de código, de los cuales 223 bytes son datos y 32 bytes
son paridad.
• Para este código se tiene:
• N = 255, k = 223, s = 8
• 2t = 32, t = 16
• El decodificador puede corregir cualquier error
de 16 símbolos en la palabra de código, es
decir, errores de hasta 16 bytes en cualquier
lugar de la palabra pueden ser automáticamente
corregidos.
76
INNER CODE
• Las normas DVB-S y DVB-T no consideran
suficiente el algoritmo RS, por consiguiente
ellos agregan (además de RS) otro sistema de
corrección, mucho más poderoso, llamado
"Inner Code”, en este caso el FEC.
• El “Inner Code" agrega datos de corrección
futura: por ejemplo agrega 1 bit de corrección
cada 7 bits (Code Rate 7/8), o 1 bit de
corrección cada 2 bits (Code Rate 2/3), y así
sucesivamente.
77
INNER CODE: FEC
• Code Rates altos (ej., 7/8) permite optimizar
el BW pero menor eficacia del FEC (la
posibilidad del receptor de corregir
pequeños errores en los datos).
• Mientras que Code Rates menores (ej., 1/2)
permite posibilidades mayores de eficacia
del FEC, pero mayor requerimiento de BW.
78
NUEVOS CODIGOS: BCH y LDPC
• Para las nuevas técnicas de
transmisión de TV Digital tipo DTH en
el estándar DVD-S2 se tienen nuevos
códigos de corrección como el BCH
que concatenados con el LDPC,
permiten mayor robustez al sistema,
inclusive con relaciones S/N mucho
mas baja.
79
• Código BCH: es novedoso y muy importante
dado que existe para un amplio rango de tasas,
logrando una ganancia de código significativa y
pudiendo ser implementado aún en altas
velocidades.
El nº de errores que puede corregir:
Se puede generalizar para crear clases de
códigos no-binarioscódigos no-binarios, que usan m bits por
símbolo de código.
Código BCH (De bloque)
3;2 1
≥= −
mn m
2
12 −
<
m
t
80
CODIGOS LDPC
(Low Density Parity Codes)
• Son un tipo de códigos de paridad.
• Tienen un matriz de paridad dispersa
(es decir con pocos “unos” respecto a
los “ceros”).
• Para un código (n,k), H es una matriz
de chequeo de n-k por n.
• Solo unos pocos bits (4 a 6) participan
en cada ecuac. del chequeo de paridad
CODIGO LDPC (n.k)CODIGO LDPC (n.k)
82
CODIGOS LDPCCODIGOS LDPC
(Low Density Parity Codes)
• Estos proveen una mejor eficiencia en la
corrección de errores, en standares
como el:
– DVB-S2 – Comunicaciones Satelitales
–IEEE 802.3an (10GBASE-T)
–IEEE 802.16e (WiMAX)
–IEEE 802.11n/ac (Wi-Fi)
–Comunicaciones Móviles UMTS y LTE.

Más contenido relacionado

La actualidad más candente

Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 
Errores de transmisión, corrección de errores,
Errores de transmisión, corrección de errores,Errores de transmisión, corrección de errores,
Errores de transmisión, corrección de errores,arquitectura5
 
Modulación digital con portadora análoga
Modulación digital con portadora análogaModulación digital con portadora análoga
Modulación digital con portadora análogaJoaquin Vicioso
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempoEdison Coimbra G.
 
Señalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / Sigtran
Señalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / SigtranSeñalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / Sigtran
Señalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / SigtranEng. Fernando Mendioroz, MSc.
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Francisco Apablaza
 
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...nica2009
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de erroresArnold Alfonso
 
Lecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdLecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdnica2009
 
No retorno a cero (nrz l)
No retorno a cero (nrz l)No retorno a cero (nrz l)
No retorno a cero (nrz l)Fernando Luz
 

La actualidad más candente (20)

Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
Errores de transmisión, corrección de errores,
Errores de transmisión, corrección de errores,Errores de transmisión, corrección de errores,
Errores de transmisión, corrección de errores,
 
Investigación técnicas de modulación
Investigación técnicas de modulaciónInvestigación técnicas de modulación
Investigación técnicas de modulación
 
Modulación digital con portadora análoga
Modulación digital con portadora análogaModulación digital con portadora análoga
Modulación digital con portadora análoga
 
4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo4.TDM Multiplexacion por division de tiempo
4.TDM Multiplexacion por division de tiempo
 
Modulacion analogica
Modulacion analogicaModulacion analogica
Modulacion analogica
 
Señalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / Sigtran
Señalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / SigtranSeñalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / Sigtran
Señalización en Redes Telefónicas Públicas Conmutadas SS7 / DSS1 / Sigtran
 
Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2Sistemas de Telecomunicaciones cap 2
Sistemas de Telecomunicaciones cap 2
 
Modulacion qam
Modulacion qamModulacion qam
Modulacion qam
 
codificacion de linea
codificacion de lineacodificacion de linea
codificacion de linea
 
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
Lecture 20 detección en códigos lineales de bloque. generación de códigos cíc...
 
1 modulación psk
1 modulación psk1 modulación psk
1 modulación psk
 
Modulación qam
Modulación qamModulación qam
Modulación qam
 
Modulacion ask
Modulacion askModulacion ask
Modulacion ask
 
Detección y corrección de errores
Detección y corrección de erroresDetección y corrección de errores
Detección y corrección de errores
 
Modulación: AM, FM, PM
Modulación: AM, FM, PMModulación: AM, FM, PM
Modulación: AM, FM, PM
 
Lecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psdLecture 9 codificación de línea y psd
Lecture 9 codificación de línea y psd
 
No retorno a cero (nrz l)
No retorno a cero (nrz l)No retorno a cero (nrz l)
No retorno a cero (nrz l)
 
Zonas de fresnel
Zonas de fresnelZonas de fresnel
Zonas de fresnel
 
Codificación de línea
Codificación de líneaCodificación de línea
Codificación de línea
 

Similar a Códigos de errores - Telecomunicaciones III

Deteccion y Correccion de errores
Deteccion y Correccion de erroresDeteccion y Correccion de errores
Deteccion y Correccion de erroresMishell Carrera
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control Deguestc9b52b
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datosLevin Andres
 
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptxCervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptxSofaCervantes3
 
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaDeteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaSabino Chalen Balon
 
Introducción a los microprocesadores ii
Introducción a los microprocesadores iiIntroducción a los microprocesadores ii
Introducción a los microprocesadores iiayreonmx
 
Cap 3 capa_enlace
Cap 3 capa_enlaceCap 3 capa_enlace
Cap 3 capa_enlaceBruja Loca
 
Corrección De Errores - Uniandes
Corrección De Errores  - UniandesCorrección De Errores  - Uniandes
Corrección De Errores - UniandesAlexis Díaz
 
Capa de Enlace De Datos
Capa de Enlace De DatosCapa de Enlace De Datos
Capa de Enlace De DatosComdat4
 
Enlace datos
Enlace datosEnlace datos
Enlace datosComdat4
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de ErroresWalter Toledo
 
Verano2019 grupo10
Verano2019 grupo10Verano2019 grupo10
Verano2019 grupo10vaneza ramos
 

Similar a Códigos de errores - Telecomunicaciones III (20)

EE530_tele 1.pdf
EE530_tele 1.pdfEE530_tele 1.pdf
EE530_tele 1.pdf
 
Deteccion y Correccion de errores
Deteccion y Correccion de erroresDeteccion y Correccion de errores
Deteccion y Correccion de errores
 
Deteccion Y Control De
Deteccion Y Control DeDeteccion Y Control De
Deteccion Y Control De
 
Transmisión de datos
Transmisión de datosTransmisión de datos
Transmisión de datos
 
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptxCervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
Cervantes Palacios Sofia - Resumen sobre la Capa de Enlace.pptx
 
Capa de enlace de datos
Capa de enlace de datosCapa de enlace de datos
Capa de enlace de datos
 
TEMA 2.3 Y 2.4.pptx
TEMA 2.3 Y 2.4.pptxTEMA 2.3 Y 2.4.pptx
TEMA 2.3 Y 2.4.pptx
 
Codigos
Codigos Codigos
Codigos
 
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclicaDeteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
Deteccion-y-comprobacion-de-errores-mediante-comprobacion-ciclica
 
Introducción a los microprocesadores ii
Introducción a los microprocesadores iiIntroducción a los microprocesadores ii
Introducción a los microprocesadores ii
 
Cap 3 capa_enlace
Cap 3 capa_enlaceCap 3 capa_enlace
Cap 3 capa_enlace
 
Corrección De Errores - Uniandes
Corrección De Errores  - UniandesCorrección De Errores  - Uniandes
Corrección De Errores - Uniandes
 
Capa de Enlace De Datos
Capa de Enlace De DatosCapa de Enlace De Datos
Capa de Enlace De Datos
 
codificación de canal
codificación de canalcodificación de canal
codificación de canal
 
Control de Enlace de Datos.
Control de Enlace de Datos. Control de Enlace de Datos.
Control de Enlace de Datos.
 
Control de Enlace de Datos.
Control de Enlace de Datos.Control de Enlace de Datos.
Control de Enlace de Datos.
 
Enlace datos
Enlace datosEnlace datos
Enlace datos
 
Codigos Corrector de Errores
Codigos Corrector de ErroresCodigos Corrector de Errores
Codigos Corrector de Errores
 
Comunicacion digital
Comunicacion digitalComunicacion digital
Comunicacion digital
 
Verano2019 grupo10
Verano2019 grupo10Verano2019 grupo10
Verano2019 grupo10
 

Más de Andy Juan Sarango Veliz

Examen final de CCNA Routing y Switching Academia OW
Examen final de CCNA Routing y Switching  Academia OWExamen final de CCNA Routing y Switching  Academia OW
Examen final de CCNA Routing y Switching Academia OWAndy Juan Sarango Veliz
 
Criptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de SeguridadCriptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de SeguridadAndy Juan Sarango Veliz
 
Alfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador WebAlfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador WebAndy Juan Sarango Veliz
 
Alfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos BásicosAlfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos BásicosAndy Juan Sarango Veliz
 
Alfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos BásicosAlfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos BásicosAndy Juan Sarango Veliz
 
Gestión y Operación de la Ciberseguridad
Gestión y Operación de la CiberseguridadGestión y Operación de la Ciberseguridad
Gestión y Operación de la CiberseguridadAndy Juan Sarango Veliz
 
Tecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de serviciosTecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de serviciosAndy Juan Sarango Veliz
 
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9Andy Juan Sarango Veliz
 
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"Andy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital ISoftware Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital IAndy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FMSoftware Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FMAndy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AMSoftware Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AMAndy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionSoftware Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionAndy Juan Sarango Veliz
 
Software Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: IntroducciónSoftware Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: IntroducciónAndy Juan Sarango Veliz
 
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01Andy Juan Sarango Veliz
 
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generaciónLos cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generaciónAndy Juan Sarango Veliz
 

Más de Andy Juan Sarango Veliz (20)

Examen final de CCNA Routing y Switching Academia OW
Examen final de CCNA Routing y Switching  Academia OWExamen final de CCNA Routing y Switching  Academia OW
Examen final de CCNA Routing y Switching Academia OW
 
Criptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de SeguridadCriptología de empleo en el Esquema Nacional de Seguridad
Criptología de empleo en el Esquema Nacional de Seguridad
 
Alfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador WebAlfabetización Informática - 3. Navegador Web
Alfabetización Informática - 3. Navegador Web
 
Alfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos BásicosAlfabetización Informática - 2. Test de Conceptos Básicos
Alfabetización Informática - 2. Test de Conceptos Básicos
 
Alfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos BásicosAlfabetización Informática - 1. Conceptos Básicos
Alfabetización Informática - 1. Conceptos Básicos
 
Gestión y Operación de la Ciberseguridad
Gestión y Operación de la CiberseguridadGestión y Operación de la Ciberseguridad
Gestión y Operación de la Ciberseguridad
 
Tecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de serviciosTecnologías de virtualización y despliegue de servicios
Tecnologías de virtualización y despliegue de servicios
 
3. wordpress.org
3. wordpress.org3. wordpress.org
3. wordpress.org
 
2. wordpress.com
2. wordpress.com2. wordpress.com
2. wordpress.com
 
1. Introducción a Wordpress
1. Introducción a Wordpress1. Introducción a Wordpress
1. Introducción a Wordpress
 
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
Redes de Computadores: Un enfoque descendente 7.° Edición - Capítulo 9
 
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
Análisis e Implementación de una Red "SDN" usando controladores "Open Source"
 
Software Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital ISoftware Defined Radio - Capítulo 5: Modulación Digital I
Software Defined Radio - Capítulo 5: Modulación Digital I
 
Software Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FMSoftware Defined Radio - Capítulo 4: Modulación FM
Software Defined Radio - Capítulo 4: Modulación FM
 
Software Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AMSoftware Defined Radio - Capítulo 3: Modulación AM
Software Defined Radio - Capítulo 3: Modulación AM
 
Software Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio CompanionSoftware Defined Radio - Capítulo 2: GNU Radio Companion
Software Defined Radio - Capítulo 2: GNU Radio Companion
 
Software Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: IntroducciónSoftware Defined Radio - Capítulo 1: Introducción
Software Defined Radio - Capítulo 1: Introducción
 
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
MAE-RAV-ROS Introducción a Ruteo Avanzado con MikroTik RouterOS v6.42.5.01
 
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generaciónLos cuatro desafíos de ciberseguridad más críticos de nuestra generación
Los cuatro desafíos de ciberseguridad más críticos de nuestra generación
 
ITIL Foundation ITIL 4 Edition
ITIL Foundation ITIL 4 EditionITIL Foundation ITIL 4 Edition
ITIL Foundation ITIL 4 Edition
 

Último

Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdfSantiagoRodriguez598818
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdfleonardocahua1
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 
seminario-de-plc- controladores logicos programables
seminario-de-plc- controladores logicos programablesseminario-de-plc- controladores logicos programables
seminario-de-plc- controladores logicos programablesLuisLobatoingaruca
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasIANMIKELMIRANDAGONZA
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbantoniolfdez2006
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfFtimaMontserratZaraz
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
auditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadauditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadNELSON QUINTANA
 
8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdfGustavoAdolfoDiaz3
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptxrorellanoq
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOFernando Bravo
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfElybe Hernandez
 

Último (20)

Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
seminario-de-plc- controladores logicos programables
seminario-de-plc- controladores logicos programablesseminario-de-plc- controladores logicos programables
seminario-de-plc- controladores logicos programables
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
portafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidenciasportafolio final manco 2 1816827 portafolio de evidencias
portafolio final manco 2 1816827 portafolio de evidencias
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
auditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridadauditoria fiscalizacion inspecciones de seguridad
auditoria fiscalizacion inspecciones de seguridad
 
8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
Análisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECOAnálisis de Costos y Presupuestos CAPECO
Análisis de Costos y Presupuestos CAPECO
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
Instrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdfInstrumentacion para el control de procesos.pdf
Instrumentacion para el control de procesos.pdf
 

Códigos de errores - Telecomunicaciones III

  • 1. 1 TELECOMUNICACIONES Ing. Luis Degregori C. Códigos de Errores Richard Hamming
  • 2. 2 Detección y Corrección de Errores • Las redes deben garantizarnos que los datos transmitidos lleguen con total exactitud. • En muchas aplicaciones es indispensable que los datos recibidos sean exactamente igual a los datos transmitidos. • Sin embargo los datos se pueden alterar durante la transmisión.
  • 3. 3 Detección y Corrección de Errores • En algunas aplicaciones se requiere que todos los errores sean detectados y corregidos. • Existen otras aplicaciones que pueden soportar un pequeño nivel de errores, como en la Tx. de productos de audio o video.
  • 4. 4 Tipos de Errores • Cuando viaja una señal de un punto a otro, se pueden producir diferentes tipos de interferencias debidas a fenómenos eléctricos externos, magnetismo, calor, etc. • Esta interferencia puede cambiar la forma o el periodo de la señal.
  • 5. 5 Tipos de Errores • Un error de bit cambiara el 0 por un 1 y viceversa. (Ver figura 01) • Cuando tenemos un error de ráfaga, se cambian muchos bits. • Por ejem en una ráfaga de 0.5 ms de duración, en una Tx. con una velocidad de 600 Kbps, se podría cambiar hasta un máximo de 300 bits.
  • 6. 6 ERROR DE BIT 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 Enviado Recibido 0 cambia por 1 Fig. 01.- Muestra el error de un bit.
  • 7. 7 Tipos de Errores • Es muy poco probable que tengamos un error de bit, lo que tendremos son errores de ráfaga. • En este caso al menos 2 unidades de bits habrán cambiado. (Ver figura 02) • En un error de ráfaga no se producirán necesariamente, errores de bits consecutivos. • La longitud de la ráfaga se mide desde el primer hasta el ultimo bit correcto.
  • 8. 8 ERROR DE RAFAGA 1 1 0 0 0 1 0 0 0 1 0 0 1 0 0 1 Enviado Longitud del error de ráfaga (8 bits) 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 Recibido Bits dañados Fig. 02.- Muestra el error de una ráfaga.
  • 9. 9 Métodos de Corrección. • Como antecedentes tenemos desde el Siglo IX la contribución de los Matemáticos Árabes: • Método de Expulsión de 9s (Nueves)” • Por ejemplo: 270 + 538 = 808 • En la suma: 2+7+0 = 9, 5+3+8 = 16 = 1+6 = 7 • Luego 9+7 = 16 = 1+6 = 7 • El resultado: 8+0+8 = 8+8 = 1+6 = 7 OK
  • 10. 10 Redundancia • Para la detección y corrección de errores se aplica la Técnica de la Redundancia. • Por eso se envían algunos bits adicionales (redundantes) conjuntamente con los bits de datos. • Estos bits se añaden en la Transmisión y se eliminan en la Recepción. • Esto permite al receptor detectar y luego corregir los bits con errores.
  • 11. 11 Detección frente a Corrección. • En la detección de errores se determina solo la existencia de algún error. • La respuesta es un SI o un NO. • En la detección, no se determina el numero de errores. • Mientras que en la corrección de errores si requerimos saber cual es el numero de bits dañados y además determinar con certeza su posición dentro de la trama.
  • 12. 12 Detección frente a Corrección. • En la corrección de errores se necesita, no solo el numero de bits dañados sino además su posición exacta. • También es importante el tamaño del mensaje. • Por ejemplo si tenemos que corregir 03 bits en una unidad de 8 bits de datos, se tendrá que considerar 56 posibilidades.
  • 13. 13 Métodos de Corrección. • Actualmente existen 02 métodos conocidos que son: • La Corrección de errores “Hacia delante” en donde el receptor mediante algoritmos deberá predecir (adivinar) el mensaje con el uso de los bits redundantes. • Esto será posible cuando el numero de errores es pequeño.
  • 14. 14 Métodos de Corrección. • También tenemos la Corrección de errores por “Retransmisión” en donde el receptor detecta la existencia de un error y de inmediato solicita al transmisor que vuelva a retransmitir el mensaje. • La retransmisión se repite hasta que se considere libre de errores.
  • 15. 15 Codificación de Bloques. • En la codificación de bloques se divide el mensaje en bloques de “k” bits de datos (PALABRAS de DATOS). • Se añaden “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 combinación de 2k PALABRAS de DATOS. • Con “n” bits se pueden crear una combinación de 2n PALABRAS de CODIGO.
  • 16. 16 Codificación 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 inválidos o ilegales.
  • 17. 17 Palabras de datos y palabras código en la codificación de bloques k bits k bits k bits 2k palabras de datos, cada una de k bits n bits n bits n bits 2n palabras código, cada una de n bits (solo 2k de ellas son validas) Donde n > k Fig. 03.- Palabras de datos y Palabras de código
  • 18. 18 Detección de errores. • En la codificación de bloques se podrán detectar los errores, si ocurren las (02) siguientes condiciones: 1. El Receptor tiene una lista de palabras código validas. 2. La palabra código original ha cambiado a una invalida. • Este proceso de detección de errores se puede apreciar en la figura 04.
  • 19. 19 Proceso de detección de errores en la codificación de bloques Palabra de datos Codificador Emisor k bits Generador Palabra códigon bits Receptor Decodificador Palabra de datos Generador Palabra código Transmisión no fiable Descartar Extraer k bits n bits Fig. 04.- Proceso de detección de errores
  • 20. 20 Detección de errores. • El emisor a partir de las palabras de datos CREA las palabras código. • Las palabras código transmitidas, serán evaluadas al llegar al receptor. • Si la palabra código esta en la lista del receptor se acepta, extrayendo la palabra de datos. • También es posible que se altere la palabra código original por otra palabra código, que exista en la lista del receptor. • De ocurrir lo anterior el receptor podría aceptar una palabra de datos errada. • Se muestra un ejm en la figura 05, donde k=2 y n=3.
  • 21. 21 Detección de errores. Palabras de datos Palabras de código 00 000 01 011 10 101 11 110 Fig. 05.- Un código para detección de errores
  • 22. 22 Detección de errores. • Por ejemplo si el emisor codifica la palabra 01 y la envía al receptor como 011, se podrían tener los siguientes casos: • El receptor recibe el 011. Como es un código valido, el receptor lo acepta y extrae el dato 01. • En el supuesto que el código se altera en la transmisión y se recibe 111. El código recibido no será valido y se eliminara.
  • 23. 23 Detección de errores. • Si el código se daña durante la transmisión y se recibe un 000 . El código recibido a pesar de la alteración es recibido (erróneamente) por el receptor. • Luego el receptor extrae el dato 00. Como es un código valido, el receptor extrae el dato 00. • Debido a los errores (en 2 bits de la derecha) el error no será detectado.
  • 24. 24 Corrección de errores. • Aquí el receptor deberá encontrar el código originalmente enviado. • Por esta razón es necesario añadir mas bits redundantes para realizar la corrección respecto a los bits requeridos en la detección. • El concepto es el mismo y se puede apreciar un esquema en la fig. 06.
  • 25. 25 Estructura del codificador y decodificador en la corrección de errores Palabra de datos Codificador Emisor k bits Generador Palabra códigon bits Receptor Decodificador Palabra de datos Comprobador Palabra código Transmisión no fiable Corregir k bits n bits Fig. 06.- Estructura de codificador / decodificador
  • 26. 26 Corrección de errores. • Podemos usar las mismas palabras de datos del ejm 05, pero añadiendo mas bits redundantes. (Ver fig. 07) • Se añaden 03 bits redundantes a la palabra de datos de 02 bits, obteniendo códigos de 5 bits. • El código para transmitir el dato 01, es de acuerdo a su tabla el 01011. • Pero si este se daña (el 2do bit de la derecha) en la transmisión y se recepciona el 01001 el receptor detectara que este código no esta en la tabla. Luego SI existe un ERROR.
  • 27. 27 Corrección de errores. • El receptor asumirá que solo se ha dañado 01 bit, entonces compara el código recibido con el primer código de la tabla. • Al comparar con el primer código 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 código de la tabla.
  • 28. 28 Corrección de errores. Palabras de datos Palabras de código 00 00000 01 01011 10 10101 11 11110 Fig. 07.- Se muestra un código para corrección de errores. Código erróneo: 01001
  • 29. 29 Corrección de errores. • El código original entonces deberá ser el segundo de la tabla, debido a que solo difiere en un solo bit. • Luego el receptor reemplaza el código (dañado) 01001por el código (correcto) que es el 01011. • Finalmente consulta la tabla y determina que el dato (correcto) enviado es el 01.
  • 30. 30 Distancia Hamming. • La distancia Hamming entre 02 palabras (del mismo tamaño) 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 operación XOR sobre las 2 palabras y contando el numero de bits resultantes. Será un valor mayor que 0.
  • 31. 31 Mínima distancia Hamming. • Para diseñar un código de errores, la mínima distancia Hamming, es la distancia mas pequeña entre todos los pares posibles. • Por ejemplo si la palabra 1100 se daña, siendo el código recibido el 1011, se puede determinar que tenemos 03 bits con errores, luego la distancia Hamming será: d(1100,1011) = 3.
  • 32. 32 Mínima distancia Hamming para la Detección de errores. • Si queremos detectar “N” errores; la distancia Hamming será “N”. • Si queremos detectar hasta un máximo de “N” errores, la distancia mínima entre los códigos validos deberá ser “N+1”. • Así aseguramos que el código recibido (erróneo) no sea confundido con otro código valido. d min = N+1.
  • 33. 33 Mínima distancia Hamming para la Corrección de errores. • La función de corrección tiene una mayor complejidad. • Cuando se detecta un código erróneo; en el receptor, se deberá determinar que código se transmitió realmente. • Esta decisión esta en función del territorio requerido alrededor del código. • Se asume que cada código valido tiene un territorio circular de radio “t” y el código valido esta en el centro.(Ver figura 08).
  • 34. 34 Territorio de x Territorio de y Radio t Radio t x y dmin > 2t Cualquier código valido Cualquier código dañado con 1 a “t” errores Fig. 08.- Concepto geométrico para encontrar la dmin en la corrección de errores muestra un código para la corrección de errores.
  • 35. 35 Mínima distancia Hamming para la Corrección de errores. • Como se aprecia en el grafico anterior, se tiene la interpretación geométrica que define cada territorio de un código erróneo. • Del grafico podemos ver que: d min > 2t. • Entonces podríamos afirmar que: d min = 2t + 1.
  • 36. 36 Códigos de Bloques Lineales • Los algoritmos usados para estos códigos usan conceptos de algebra abstracta (Los campos de Galois). • Pero si podemos indicar que en el código de bloques lineal: “El OR exclusivo (XOR) de 02 códigos validos creara otro código valido”.
  • 37. 37 Mínima distancia para Códigos de Bloques Lineales • La mínima distancia Hamming, para un código de bloques Lineal es el numero 1, en el código valido distinto de cero, con el numero mas pequeño de 1.
  • 38. 38 Códigos de Paridad • Es un código muy utilizado, una palabra de datos de “k” bits se convierte en un código de “n” bits, con “n = k + 1”. • El bit extra (BIT DE PARIDAD) se selecciona de forma que la cantidad de “1”s en el código sea PAR. • La mínima distancia Hamming, en esta categoría es: d min = 2 • Esto significa que el código puede detectar errores de 1 bit; no puede corregir cualquier error.
  • 39. 39 Códigos de Paridad Palabra de datos Palabra de código Palabra de datos Palabra de código 0000 00000 1000 10001 0001 00011 1001 10010 0010 00101 1010 10100 0011 00110 1011 10111 0100 01001 1100 11000 0101 01010 1101 11011 0110 01100 1110 11101 0111 01111 1111 11110 En la figura 09, se muestra un ejemplo, de como se elaboran los códigos de paridad en que k=5 y n=4 (Long. del dato y del código respectivo). Fig. 09.- Se muestra un código de Paridad C(5,4).
  • 40. 40 Códigos de Paridad • En la sgte. Presentación (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 además inserta un bit de paridad r0, creando un código de 5 bits. • El bit de paridad que se añade permite que el numero de UNOS en el código sea PAR.
  • 41. 41 Códigos de Paridad Codificador Emisor Generador Transmisión no fiable a3 a2 a1 a0 Palabras de datos a3 a2 a1 a0 r0 Palabras código Bit de paridad Receptor Decodificador a3 a2 a1 a0 Palabras de datos Comprobador b3 b2 b1 b0 q0 Lógica de decisión s0 Aceptar Palabras código Síndrome Descartar Fig. 10.- Codificador y decodificador para un código de Paridad
  • 42. 42 Códigos de Paridad • El comprobador verifica la cantidad de “1”s, el resultado es enviado al síndrome. • Si el síndrome, envía la información a la Unid. LOGICA de DECISION, quien al recibir un “0” detecta que el numero de “1”s es PAR. • Si se recibe un “1” existe un error y el CODIGO se descarta. Luego no se creara la DATA.
  • 43. 43 Códigos de Paridad de dos dimensiones • Aquí las palabras de datos se organizan en filas y columnas (tablas). • Por ejm en la Fig. 11, los datos a enviar se colocan en filas diferentes. • Para cada fila y cada columna se calcula un bit de paridad.
  • 44. 44 Códigos de Paridad de dos dimensiones • Se puede apreciar que la paridad en 02 dimensiones, puede detectar hasta 03 errores que pueden ocurrir en cualquier ubicación. • Pero si tenemos errores que alteran 04 bits, estos no podrán ser detectados.
  • 45. 45 Fig. 11.- Código de paridad de dos dimensiones Diseño de paridades para filas y columnas 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 Paridades de las columnas Paridadesdelasfilas
  • 46. 46 Fig. 11.- Código de paridad de dos dimensiones Un error afecta a dos paridades 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 Paridades de las columnas Paridadesdelasfilas
  • 47. 47 Fig. 11.- Código de paridad de dos dimensiones Dos errores afectan a dos paridades 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 Paridades de las columnas Paridadesdelasfilas
  • 48. 48 Fig. 11.- Código de paridad de dos dimensiones Tres errores afectan a cuatro paridades 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 Paridades de las columnas Paridadesdelasfilas
  • 49. 49 Fig. 11.- Código de paridad de dos dimensiones Cuatro errores no pueden ser detectados 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 Paridades de las columnas Paridadesdelasfilas
  • 50. 50 Código de Hamming • Se diseñaron 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 código. • En función de la palabra de datos de 4 bits se crean en el generador 03 bits de paridad r0, r1 y r2.
  • 51. 51 Fig. 12.- Estructura del codificador y del decodificador para un código Hamming Codificador Emisor Generador Transmisión no fiable a3 a2 a1 a0 Palabras de datos a3 a2 a1 a0 r2 r1 r0 Palabras código Receptor Decodificador a3 a2 a1 a0 Palabras de datos Comprobador b3 b2 b1 b0 q2 q1 q0 Lógica de decisión Palabras código Síndrome s2 s1 s0
  • 52. 52 Código 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 ecuación mostrada (ver fig. 13): • r0 = a2 + a1 + a0. • r1 = a3 + a2 + a1. • r2 = a3 + a1 + a0. • Además el numero de “unos” en cada combinación de 4 bits debe ser PAR (03 bit de Dx. + 01 bit Paridad)
  • 53. 53 Código de Hamming Palabra de datos Palabra de código Palabra de datos Palabra de código 0000 0000000 1000 1000110 0001 0001101 1001 1001011 0010 0010111 1010 1010001 0011 0011010 1011 1011100 0100 0100011 1100 1100101 0101 0101110 1101 1101000 0110 0110100 1110 1110010 0111 0111001 1111 1111111 Fig. 13.- Generación de los Códigos de Hamming C (7,4)
  • 54. 54 Código 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 ecuación 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.
  • 55. 55 Código de Hamming • Luego el SINDROME de 3 bits crea 8 patrones de bits diferentes (000 hasta 111). • Cada una de estas 8 combinaciones podrán definir la ausencia o existencia de un error, en los códigos de 7 bits que se han recibido (Ver la figura 13).
  • 56. 56 Código de Hamming 000 001 010 011 100 101 110 111 no q0 q1 b2 q2 b0 b3 b1 Síndrome Error Fig. 14.- Decisión lógica hecha por la lógica de corrección en el decodificador
  • 57. 57 Códigos Cíclicos • Son códigos de bloques lineales, pero en este caso, si un código se desplaza cíclicamente, el resultado es otra palabra de código. • Se denominan CODIGOS DE REDUNDANCIA CICLICA (CRC) se emplea en la Tx. Dx. entre las Redes LAN o WAN.(Ver un ejemplo en la figura 14).
  • 58. 58 Códigos Cíclicos Palabra de datos Palabra de código Palabra de datos Palabra de código 0000 0000000 1000 1000101 0001 0001011 1001 1001110 0010 0010110 1010 1010011 0011 0011101 1011 1011000 0100 0100111 1100 1100001 0101 0101100 1101 1101001 0110 0110001 1110 1110100 0111 0111010 1111 1111111 Fig. 14.- Ejemplo de un código CRC con C (7,4)
  • 59. 59 Códigos Cíclicos • En la fig. 15 se muestra el diseño 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 códigos también se les denomina “Códigos polinómicos”.
  • 60. 60 Códigos Cíclicos CRC Codificador Emisor Generador Transmisión no fiable a3 a2 a1 a0 Palabras de datos a3 a2 a1 a0 r2 r1 r0 Palabras código Receptor Decodificador a3 a2 a1 a0 Palabras de datos Comprobador b3 b2 b1 b0 q2 q1 q0 Lógica de decisión Palabras código Síndrome s2 s1 s0 Resto 0 0 0 d3d2d1d0 Divisor Fig. 15.- Ejemplo de un diseño de Codificador y decodificador CRC
  • 61. 61 Códigos Cíclicos • Por ejemplo, la secuencia binaria 0110101001 se puede representar como un polinomio, como se muestra a continuación: • 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 • x8 + x7 + x5 + x3 + 1
  • 62. 62 Codigos Convolucionales • Un código convolucional es un tipo de c ódigo de detección de errores donde: 1.Cada símbolo de m bits de información se transforma, al ser codificado, en un símbolo de n bits, donde m/n es la tasa del código (n ≥ m) 2.La transformación es función de los k símbolos anteriores, donde k es la longitud del código.
  • 63. 63 FEC • Es un código 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 código, que permite la corrección en el receptor sin retransmisión de la información original.
  • 64. 64 FEC • El FEC es adecuado, para sistemas sin retorno o sistemas en tiempo real donde no se puede esperar a la retransmisión para mostrar los datos. • Las Normas de Transmisión de Televisión Digital usan Forward Error Correction. • En la actualidad se utiliza para decodificar este tipo de códigos el Algoritmo de Viterbi, por su gran eficiencia en el consumo de recursos.
  • 65. 65 Códigos de Error Concatenados • Forman una clase de códigos de error de corrección que se derivan de la combinación de un Inner Code y un Outer Code. • Es un súper código que permite decrecer exponencialmente en la probabilidad de error, aun cuando se incremente la longitud de un bloque
  • 66. 66 Códigos de Error Concatenados • Fueron concebidos en 1966 por DAVE FORNEY Codificador externo Codificador interno Decodificador interno Decodificado r externo Canal de transmisión Súper Codificador Súper Decodificador SUPER CANAL
  • 67. 67 Códigos Reed-Solomon • Los códigos Reed-Solomon son códigos correctores de error basados en bloques con un amplio rango de aplicaciones en comunicaciones digitales y almacenamiento de datos.
  • 68. 68 Códigos Reed-Solomon • Los códigos Reed-Solomon se utilizan para corregir errores en varios sistemas incluyendo: – Dispositivos de Almacenamiento (Cintas, Discos Compactos, DVD, códigos de barras) – Comunicaciones inalámbricas o móviles (Telefonía celular, enlaces de microondas, etc.) – Comunicaciones satelitales – Televisión Digital/DVB – Módem de alta velocidad como ADSL, xDSL, etc.
  • 69. 69 Códigos Reed-Solomon • Los códigos Reed-Solomon se desarrollaron en 1960 en los laboratorios de Texas Instrument, por el aporte de los PhD en Matemáticas; Irving Reed y Gustavo Solomon ambos también investigadores del MIT. • Las naves Voyager y Galileo usan en sus transmisiones al código RS como detector de errores.
  • 70. • Las naves Voyager y Galileo hasta hoy usan en sus transmisiones al código RS como detector de errores. 70 Códigos Reed-Solomon La sonda espacial robótica Voyager 1, fue lanzada el 5 de septiembre de 1977, desde Cabo Cañaveral, Florida Actualmente se aleja del sistema solar, ya paso la orbita de Plutón.
  • 71. 71 Códigos Reed-Solomon • Es un código 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 código (n,k). Por ejemplo un código (15,11) tiene 15 palabras de código, cuatro bits de paridad y el resto de bits de datos.
  • 72. 72 Códigos Reed-Solomon • El codificador R-S toma un bloque de información digital y añade bits redundantes. • El decodificador procesa cada bloque e intenta corregir los errores y recuperar la información original. • El número y tipo de errores que pueden ser corregidos depende de las características del código R-S.
  • 73. 73 Propiedades de los Códigos Reed-Solomon • Un código Reed-Solomon se especifica como RS (n,k) con símbolos de “s” bits. • Lo anterior significa que el codificador toma “k” símbolos de “s” bit y añade símbolos de paridad para hacer una palabra de código de “n” símbolos. • Existen (n-k) símbolos de paridad de “s” bits cada uno. Un decodificador puede corregir hasta “t” símbolos que contienen errores en una palabra de código, donde 2t = (n – k).
  • 75. 75 Propiedades de los Códigos Reed-Solomon • Un código popular Reed-Solomon es RS(255,223) con símbolos de 8 bits. • Cada palabra de código contiene 255 bytes de palabra de código, de los cuales 223 bytes son datos y 32 bytes son paridad. • Para este código se tiene: • N = 255, k = 223, s = 8 • 2t = 32, t = 16 • El decodificador puede corregir cualquier error de 16 símbolos en la palabra de código, es decir, errores de hasta 16 bytes en cualquier lugar de la palabra pueden ser automáticamente corregidos.
  • 76. 76 INNER CODE • Las normas DVB-S y DVB-T no consideran suficiente el algoritmo RS, por consiguiente ellos agregan (además de RS) otro sistema de corrección, mucho más poderoso, llamado "Inner Code”, en este caso el FEC. • El “Inner Code" agrega datos de corrección futura: por ejemplo agrega 1 bit de corrección cada 7 bits (Code Rate 7/8), o 1 bit de corrección cada 2 bits (Code Rate 2/3), y así sucesivamente.
  • 77. 77 INNER CODE: FEC • Code Rates altos (ej., 7/8) permite optimizar el BW pero menor eficacia del FEC (la posibilidad del receptor de corregir pequeños errores en los datos). • Mientras que Code Rates menores (ej., 1/2) permite posibilidades mayores de eficacia del FEC, pero mayor requerimiento de BW.
  • 78. 78 NUEVOS CODIGOS: BCH y LDPC • Para las nuevas técnicas de transmisión de TV Digital tipo DTH en el estándar DVD-S2 se tienen nuevos códigos de corrección como el BCH que concatenados con el LDPC, permiten mayor robustez al sistema, inclusive con relaciones S/N mucho mas baja.
  • 79. 79 • Código BCH: es novedoso y muy importante dado que existe para un amplio rango de tasas, logrando una ganancia de código significativa y pudiendo ser implementado aún en altas velocidades. El nº de errores que puede corregir: Se puede generalizar para crear clases de códigos no-binarioscódigos no-binarios, que usan m bits por símbolo de código. Código BCH (De bloque) 3;2 1 ≥= − mn m 2 12 − < m t
  • 80. 80 CODIGOS LDPC (Low Density Parity Codes) • Son un tipo de códigos de paridad. • Tienen un matriz de paridad dispersa (es decir con pocos “unos” respecto a los “ceros”). • Para un código (n,k), H es una matriz de chequeo de n-k por n. • Solo unos pocos bits (4 a 6) participan en cada ecuac. del chequeo de paridad
  • 82. 82 CODIGOS LDPCCODIGOS LDPC (Low Density Parity Codes) • Estos proveen una mejor eficiencia en la corrección de errores, en standares como el: – DVB-S2 – Comunicaciones Satelitales –IEEE 802.3an (10GBASE-T) –IEEE 802.16e (WiMAX) –IEEE 802.11n/ac (Wi-Fi) –Comunicaciones Móviles UMTS y LTE.