Procesamiento Digital de Sonido en Tiempo Real mediante una Tarjeta de Desarrollo Spartan 3E Leonardo Gutirrez, Jonathan Polania, Yesid Gutirrez, Hctor Turriago, Adrian Torres Estudiantes de Ingeniera Electrnica Programa de Ingeniera Electrnica, Sistemas Embebidos y Codiseo, Universidad de los Llanos e-mail: lgutierrez@unillanos.edu.co Diciembre 2009 AbstractThe Digital of Signals Processing as the Sound, inside the stages that it understands as acquisition, conditioning, processing and analysis, through the audition and the visualiza- tion, carried out in a device like the FPGA (SPARTAN - 3E), and by means of the implementation of User's Graphic Interface developed in MATLAB, it stands out the most outstanding characteristics in the Recongurables Logical Devices in front of other Microprocessors and Microcontrollers. Resumen-El Procesamiento Digital de Seales como el Sonido, dentro de las etapas que comprende como la adquisi- cin, el acondicionamiento, el procesamiento y el anlisis, a travs de la audicin y la visualizacin, llevado a cabo en un dispositivo como la FPGA (SPARTAN 3E), y mediante la implementacin de una Interface Grca de Usuario desarrol- lada en MATLAB, resalta las caractersticas ms relevantes de los Dispositivos Lgicos Recongurables frente a otros Microprocesadores y Microcontroladores. Palabras clave FPGA, DSP, Sonido, FIR, IP Core, Pi- coBlaze. CONTENTS I INTRODUCCION 1 II ADQUISICIN DE LA SEAL DE AUDIO 2 III FILTRO FIR 2 IV MICROCONTROLADOR PICOBLAZE 2 V MDULO SPI 2 VI INTERFACE GRFICA DE USUARIO 2 VII RESULTADOS 3 VIII CONCLUSIONES 3 IX REFERENCIAS 3 I. INTRODUCCION El Procesamiento Digital de Seales (DSP, por sus siglas en ingls) es un mtodo de gran difusin desarrollado en diferentes sistemas de consumo masivo como la telefona, la radio, la televisin, los sistemas de medida, los reproductores de audio, entre muchos otros. Sin embargo, la implementacin de un DSP en tiempo real, requiere de dispositivos de altas prestaciones en aspectos como muestreo, ujo de datos y tiempo de ejecucin. Adicional a esto, un factor relevante e inherente a las seales, es el ruido, y la causa principal del diseo de sistemas de procesamiento digital. Es por ello que el desarrollo de Filtros Digitales de excelente desempeo constituye en el DSP una etapa primordial para el tratamiento de la seal de audio. La implementacin del Microcontrolador Embebido PicoBlaze, y el manejo de Entornos de Flujo de Datos como CORE Generator, donde la integracin de sus Componentes Virtuales como los IP Core con entidades descritas directamente en VHDL, y ejecutados en una FPGA Spartan 3E (Figura 1), hacen de este DSP un sistema altamente eciente (Figura 2). Figura 1. Tarjeta de Desarrollo Spartan 3E. Figura 2. Diagrama de Bloques DSP en FPGA II. ADQUISICIN DE LA SEAL DE AUDIO La seal de audio es generada a travs de un reproductor, la cual es acondicionada mediante un amplicador de instru- mentacin. El amplicador de instrumentacin implementado ha sido el AD620, el cual posee un alto factor de rechazo al ruido en modo comn (CMRR), adems de una alta im- pedancia de entrada y un excelente margen de ganancia, lo que permite la adquisicin de la seal de audio en la FPGA. III. FILTRO FIR Los Filtros FIR son sistemas bastante ecientes dada su caracterstica respuesta nita al impulso y su implementacin en sistemas digitales. Existen diversas tcnicas de diseo para los Filtros FIR, las cuales son: Tcnica de Funcin Ventana Tcnica de Muestreo en Frecuencia Tcnica de Diseos con Rizado Uniforme ptimo Tcnica del Mximo Plano Donde las ms populares son la Tcnica de Funcin Ventana y la Tcnica de Rizado Uniforme, dada la facilidad de su dis- eo. Sin embargo, la complejidad de diseo y funcionamiento de la Tcnica de Muestreo en Frecuencia, la convierten en la ms eciente. El Filtro FIR desarrollado es un ltro pasabanda. Para la implementacin del ltro en el sistema embebido, MATLAB es determinante, ya que el diseo del ltro es realizado en la herramienta Signal Processing Blockset de Simulink, el cual posee una estructura de diseo asociada a Xilinx ISE v.10.1 (Figura 3). Elaborado el ltro con esta herramienta se genera un archivo de extensin (*.coe) que contiene los coecientes del Filtro FIR, y el cual es utilizado en el diseo nal a travs del CORE Generator de Xilinx, con un Componente Virtual llamado FIR Compiler (Figura 4), el cual genera el ltro a implementar en la FPGA. Figura 3. Diseo del Filtro FIR en MATLAB & Simulink Figura 4. FIR Compiler. CORE Generator. Xilinx. IV. MICROCONTROLADOR PICOBLAZE Este mdulo establece un canal de comunicacin sin- cronizado entre el ADC y el DAC, congurados en el PicoBlaze, otorgndoles consecutivamente, categorias de Maestro-Esclavo Esclavo-Maestro, segn la transmisin de datos requerida. Dicho sincronismo permite que el sistema se ejecute en tiempo real, teniendo en cuenta adems las caractersticas propias de propagacin de la onda de sonido. V. MDULO SPI Este mdulo acondiciona el canal de comunicacin entre DAC y el ADC, estableciendo como Tasa de Transmisin 1.5 MHz, y una resolucin de muestreo de 12 bits, para el DAC, y 14 bits para el ADC. VI. INTERFACE GRFICA DE USUARIO La ventana de dialogo desarrollada para la Interface Grca del Sistema Embebido de Procesamiento Digital de Sonido, permite al usuario una fcil manipulacin, dada la exibilidad para la introduccin de los parmetros de funcionamiento, la visualizacin de la seal en el dominio del tiempo, en el dominio de la frecuencia y las herramientas que per- miten desarrollar un mejor anlisis de dicha seal.La tasa de transmisin y el puerto de comunicaciones utilizado, son los parmetros de funcionamiento. Las herramientas de anlisis implementadas son el `zoom', y el `data cursor', los cuales permiten un mejor acercamiento y el conocimiento del valor de la seal en determinado instante de tiempo o frecuencia (Figura 5). Figura 5. Interface Grca de Usuario del DSP. VII. RESULTADOS De acuerdo a las pruebas desarrolladas con el sistema estructurado en pleno, y funcionando, se evidencia un ligero retardo perceptible en terminos de milisegundos, adicional- mente la tediosa elaboracin de los conversores ADC y DAC, en el PicoBlaze, produjo una reduccin y entorpecimiento en trminos de la ganancia de la seal de audio. Sin embargo, el comportamiento del Filtro FIR es excepcional y la Interface de Usuario permite desarrollar un anlisis bastante favorable. VIII. CONCLUSIONES El diseo ha sido desarrollado en forma jerrquica e imple- mentado segn lo requiere un sistema de comunicaciones, por tanto la tasa de transmisin es un parmetro de funcionamiento bastante importante tanto para la FPGA, como para la adquisi- cin de la Interface de Usuario. El valor habitual de ste es de 19200 Baudios. La resolucin de muestreo es de 8 bits para la Interface de Usuario. Igualmente la implementacin de un Mdulo de Sincronizacin como el SPI, permite establecer un canal de comunicaciones de altas prestaciones de acuerdo a su estructura y funcionalidad. Las caractersticas de un dispositivo de programacin lgica recongurable como la FPGA, permiten un procesamiento de la seal ms detallado y estructurado, evidenciado en su naturaleza digital. IX. REFERENCIAS [1] Willis J. Tompkins. Biomedical digital signal pro- cesing.Prentice Hall, may, 1993. [2] Xilinx The progamable logic databook. SPARTAN3 , marzo 2 de 2007. [3] J. G., Proakis, Dimitris G. Manolakis. Tratamiento digital de seales. Prentice Hall, 1997. [4] Samuel Stearms, Ruth A. David. Signal procesing algo- ritms. Prentice Hall, 1997. [5] Binary numbering systems. Altera Corporation, 1997 [6] R. W. Hamming. Digital lters. Prentice Hall, 1989. [7] Using select-RAM memory in XC4000 series FPGA's. Xilinx aplication note, july 7, 1996. [8] A CPLD VHDL introduction. Xilinx application note, january 12, 1998. [9] Digital signal processing toolbox. The MathWorks Inc., 1992-2001.