Está en la página 1de 13

Códigos BCH

 los códigos BCH son una subclase de códigos cíclicos que


permiten corregir un número arbitrario de errores t. los
códigos fueron propuestos por Bose, Chaudhuri y
Hocquenghem, a los que deben su nombre.
 Estos códigos 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 sólo debe determinar unos parámetros de diseño, que depende 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.

los parámetros de diseño se determinan a partir de las ecuaciones:


 De acuerdo con estos parámetros, 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 3 errores contienen un total de 16 bits de información y 15 de
redundancia. La tasa del código es R = 16/ 31. El polinomio que obtenemos en las
tablas está expresado generalmente en octal. En un caso concreto es G=107657oct.

 Podemos pasar ese polinomio a forma binario directamente: G= 1000111110101111, o


expresarlo directamente como un polinomio convencional:
Reed Solomon
El código fue inventado por Irving S. Reed y Gustave Solomon (de ahí su nombre) en el año 1960. Este
código encuentra actualmente aplicación en áreas como los CDs, telefonía móvil y sondas espaciales (la
sonda Galileo a Júpiter en 1989, la sonda Magallanes a Venus ese mismo año o la sonda Ulises al Sol en
1990). También es de destacar el empleo del código Reed-Solomon en las comunicaciones por satélite
Digital Video Broadcasting (DVB), así como en los sistemas xDSL de comunicación por cable.
 El código Reed-Solomon es un subconjunto de los códigos BCH (Bose Chaudhuri
Hocquenqhem), códigos cíclicos que presentan entre sus parámetros (n,k,t) una
relación entre los símbolos de datos (k), del código total (n) y del número
máximo de errores por ser corregidos (t), y son de bloques lineales. 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 los s bits 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).
Ejemplo

 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.
CODIFICADOR Y DECODIFICADOR DIGITAL REED-
SOLOMON PROGRAMADOS PARA HARDWARE
RECONFIGURABLE
 Por Cecilia E. Sandoval Ruiz y Antonio Fedón 

 se presenta una recopilación de las bases teóricas empleadas para diseñar bloques
funcionales del codificador/decodificador Reed-Solomon y una metodología de
diseño orientada a tecnología FPGA empleando VHDL
 Para codificar la trama con esta estructura se debe procesar a través de un circuito
digital que opere bajo los fundamentos de campo finito de Galois. Este presenta
una arquitectura en el codificador compuesta por los bloques funcionales
mostrados en la Figura
CAMPOS DE GALOIS APLICADOS A LA
CODIFICACIÓN REED-SOLOMON

 Los códigos Reed-Solomon se basan en un área especializada de la matemática


llamada campos de Galois o campos finitos. Un campo finito tiene la propiedad
de que las operaciones aritméticas sobre elementos del campo siempre tienen un
resultado en el campo. Un codificador o decodificador Reed-Solomon debe ser
capaz de realizar estas operaciones aritméticas.
Códigos MANCHESTER

 La codificación Manchester, es un método de codificación eléctrica de una


señal binaria en el que en cada tiempo de bit hay una transición entre
dos niveles de señal. Es una codificación auto sincronizada, ya que en
cada bit se puede obtener la señal de reloj, lo que hace posible una
sincronización precisa del flujo de datos.
Caracteristicas

 La codificación Manchester o hackneo provee una forma simple de


codificar secuencias de bits, incluso cuando hay largas secuencias de
periodos sin transiciones de nivel que puedan significar la pérdida de
sincronización, o incluso errores en las secuencias de bits. 
Ø  Las señales de datos y de reloj, se combinan en una sola que auto-
sincroniza el flujo de datos.
Ø  Cada bit codificado contiene una transición en la mitad del intervalo de
duración de los bits.
Ø  La primera mitad es el verdadero valor del bit, y la segunda es
información que no es necesaria, y simplemente se pone para completar el
bit.
Dato aparte sobre IEEE

 ·         Transición en mitad del intervalo de duración del bit.


 ·         La
transición sirve como procedimiento de sincronización y de
transmisión de datos:
 1: Transición de bajo a alto en mitad del intervalo
 0: Transición de alto a bajo en mitad del intervalo
 ·         Para
representar un 1, la tarjeta de red emite un voltaje en forma de
señal cuadrada que baja de +0,85V a −0,85V. El 0 se representa con una
señal que sube de −0,85V a +0,85V.
 ·         La
no transmisión (idle) puede ser reconocida fácilmente cuando el
voltaje en la línea es 0.
 ·         Utilizado por IEEE 802.3 (LAN Ethernet con bus CSMA/CD).
Ejemplo

 Para codificar datos binarios por medio de señales de corriente continua


se pueden usar diversos métodos, como la determinación de un
determinado voltaje (3 voltios) para representar un 1 y otro voltaje menor
(0 voltios) para representar un cero.  

También podría gustarte