Professional Documents
Culture Documents
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.
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. 9 Señal de error usando ECAP-L con error codificado de 12 bits. a) L=5
b) L=20