Implementación harware de un array sistólico para identificación de sistemas por métodos adaptativos
Los filtros adaptativos constituyen una herramienta importante en el ámbito del procesado digital de señales estadísticas. Frente a los filtros convencionales, los filtros adaptativos permite operar en entornos donde los estadísticos de las señales que participan en la operación de filtrado no son conocidos a priori. Por consiguiente, son capaces de adaptarse a las condiciones cambiantes del entorno, lo que ha permitido no solo mejorar las prestaciones ofrecidas por los filtros de coeficientes fijos sino que también el desarrollo de apli
caciones nuevas.
Para poder adaptarse a escenarios desconocidos, los filtros adaptativos están dotados con un algoritmo que les permite modificar el valor de sus coeficientes en función de la información presente en el entorno. La manera en que el algoritmo estima el valor de los coeficientes determinará las características del filtro tales como su velocidad de convergencia, complejidad computacional, robustez numérica, etc.
El objetivo de este proyecto ha sido implementar en hardware un filtro adaptativo en forma de array sistólico destinado a la identificación de sistemas. Disponer el algoritmo en forma sistólica consiste en descomponer las operaciones que constituyen el algoritmo de adaptación en pequeñas unidades de cálculo que operaran de manera paralela para actualizar el vector de pesos del filtro. Para poder cumplir dicho objetivo se han estudiado las diferentes alternativas que en la actualidad son capaces de solucionar el problema adaptativo y en las que, además, es posible descomponer sus operaciones en forma de array sistólico. Entre todos los algoritmos estudiados se escogió el algoritmo QRD-RLS inverso, ya que supone un buen compromiso entre velocidad de convergencia, complejidad computacional y sencíllez de la estructura.
Se han realizado dos implementaciones, ambas descritas utilizando el lenguaje VHDL. La primera consistió en una estructura no sintetizable en la que se empleó aritmética en coma flotante. Dicha estructura sirvió como paso previo a la transformación del array sistólico en una estructura sintetizable, ya que facilitó aspectos como la cuantificación y la depuración. La segunda implementación, realizada utilizando aritmética en punto fijo, supone la materialización del algoritmo en una estructura sintetizable. En ambas implementaciones se pueden modificar los parámetros del filtro a partir de un conjunto de constantes y sin necesidad de tener que recodificar la estructura.
A partir de las implementaciones realizadas, se han cubierto dos objetivos. Por un lado se ha creado una plataforma de trabajo que facilitará ajustar el filtro de tal forma que sea posible adecuarlo al escenario real elegido. Por otro, lado se ha comprobado que la implementación en punto fijo del algoritmo es viable y que el algoritmo preserva sus características funcionales y su estabilidad numérica.
Palabras clave
Filtros adaptativos, identificación de sistemas, algoritmos adaptativos, array sistólico, QRD-RLS inverso, QRD-RLS, RLS, LMS, VHDL.