Este documento describe los códigos BCH, un tipo de códigos cíclicos que permiten corregir múltiples errores. Los códigos BCH tienen una estructura precisa que permite controlar el número de errores que pueden corregirse. Se utilizan comúnmente en aplicaciones como comunicaciones satelitales, discos compactos y unidades de estado sólido debido a su capacidad de corrección de errores y algoritmos de decodificación eficientes. El documento también cubre brevemente los códigos Reed-Solomon y convolucionales.
1. INVESTIGACIÓN DE CODIGOS
INTEGRANTES:
- Lucero Poma Rene
- Oscori Luque Morelia Maribel
- Quispe Claros Pilar Jazmin
- Quispe Condori Williams Fernando
- Sarmiento Garfias Edual Dan
2. HISTORIADurante 1959 y 1960 A. Hocquenghem y en un
trabajo de investigación independiente, R. C.
Bose y A. K. Ray-chaudhuri construyeron una
familia de códigos cíclicos binarios con capacidad
para corregir errores múltiples que, como caso
particular, contenía a la clase de códigos haming.
Poco después de ser descubiertos los nuevos
códigos fueron generalizados para alfabetos no
binarios.
Los códigos de Bose, Chaudhuri y Hocquenghem
(BCH) son una amplia e importante subclase de
códigos cíclicos. Se encuentran entre los mejores
códigos conocidos para longitudes de bloque
moderadas, de hasta varias centenas o pocos
miles de bits, y se han desarrollado para ellos
algoritmos eficientes de decodificación. Se sabe,
sin embargo, que su capacidad de corrección de
errores se deteriora asintóticamente con la
longitud.
3. DEFINICIÓNEN LA TEORÍA DE LA CODIFICACIÓN, LOS CÓDIGOS BCH FORMAN UNA CLASE DE CÓDIGOS CÍCLICOS DE CORRECCIÓN DE
ERRORES QUE SE CONSTRUYEN UTILIZANDO POLINOMIOS SOBRE UN CAMPO FINITO(TAMBIÉN LLAMADO CAMPO DE
GALOIS).
PRINCIPALES CARACTERÍSTICAS
-Una de las características clave de los códigos BCH
es que durante el diseño del código, hay un control
preciso sobre el número de errores de símbolos
corregibles por el código.
-Otra ventaja de los códigos BCH es la facilidad con la
que se pueden decodificar, es decir, a través de
un método algebraico conocido como decodificación
de síndrome.
ESTRUCTURA
-Los códigos BCH son más convenientes para errores
independientes.
-Parámetros:
a)Longitud del Bloque: n=2m-1 con m>=3
b)Bits de información: k>=n-m*t
c)Distancia mínima: d>=2*t+1
4. CONSTRUCCIÓN
Los códigos BCH tienen una gran versatilidad para
el diseño, ya que existe un gran número de
polinomios generadores previamente tabulados.
De esta forma, el usuario solo debe determinar
unos parámetros de diseño, que dependen del
número de errores que desee corregir y la
longitud de los bloques y posteriormente, con
estos parámetros, buscar el polinomio generador
en una tabla.
De acuerdo con los parámetros vistos
anteriormente, si queremos utilizar un tamaño de
bloque de 31 bits (n=31) y corregir un total de
tres errores (t=3), encontraríamos un único
polinomio en las tablas cuyo valor de K es 16. Así,
el código BCH con un tamaño de bloque 31 que
permite corregir tres errores contiene un total de
16 bits de información y 15 de redundancia. La
tasa del código es R=16/31. El polinomio
generador que obtenemos en las tablas esta
expresado generalmente en octal.
APLICACIONES
Los códigos BCH se utilizan en
aplicaciones como:
• Comunicaciones satelitales
• Reproductores de discos
compactos
• DVD , unidades de disco
• Unidades de estado sólido
• Códigos de barras
bidimensionales
5. CÓDIGO REED-SOLOMON
• El código fue inventado por Irving S. Reed y Gustave Solomon en el año 1960.
• Este código es aplicado Gral. Como CD, telefonía móvil y sondas espaciales.
• Pertenece al tipo de Códigos FEC(Corrección de error hacia adelante). Ademas de
ser una subclase del Código BCH.
6. Código Reed-Solomon
■ Para un par de enteros positivos m y t un código BCH (n, k) tiene los siguientes
parámetros:
– Longitud del Bloque: n = 2^m – 1
– Nro. de bits de paridad n – k, Longitud de la Data k.
– Distancia mínima: d min >= 2t + 1
■ Corrige combinaciones de t o menos de errores.
■ Permite gran flexibilidad en la elección de los siguiente parámetros.
■ La datas e procesada en trozos de m bits, llamados símbolos.
■ Un Código RS(n, k).
7. EJEMPLO:
01 00 00 00
00 01 00 00
00 00 01 00
00 00 00 01
1b 1c 12 14
1c 1b 14 12
X
G R U P
O I N F
- 1 6 4
1 2 3 4
G R U P
O I N F
- 1 6 4
1 2 3 4
51 52 53 49
55 56 57 25
=
X
01 00 00 00
00 01 00 00
8d F6 7b 01
f6 8d 01 7b
01 00 00 00
00 01 00 00
1b 1c 12 14
1c 1b 14 12
G R U P
O I N F
- 1 6 4
1 2 3 4
X =
G R U P
O I N F
51 52 53 54
55 56 57 25
01 00 00 00
00 01 00 00
8d F6 7b 01
f6 8d 01 7b
X
8. Códigos Convolucionales
La codificación convolucional es una
codificación continua en la que la secuencia de
bits codificada depende de los bits previos. El
codificador consta de un registro de
desplazamiento de K segmentos de longitud k
(en total K) que se desplaza k posiciones por
ciclo y genera n funciones EXOR también por
ciclo. La tasa de codificación es, entonces:
9. Debido a la memoria del código es
necesario de disponer de medios
adecuados para determinar la salida
asociada a una determinada entrada.
10. Características
La característica principal de los códigos convolucionales es que el proceso
de codificación tiene memoria, por lo que los bits en la salida del codificador
dependen no sólo de la información actual sino también de los bits
anteriores. La memoria de un código convolucional nos indica en qué grado
los bits codificados dependen de los valores que ha tomado la información
original en el pasado.
Los códigos convolucionales se utilizan
generalmente como códigos de canal para
corregir los errores de los canales ruidosos, ya
sean debidos a limitaciones de potencia como a
limitaciones en banda.
11. Métodos Gráficos.
Diagrama Trellis Diagrama de estadosCódigos catastróficos.
Diagrama de estados es la
forma menos utilizada.
Es la forma más utilizada
porque permite realizar la
decodificación de la
forma más sencilla.
Existe una alta probabilidad de decodificar
erróneamente las palabras código,
provocando un número infinito de errores
en los bits de información. Un código que
se comporta de dicha manera se dice que
es un código catastrófico