You are on page 1of 5

CIINDET 2016 – ID: 36 1

Implementation of the Error Coded Affine


Projection Like Algorithm in the DSP
TMS320C6713
E. Pichardo Morales, L.A. Díaz Martínez, X. Maya Rosales, A.A. Vázquez Piña, J. G. Avalos Ochoa, F. A. Serrano

Abstract: This paper presents the implementation of an Los filtros adaptivos son ampliamente usados para un gran
adaptive filter in the digital signal processor TMS320C6713, using número de aplicaciones como lo son: identificadores de
the Error Coded Affine Projection Like Algorithm (ECAP-L). The sistemas, predictores adaptativos, canceladores de eco o ruido,
ECAP-L algorithm is a proposal based on Affine Projection (AP) ecualizadores de canales, entre otras.
algorithms, therefore presents a high convergence speed, moreover
its main advantage is the reduction of the computational load. In La estructura general de un filtro adaptativo se muestra en la
order to test the algorithm, it was realized the implementation of a Figura 1. Donde dk es la señal deseada, yk es la salida del filtro
system identifier and a channel equalizer. Results demonstrate that digital, xk es la señal de entrada al filtro adaptativo y ek es la señal
the computational load is highly reduced.
de error, la cual es la diferencia entre dk y xk. La función
Keywords: Adaptive Filters, Affine Projection Algorithm, principal del filtro adaptativo es disminuir el error mínimo
Digital Signal Processors. cuadrado de ek, lo cual se realiza mediante el uso de un
Resumen: En este artículo se presenta la implementación de un algoritmo adaptativo [1].
filtro adaptativo en el procesador digital de señales TMS320C6713,
usando el algoritmo Error Coded Affine Projection Like
(ECAP-L). El algoritmo ECAP-L es una propuesta que está basada
en los algoritmos de proyecciones afines, por lo que presenta una
alta velocidad de convergencia, además, su principal ventaja es que
reduce la carga computacional. Para probar el algoritmo se realizó
la implementación de un identificador de sistemas y un ecualizador
de canales. Los resultados demuestran que la carga computacional
es ampliamente reducida.
Palabras Clave: Filtros adaptativos, Algoritmo de Proyecciones
Afines, Procesador Digital de Señales.

I.INTRODUCCIÓN Fig 1. Estructura básica de un filtro adaptativo.

El filtrado digital es un procedimiento que permite la


transformación de datos digitalizados empleando un En la actualidad existe una gran variedad de algoritmos
determinado algoritmo. Estos filtros son usados para modificar adaptativos, algunos de los más utilizados son los algoritmos de
el espectro de una señal, mediante el uso de hardware digital la familia Affine Projection (AP), los cuales ofrecen una mayor
como bloque funcional básico por ejemplo un procesador digital velocidad de convergencia que la del algoritmo de mínimos
de señales (DSP- Digital Signal Processor) o un arreglo de
cuadrados promediados (LMS - Least Mean Square) y la del
compuertas lógico programables (FPGA - Field Programmable
algoritmo de mínimos cuadrados normalizado (NLMS -
Gate Array).
Normalized Least Mean Square), sin embargo, presentan una
Por otra parte, un filtro adaptivo es aquel que puede modificar mayor complejidad computacional, al igual que un mayor
su respuesta durante el proceso, con el fin de lograr un desajuste [2].
comportamiento deseado, para esto es necesario el uso de un Por este motivo se han realizado diversas modificaciones con la
algoritmo que se encargue de actualizar los coeficientes del finalidad de reducir la complejidad computacional [3-4]. Una de
filtro y así poder compensar los cambios en la señal de entrada, estas variantes es el algoritmo Error Coded Affine Projection
la señal de salida, o los parámetros del sistema. Like (ECAP-L) [5], el cual disminuye la complejidad
computacional debido a que no realiza la inversión de una
matriz por cada iteración, además, la carga computacional se
_______________________________________ reduce ya que la actualización de los coeficientes del filtro se
Eduardo Pichardo Morales, Luis Alberto Díaz Martínez, Xochitl Maya realiza en base a una regla que establece un umbral, por lo que
Rosales, Ángel Alfonso Vázquez Piña, Juan Gerardo Avalos Ochoa, no es necesario realizar el cálculo en cada iteración.
Fernando Adán Serrano Orozco, IPN ESIME Culhuacan, Av. Santa Ana
No. 1000 Col. San Fco. Culhuacan C.P. 04430, México CDMX, En este artículo se presenta la implementación en el DSP
edua_95pim@hotmail.es TMS320C6713 de un identificador de sistemas y un ecualizador
de canales usando el algoritmo ECAP-L. Los resultados
CIINDET 2016 – ID: 36 2

demuestran que el algoritmo se puede utilizar para realizar realizar 1350 millones de operaciones de punto flotante por
aplicaciones de filtrado adaptativo en tiempo real, además la segundo (MFLOPS - Million Floating Point Operations per
carga computacional se reduce porque no es necesario que se Second) y 450 millones de multiacumulaciones por segundo
actualicen los coeficientes en cada iteración. (MMACS - Million Multiply Accumulates per Second),
además, está basado en una arquitectura de palabra de
II.ERROR CODED AFFINE PROJECTION LIKE ALGORITHM instrucción muy larga (VLWI - Very Long Word Instruction),
(ECAP-L) este tipo de arquitecturas se caracterizan por tener muchas
La principal ventaja del algoritmo ECAP-L con respecto al unidades funcionales que operan en paralelo, permitiendo de esa
algoritmo AP es que no requiere realizar la inversión de la forma ejecutar varias instrucciones en el mismo ciclo de reloj
matriz de datos de la señal de entrada y sus coeficientes se [6].
actualizan por medio de un umbral establecido, en consecuencia
El C6713 cuenta con ocho unidades funcionales o de ejecución
la carga computacional se ve reducida por cada iteración. Para
compuestas por seis unidades lógico-aritméticas (ALU’s) y dos
actualizar los coeficientes del filtro se usa (1) [5].
unidades multiplicadoras, además de dos registros de propósito
w" = w"$% + µ" X " C[e" ] (1) general de 32 bits.
Donde µ" se calcula mediante: La tarjeta DSK tiene las siguientes características: códec de 32
0 bits TLV320AIC23 estéreo, dos entradas y dos salidas
-. /.
µ" = 0 𝑅𝑒𝑠 (2) analógicas, frecuencia de muestreo variable de 8 a 96kHz,
-1. -. /.
16MB de SDRAM, memoria Flash de 256kB, interfaz de
Para codificar el error es necesario realizar una cuantización de memoria externa (EMIF - External Memory Interface) de 32
la señal de error y después asignar un código digital a la muestra bits a 100 MHz, conectores para expansión de periféricos,
cuantizada. Para codificar el error se utiliza (3). interfaz con el host y soporte de emulación JTAG por USB, un
/.
dispositivo lógico programable complejo (CPLD - Complex
C[e" ] = round (3) Programmable Logic Device), 4 LED’s accesible a través del
:/;
CPLD, 4 DIP switch y entrada de alimentación de 5V para
Donde ek es el error en el momento k y Res es la resolución, la alimentar el microprocesador.
cual es calculada con (4).
/>?@ IV.RESULTADOS DE LA IMPLEMENTACIÓN
Res = (4)
AB $% Las aplicaciones se desarrollaron mediante el software Code
emax es el máximo error probable, el cual no es mayor al 90% de Composer Studio, el cual es un entorno de desarrollo integrado
la amplitud de la señal y n es el número de bits usados en la que incluye herramientas de generación de código. Para la
codificación. evaluación del algoritmo ECAP-L en el DSK TMS320C6713 se
utilizaron las estructuras adaptivas de identificador de sistemas
Usar un número grande de bits para la codificación ofrece una y ecualizador de canales.
buena resolución y por lo tanto una cuantización más precisa, lo
que provoca que la velocidad de convergencia aumente, sin A. Identificador de Sistemas
embargo, el algoritmo podría no converger si el número de bits El objetivo de un identificador de sistemas es que la función de
es demasiado grande [5]. transferencia o respuesta al impulso del filtro adaptativo se
En el algoritmo ECAP-L, cuando el proceso de adaptación aproxime a la respuesta impulso de un sistema desconocido [1].
avanza, la señal de error es minimizada obteniendo valores En la Figura 2 se observa la estructura básica de un
iguales o menores que “1”, en ese caso cuando la función round identificador de sistemas.
en (3) es aplicada, el error codificado es igual a “0” o “1”,
comportándose de manera similar a los algoritmos de signo, por
lo tanto, si la señal de error se mantiene en ese rango y no
incrementa su magnitud, no es necesario calcular los
coeficientes del filtro. El umbral establecido para actualizar los
coeficientes se muestra en (5).

w" 𝑠𝑖 C[ek ] = 0 o 1
w" = (5)
wk−1 + µk Xk C[ek ] 𝑠𝑖 C[ek ] ≠ 0 o 1

Fig. 2 Estructura de un identificador de sistemas.


III.IMPLEMENTACIÓN EN EL DSP TMS320C6713
Las pruebas realizadas se hicieron en la tarjeta DSK
TMS320C6713 de Texas InstrumentsTM. Esta posee un DSP La Figura 3 muestra el diagrama de conexión utilizado para
C6713 de punto flotante que opera a 225MHz y es capaz de realizar los experimentos en el DSK.
CIINDET 2016 – ID: 36 3

Fig. 3 Diagrama de conexión utilizado para realizar los experimentos.

Para la implementación se programó en un DSK el sistema


desconocido, el cual es un filtro FIR pasa banda de 15 Fig. 5 Respuesta en frecuencia del identificador.
coeficientes con frecuencias de corte de 1200 Hz y 1500 Hz a
-6dB. Los coeficientes del filtro se obtuvieron por medio de la
Herramienta de Diseño y Análisis de Filtros (FDA Tool - Filter El experimento también se realizó aumentando a 20 el número
Design and Analysis Tool) de MATLABTM. de coeficientes del filtro adaptativo. Los resultados demostraron
una mejor aproximación, sin embargo, al aumentar el número
El filtro adaptativo fue programado en otro DSK y contó con 15 de coeficientes se incrementa el número de operaciones
coeficientes, 3 re-usos y un error codificado a 12 bits. Para necesarias para realizar el proceso de filtrado.
obtener los resultados se utilizó el analizador de redes 4395A de
Hewlett Packard, con el cual se generó una señal xk para analizar B. Ecualizador de canales
la respuesta en frecuencia del sistema desconocido y el filtro La Figura 6 muestra la estructura adaptativa usada como
adaptativo. ecualizador de canales, donde xk es la señal original, yk es la
señal distorsionada por el canal y dk es la versión retrasada de la
En la Figura 4 se muestra la respuesta en frecuencia del sistema señal original.
desconocido, la cual fue obtenida por medio del analizador de
redes.

Fig. 6 Ecualizador de canal adaptativo.

Con la finalidad de realizar una prueba mas compleja se utilizó


Fig. 4 Respuesta en frecuencia del sistema desconocido. como señal de entrada un ruido Gaussiano Blanco con varianza
unitaria de 1024 muestras, el canal es un filtro FIR de tercer
orden y el ecualizador está compuesto por un filtro adaptativo
En la Figura 5 se muestra la respuesta en frecuencia del filtro con 20 coeficientes.
adaptativo. Como se puede observar la frecuencia central de
ambos filtros es de 1.35 kHz y la respuesta es bastante similar, Por medio de Code Composer Studio se graficó la señal de
sin embargo, el filtro adaptativo presenta una mayor atenuación, entrada, la señal alterada por el canal y la señal de salida del
lo cual se debe a dos factores, el primero de ellos se presenta ecualizador usando el algoritmo ECAP-L, Figura 7. Como se
debido a que cada DSK cuenta con filtros en sus convertidores puede observar en los resultados el algoritmo adaptativo logró
analógicos digitales lo que provoca una atenuación en la señal recuperar la señal de entrada, presentando únicamente un
de entrada, el segundo se debe a las pérdidas provocadas por los retraso debido al tiempo que tarda en converger el algoritmo y
conectores utilizados por las mediciones. una pequeña atenuación en la amplitud.
CIINDET 2016 – ID: 36 4

Fig. 9 Señal de error usando ECAP-L con error codificado de 12 bits. a) L=5
b) L=20

Con el objetivo de evaluar el funcionamiento del algoritmo


ECAP-L se obtuvo el número de ocasiones que se actualizaron
los coeficientes. La prueba se realizó con diferentes órdenes de
proyección (L) y variando el número de bits para codificar el
Fig. 7 a) Señal de entrada ruido Gaussiano blanco. b) Señal distorsionada por error.
canal. c) Señal de salida usando el ECAP-L con L=5 y error codificado de 8
bits. La Tabla 1 muestra el número de actualizaciones realizadas por
ECAP-L para ordenes de proyección de 5, 10 y 20, con 8, 10 y
12 bits de codificación.
Las Figuras 8 y 9 muestran la señal de error obtenida usando TABLA 1: NÚMERO DE ACTUALIZACIONES DE ECAP-L
diferentes órdenes de proyección y variando el número de bits
para codificar el error. De las gráficas se puede observar que al L Número de Número de Número de
incrementar el orden de proyección se reduce más rápido el actualizaciones actualizaciones actualizaciones
error, es decir el algoritmo converge con mayor velocidad, de con n = 8 bits con n = 10 bits con n = 12 bits
(%) (%) (%)
igual forma si se aumenta el número de bits en la codificación
del error la velocidad de convergencia aumenta.
5 161 232 289
(15.72%) (22.67%) (28.22%)
10 91 154 200
(8.87%) (15.04%) (19.53%)
20 49 73 100
(4.78%) (7.13%) (9.76%)

De la Tabla 1 se observa que el algoritmo no necesita actualizar


sus coeficientes en cada iteración, como lo haría la versión
original. También se puede observar que al codificar con un
menor número de bits se realizan menos actualizaciones, lo cual
se debe a que al aumentar los bits el valor del error codificado
es mayor, esto es provocado por la función round en (3), por lo
que el algoritmo no entra al umbral establecido en (5) y por lo
tanto tiene que actualizarse en más ocasiones para disminuir su
Fig. 8 Señal de error usando ECAP-L con error codificado de 8 bits valor, por otra parte la velocidad de convergencia también
a) L=5 b) L=20 aumenta debido a que el algoritmo trata de disminuir lo más
rápido posible el error.
5
CIINDET 2016 – ID: 36

Al usar un orden de proyección mayor la velocidad de de Ingeniería en Computación, en la Escuela Superior de


convergencia aumenta, sin embargo, el desajuste es también Ingeniería Mecánica y Eléctrica Unidad Culhuacan del
mayor por lo tanto el algoritmo no entra dentro del umbral Instituto Politécnico Nacional.
establecido y necesita de un mayor número de actualizaciones.
Luis Alberto Díaz Martínez concluyó sus estudios en enero
Los resultados demuestran que el algoritmo ECAP-L no altera del 2016 de la carrera Ingeniería en Comunicaciones y
el funcionamiento del filtro adaptativo a pesar de que las Electrónica en la Escuela Superior de Ingeniería Mecánica y
actualizaciones se reducen de 289 hasta 49 ocasiones Eléctrica Unidad Culhuacan del Instituto Politécnico
dependiendo el orden de proyección y el número de bits usados Nacional.
en la codificación.
Ángel Alfonso Vázquez Piña actualmente es alumno de la
carrera de Ingeniería en Computación, en la Escuela
VI.CONCLUSIONES Superior de Ingeniería Mecánica y Eléctrica Unidad
Culhuacan del Instituto Politécnico Nacional.
En este artículo se presentó la implementación en el DSP C6713
de un identificador de sistemas y un ecualizador de canales Juan Gerardo Avalos Ochoa recibió el grado de Ingeniero
usando el algoritmo ECAP-L. en Comunicaciones y Electrónica en 2006 y el grado de
Maestro en Ciencias en Microelectrónica en 2008 en el
Los resultados demuestran que no existe una diferencia
Instituto Politécnico Nacional, de la cual se graduó con
significativa con respecto a las simulaciones que se realizaron
mención honorífica. De 2011 a 2012 realizó una estancia de
anteriormente en otros artículos por lo que la implementación
investigación en la Universidad de la Tecnología de Viena,
presenta prácticamente el mismo comportamiento, de esta
Austria. En el 2014 recibió el grado de Doctor en Ciencias
manera se comprueba que el algoritmo ECAP-L puede ser
en Comunicaciones y Electrónica por el Instituto Politécnico
utilizado para implementar filtros adaptativos en tiempo real.
Nacional. Actualmente es profesor de ingeniería en
La principal ventaja del algoritmo ECAP-L es que puede reducir Computación en la Escuela Superior de Ingeniería Mecánica
el número de actualizaciones de los coeficientes y mantiene una y Eléctrica Unidad Culhuacan. Su área de interés es el
alta velocidad de convergencia. En las pruebas realizadas se procesamiento digital de señales.
redujo las actualizaciones hasta un 95% para el ecualizador de
Fernando Adán Serrano Orozco. Recibió el grado de
canales y no se alteró el funcionamiento del filtro adaptativo, de
ingeniero en comunicaciones y electrónica en 2004 y el
manera que la carga computacional es ampliamente reducida,
grado de maestro en ciencias de ingeniería en
esto es una gran ventaja ya que se podría usar recursos del
microelectrónica en 2007 en el Instituto Politécnico
procesador para realizar otras tareas.
Nacional, de los cuales obtuvo mención honorífica. En el
2012 recibió el grado de doctor en comunicaciones y
electrónica por el Instituto Politécnico Nacional.
REFERENCIAS Actualmente es profesor de ingeniería en comunicaciones y
[1] S. M. Kuo, B. H. Lee, W. Tian, Real-Time Digital Signal Processing: electrónica en la Escuela Superior de Ingeniería Mecánica y
implementations and applications, Wiley, England, 2013. Eléctrica Unidad Culhuacán. Su área de interés es el
[2] A. H. Sayed, Adaptive filters, Hoboken, N. J.: Wiley- Interscience, 2008.
procesamiento digital de señales, nano-estructuras
semiconductoras.
[3] A. Gonzalez, M. Ferrer, F. Albu, and M. de Diego, “Affine projection
algorithms: Evolution to smart and fast algorithms and applications”, in
Signal Processing Conference (EUSIPCO), 2012 Proceedings of the
20thEuropean, 2012, pp. 1965–1969.
[4] P. S. R., Adaptive Filtering. Boston, MA: Springer US, 2013.
[5] A. Rodriguez, J. C. Sanchez, y J. G. Avalos, “Error Coded Affine
Projection Like Algorithm”, International Conference on, pp. 70-75,
Mechatronics, Electronics and Automotive Engineering (ICMEAE), pp.
70–75,2015.
[6] R. Chassaing, D. Reay, y R. Chassaing, Digital signal processing and
applications with the TMS320C6713 and TMS320C6416 DSK, 2nd ed.
Hoboken, N.J: Wiley-Interscience, 2008.

Eduardo Pichardo Morales actualmente es alumno de la


carrera de Ingeniería en Computación, en la Escuela
Superior de Ingeniería Mecánica y Eléctrica Unidad
Culhuacan del Instituto Politécnico Nacional.
Xochitl Maya Rosales actualmente es alumno de la carrera

You might also like