Documentos de Académico
Documentos de Profesional
Documentos de Cultura
393 1211 1 PB
393 1211 1 PB
Impreso en Nicaragua
www.uni.edu.ni/Nexo
Vol. 21, No. 01, pp. 02-10 / Junio 2008
RESUMEN
En este artculo se presenta un procedimiento prctico para el diseo de un codificador/decodificador
Reed-Solomon a travs de la descripcin funcional usando lenguaje descriptor de hardware (VHDL) con la
herramienta de programacin Xilinx ISE 9.2i. Este trabajo propone un diseo que usa los beneficios que presenta la
programacin VHDL, su caracterstica de modularidad, y la estrategia de seccionar el diseo en componentes menos
complejos para facilitar el proceso. Adems, se detalla la metodologa del diseo del decodificador a travs de
procesamiento paralelo. Para la validacin del comportamiento del codificador/decodificador, se realizaron
simulaciones con el programa ModelSim XE 5.7c.
Palabras claves: codificador Reed-Solomon; diseo de hardware; VHDL
ABSTRACT
This paper presents a practical procedure for designing a Reed-Solomon encoder/decoder through the functional
description using hardware descriptor language (VHDL) with the programming tool Xilinx ISE 9.2i. We propose a
design that use the benefits introduced by VHDL programming, its modularity feature, and the strategy for dividing
the design in less complex components to facilitate the process. In addition, the methodology of the decoder design
using parallel processing has been detailed. Simulations with ModelSim XE 5.7c software were carried out in order
to validate the encoder/decoder behaviour.
Keywords: hardware design; Reed-Solomon coder; VHDL
C. Sandoval y A. Fedn
INTRODUCCIN
En la actualidad se evidencia una creciente
tendencia hacia el uso de dispositivos de lgica
reconfigurable a alta escala de integracin
(Wakerly, 2001), en funcin de los beneficios
que esta tecnologa ofrece a los diseadores de
sistemas
digitales,
estos
dispositivos
programables a travs de un lenguaje de
descripcin de hardware (VHDL, por sus siglas
en ingls), los cuales permiten configurar
sistemas digitales segn las especificaciones
demandadas por los usuarios, ajustar cambios
en la programacin, optimizar los diseos
tratndolos en forma modular.
En este estudio se introduce el tema del lenguaje
descriptor de hardware (estandarizado) VHDL,
el cul tiene entre sus caractersticas el hecho de
ser estructural, lo que permite manejar los
aspectos de la programacin por mdulos, e
incluso podemos desarrollar distintos niveles de
abstraccin dentro de la programacin de los
dispositivos lgicos programables (CPLD, por
sus siglas en ingls).
En este orden de ideas, es fundamental avanzar
en direccin al diseo de hardware con
programacin VHDL, por contar con una
normalizacin IEEE y tener caractersticas de
modularidad, adquiriendo experiencia en el
desarrollo de sistemas de comunicaciones. Por lo
anterior expuesto, se estableci como propsito
de este proyecto realizar un diseo de un
codificador de canal para correccin de errores y
sus componentes en los sistemas de
comunicaciones digitales en banda base,
orientado a la implementacin sobre dispositivos
programables de alta escala de integracin.
De esta manera que se presenta una propuesta
didctica para el diseo de un codificador y su
decodificador Reed-Solomon, por presentar
estos la capacidad para corregir errores y su
utilidad 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
TEORA
Programacin en VHDL
El auge y la versatilidad que ofrecen los
dispositivos lgicos programables han requerido
de un lenguaje descriptor de hardware, que
permita al diseador, realizar la configuracin
del dispositivo de acuerdo a su funcin
especifica,
a
travs
de
programacin
estructurada de alto nivel, para as describir el
comportamiento de los componentes del sistema
digital, sintetizar y finalmente descargar la
programacin en el dispositivo sea PLD, CPLD,
FPGA, a fin de configurar el hardware de
manera conveniente al propsito del diseo.
El
diseo
se
jerrquicamente:
puede
descomponer
C. Sandoval y A. Fedn
implementacin de un algoritmo eficiente de
decodificacin el cul fue realizado por Elwyn
Berlekamp de la universidad de Berkeley
(Suardaz y Al-Hadithi, 2004).
Estos cdigos pertenecen a la familia de cdigos
c( x) = g( x) i( x)
(2)
g( x) =
nk 1
i= 0
(3)
g( x) = Gnk 1 x nk 1 + Gnk 2 x nk 2 +
.... +G1 x + G0
(4)
(1)
C. Sandoval y A. Fedn
El procesamiento y manejo serial de los datos de
entrada se realiza a travs del siguiente cdigo,
presentado en la Tabla 1, correspondiente al
mdulo principal Codificar_RS, donde es
importante destacar que se obtiene una salida
serial codificada.
C. Sandoval y A. Fedn
a) Funcin sndrome en el decodificador
Y1 +Y2 = S1
x1Y1 + x2Y2 = S2
(7)
(5)
(6)
C. Sandoval y A. Fedn
S4 = 4+ 3+ 10+ 6+ 5+ 6= 2++ 2+ +1=1
donde se obtiene el sndrome como:
S = [ 0 1]
Para el diseo del modulo de clculo de
sndrome en el decodificador Reed-Solomon se
debe seleccionar la arquitectura del circuito que
realice las operaciones de producto y suma
dentro del campo finito del diseo GF (23) a fin
obtener los sndromes a partir de evaluar la
palabra de cdigo recibida r(x) donde x = j,
para j = 12t.
Para localizar la posicin del error se tiene el
sistema de ecuaciones generado de la ecuacin
7, en el caso particular de n-k = 4 t = 2, se
tiene 1 < = j < = 2 por lo que el sistema de
ecuaciones queda:
S 3 = f1 S 2 + f2 S 1
S 4 = f1 S 3 + f2 S 2
por Kramer pero teniendo en cuenta la aritmtica
en un campo finito:
f1 =
f1 =
f2 =
S2
S3
S1
= S2 .S2 + S1.S3 = + 0 = 2
S2
S3
S4
S1
S2
2
S2
S3
S3
S4
0. + 1
8
= 2 = 6
2
1+ 0 8
= 2 = 5 = 6
2
f1
2
3
6
1
7
4
1
4
3
5
6
5
2
4
7
7
1
2
6
5
3
f2
6
3
4
2
1
5
4
2
1
5
7
1
5
7
6
7
6
3
3
4
2
r1
5
5
3
4
2
1
6
3
4
2
1
3
4
2
1
3
2
1
2
1
1
r2
7
6
5
5
5
5
7
7
7
7
7
6
6
6
6
4
3
3
4
4
2
C. Sandoval y A. Fedn
versin 9.2i, donde se programar el
decodificador Reed-Solomon, cada uno de los
bloques, fueron definidos como componentes y
se adicionaron como fuentes .vhdl, as lo ilustra
la Fig. 6.
RESULTADOS Y DISCUSIN
Los resultados obtenidos a travs de la
simulacin del codificador y del decodificador
corresponde a las Figs. 8 y 9, respectivamente.
C. Sandoval y A. Fedn
En la simulacin del comportamiento del
codificador Reed-Solomon, se estableci el
procesamiento de los datos recibidos (d_in). En
la Fig. 9, se puede observar la salida del
codificador, ser la seal de entrada cx, es la
trama de entrada de datos, a esta nueva trama de
7 smbolos se le ha adicionado el ruido del canal
sobre dos de sus smbolos cualesquiera ex, con
lo que se obtiene la trama recibida rx, estos
smbolos son procesados y se obtiene S1, S2, S3,
S4 los resultados del sndrome, estos son
procesados a travs del sistema de ecuaciones
produciendo los coeficientes de f(x) entindase
f1, f2 estos son entrada a la matriz de conversin
para obtener xa, xb estas ultimas races del
polinomio f(x) y con los cuales se calculan los
valores de los errores e1, e2, los cuales son
sumados en las posiciones localizadas con la
entrada al receptor rx obtenindose los datos
corregidos.
El resultado exitoso del diseo y las
caractersticas de VHDL, que siguen las norma
de programacin IEEE-1076, hace que los
diseos sean porttiles a cualquier plataforma
(Chang, 1999).
CONCLUSIONES
El estado actual sobre codificacin ReedSolomon. Se ha incluido un compendio de la
teora de codificacin Reed-Solomon. As como,
un desarrollo de un modelo de codificacin
Reed-Solomon. Una de las mejores alternativas
es el posible uso de una cadena concatenada
semejante a la propuesta en la norma IEEE
802.16.
La arquitectura diseada fue optimizada para
dispositivos reconfigurables (FPGAs) tomando
ventaja del mximo nivel de paralelismo que se
puede explotar en la multiplicacin y
operaciones de la aritmtica de campos finitos
de Galois GF(2m) mediante un uso eficiente de
loa recursos de hardware (Sandoval, 2006).
Se ha podido disear un codificadordecodificador Reed-Solomon que puede corregir
errores en dos smbolos, con las facilidades de
una descripcin a travs de un programa de
programacin de hardware.
TRABAJOS FUTUROS
El diseo de un dispositivo para implementar un
cdigo Reed-Solomon RS(255,223) con
smbolos de 8 bits. En el cul, el decodificador
pueda 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. Una vez
establecido el polinomio g(x), los sndromes
pueden ser calculados al sustituir las 2t races
del polinomio generador g(x) en r(x).
REFERENCIAS
Agatep, A. (2000). Reed-Solomon Solutions with
Spartan-II FPGAs. White paper: Spartan-II
Family.http://direct.xilinx.com/bvdocs/whitepap
ers/wp110.pdf
Chang, K.C. (1999). Digital Systems Design
with VHDL and Synthesis: An Integrated
Approach. Wiley-IEEE Computer Society Pr.
New Jersey, USA.
Clemente, E. (2004). Construccin de un
Decodificador Reed-Solomon en VHDL. Informe
Tcnico. Centro de Investigacin y de Estudios
Avanzados. Ciudad de Mxico, Mxico.
Sandoval, C. (2006). Transmisin de Datos
usando Cdigos Reed-Solomon e Intercalado
Convolucional Implementado sobre FPGA.
Comunicacin de Datos, Vol. 4, pp. 83-89.
Reed, I.S. y G. Solomon (1960). Polynomial
Codes over Certain Finite Fields. SIAM Journal
on Applied Mathematics, Vol. 08, No. 02, pp.
300-304.
Suardaz, J. y B.M. Al-Hadithi (2004). Control
Electrnico mediante Telefona Mvil Digital
basada en la Red GSM. Tecnologa y
Desarrollo. Revista de Ciencia, Tecnologa y
Medio Ambiente, Vol. 02.
Wakerly, J. (2001). Diseo Digital: Principios y
Prcticas. 3ra Edicin. Editorial Pearson.
Ciudad de Mxico, Mxico.
C. Sandoval y A. Fedn
Xilinx, Inc. (2002). Xilinx System Generator
v2.1 for Simulink: Basic Tutorial. The Xilinx
Design
Series.
Disponible
en
lnea:
http://www.xilinx.com/support/library.htm