Umbral Científico Fundación Universitaria Manuela Beltrán umbralcientifico@umb.edu.co ISSN (Versión impresa): 1692-3375 COLOMBIA



Documentos relacionados
Implementación de la transformada wavelet discreta para imágenes en un FPGA

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

UNIVERSIDAD NACIONAL FEDERICO VILLARREAL FACULTAD DE INGENIERÍA ELECTRÓNICA E INFORMÁTICA SÍLABO

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

Sistemas Electrónicos Digitales. Práctica 1 Multiplicador de 8 bits secuencial con desplazamiento hacia la derecha

Umbral Científico ISSN: Universidad Manuela Beltrán Colombia

Implementación de Filtros Digitales Tipo FIR en FPGA

JAVAFilters: Cálculo y Diseño de Filtros Analógicos y Digitales Primavera 2004

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

Figura 1.12 Señalización analógica y digital de datos analógicos y digitales.

Formato para prácticas de laboratorio

Capitulo V Administración de memoria

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

FORMATO DE CONTENIDO DE CURSO

Aplicación de la reconfigurabilidad dinámica de la FPGA Virtex de Xilinx *.

Programa Presupuestos de Sevillana de Informática.

PROCEDIMIENTO DE GESTIÓN DE LOS ASPECTOS AMBIENTALES

Guía rápida de activación de VOB. Paso a paso para incorporación de usuarios

Auditoría administrativa

Administración del Kiosco Vive Digital - Tarificador

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

Tema 2. Diseño del repertorio de instrucciones

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Metodologías de diseño de hardware

NÚMEROS NATURALES Y NÚMEROS ENTEROS

Lección 1-Introducción a los Polinomios y Suma y Resta de Polinomios. Dra. Noemí L. Ruiz Limardo 2009

Operaciones con polinomios

Matemáticas para la Computación

CAPITULO II CARACTERISTICAS DE LOS INSTRUMENTOS DE MEDICION

1.- DATOS DE LA ASIGNATURA. Diseño Digital Avanzado con FPGAs. Nombre de la asignatura: Carrera: Ingeniería Electrónica. Clave de la asignatura:

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

Inteligencia artificial: todo comienza con una neurona.

ISO Anexo A OBJETIVOS DE CONTROL Y CONTROLES DE REFERENCIA DANIELA RAMIREZ PEÑARANDA WENDY CARRASCAL VILLAMIZAR

Contenido. Curso: Cómo vender por Internet

Sistemas de numeración y aritmética binaria

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

CAPÍTULO 4. DISEÑO CONCEPTUAL Y DE CONFIGURACIÓN. Figura 4.1.Caja Negra. Generar. Sistema de control. Acumular. Figura 4.2. Diagrama de funciones

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1.4. Elementos que integran a la Tecnología de Información.

Proyectos de Innovación Docente

Diseño y Construcción de un Sistema de Posicionamiento Lineal

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

x

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

Licenciatura en Computación

Solución de telefonía para empresas TL Presentación de producto. Telefonía IP

SOFTWARE CSU-485. Para conectar el dispositivo CSU-485 lo podemos hacer de dos maneras:

APLICACIONES MÓVILES NATIVAS

18. Camino de datos y unidad de control

UN SIMULADOR DE UNA MAQUINA COMPUTADORA COMO HERRAMIENTA PARA LA ENSEÑANZA DE LA ARQUITECTURA DE COMPUTADORAS

DESCRIPCION DEL SITEMA MASTER.

PROGRAMACIÓN ORIENTADA A OBJETOS

podemos enfocar al funcionamiento del robot, es decir la parte de electrónica. Para que el

Guía de Uso. Administración de Tokens

EXPRESIONES ALGEBRAICAS. POLINOMIOS

Línea Base Juan Carlos Bajo Albarracín Qué es una línea base Cómo implantar la Ley 29783: El concepto sistema de gestión en la Ley 29783

Para obtener una cuenta de padre

5. Despliegue en la PC

Preguntas IE TEC. Total de Puntos: 47 Puntos obtenidos: Porcentaje: Nota:

El Auditor y la organización

Atenuación = 10 log 10 db Amplificación = 10 log 10

UNIDADES DE ALMACENAMIENTO DE DATOS

Cambio de la Frecuencia de Muestreo

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Teclado sobre una PDA para Personas con Parálisis Cerebral

Documento técnico Sistemas según el principio de modularidad Automatización modular con terminales de válvulas

Los estados financieros proporcionan a sus usuarios información útil para la toma de decisiones

REPUBLICA DE COLOMBIA PROGRAMA DE LAS NACIONES UNIDAS PARA EL DESARROLLO PNUD

Capítulo 6: Conclusiones

Teoría de Sistemas y Señales

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

GUÍA BÁSICA DE USO DEL SISTEMA RED

MANUAL MODULO CONVOCATORIAS TRANSFERENCIA DE CONTENIDO COLCIENCIAS - SIIU

MODELOS DE RECUPERACION

Modelos y Bases de Datos

NORMAS DE USO. El horario de uso para investigación del equipo de resonancia magnética (3 Teslas) es de 16:00-20:30.

A. Compromiso de Ecolab con la Protección de la Privacidad de Datos

INTRODUCCIÓN AL DISEÑO FPGA-DSP. Cristian Sisterna, MSc UNSJ-C7T

Proyecto de Digitalización del Archivo Histórico de las Compañias

Diseño Estructurado de Algoritmos

Lección 24: Lenguaje algebraico y sustituciones

Tecnología de fabricación en VLSI

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

Proyectos Finales. Redes de Computadoras Proyecto 1. Sistema de almacenamiento virtual sobre una plataforma P2P utilizando JXTA.

LINEAMIENTOS GENERALES TRABAJO DE GRADO OPCIÓN EMPRENDIMIENTO

CAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA

POLÍTICA DE COOKIES. A continuación explicaremos qué son las cookies y los tipos de cookies que utiliza la Fundación Fuertes en su sitio Web:

Universidad Católica Boliviana San Pablo Centro de Sistemas de Información

DIVISION DE ELECTRONICA Y COMPUTACION

ANEXO INSTRUCCIONES DECLARACION DE GASTOS EN LINEA DE BIENES DE CAPITAL

ARITMÉTICA EN PUNTO FLOTANTE

Manual de Procedimientos

Proyecto de Sistema Hotel Web. Presentado por: L.I. Ramiro Robles Villanueva

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

Propuesta de Proyecto de Trabajo de Grado. Tema: Herramienta de Soporte a la Ingeniería de Requerimientos para Aplicaciones Web

LA METODOLOGÍA DEL BANCO PROVINCIA

Transcripción:

Umbral Científico Fundación Universitaria Manuela Beltrán umbralcientifico@umb.edu.co ISSN (Versión impresa): 1692-3375 COLOMBIA 2004 Dora María Ballesteros DISEÑO DE FILTROS FIR-WAVELET SOBRE FPGAS PARA ELIMINACIÓN DE RUIDO DE FONDO EN SEÑALES BIOELÉCTRICAS Umbral Científico, diciembre, número 005 Fundación Universitaria Manuela Beltrán Bogota, Colombia pp. 50-58 Red de Revistas Científicas de América Latina y el Caribe, España y Portugal Universidad Autónoma del Estado de México http://redalyc.uaemex.mx

DISEÑO DE FILTROS FIR-WAVELET SOBRE FPGAs PARA ELIMINACIÓN DE RUIDO DE FONDO EN SEÑALES BIOELÉCTRICAS Msc. Dora María Ballesteros* RESUMEN Este artículo presenta el diseño de un filtro de respuesta impulsional finita con coeficientes wavelet para ser programado en una FPGA, con el propósito de eliminar ruido de fondo en señales bioeléctricas. Cada módulo funcional del filtro se prueba en simulación, al igual que la arquitectura final propuesta. ABSTRACT This article presents the description of a finite impulsional response filter (FIR) with wavelet coefficients, for the elimination of background noise in bioelectrical signals. Each functional module test in simulation, just like the complete architecture. Palabras claves: filtros FIR, transformada wavelet, lenguaje VHDL. Key words: finite impulsional response filter, wavelet transform, VHDL language. INTRODUCCIÓN Los filtros digitales han tenido en los últimos años un gran impacto en el procesado de señales bioeléctricas, ya que permiten mejorar notablemente la relación señal-ruido e identificar y clasificar las señales de acuerdo a sus características mas destacables. Si un filtro digital FIR convencional se trabaja con coeficientes wavelet, se tiene a la salida del filtro una señal con la mitad del ancho de banda de la señal original, que para nuestro caso corresponde a la mitad baja, ya que se considera que es en el detalle de la señal donde se concentra la mayor cantidad del ruido no deseado (Ballesteros, 2004). Además de las ventajas de un filtro wavelet, se tiene que el desarrollo de arquitecturas específicas sobre dispositivos lógicos programables, permite trasladar una aplicación que típicamente se desarrolla en software a un ambiente hardware que independiza la solución de los PCs y además brinda la posibilidad de desarrollar en masa circuitos integrados de propósito específico. De esta forma, se puede acoplar la FPGA * Ingeniera Electrónica U. Industrial Santander. Magíster Ingeniería Electrónica y de Computadores U. de los Andes. Directora de Investigación Formativa en Ingeniería. Líder Grupo de Investigación SAPAB UMB. (Grupo reconocido por COLCIENCIAS 2004-2006) 50

programada previamente con el filtro FIRwavelet a un sistema de adquisición de señales bioeléctricas (el cual se está desarrollando para señales EMG y EEG), garantizando que a la salida de la tarjeta se obtiene una señal digital limpia lo cual nos permitirá realizar un mejor análisis de la señal enfocado a detección de características específicas. FILTROS DIGITALES Un filtro digital de respuesta impulsional finita (FIR) es un sistema que modifica el comportamiento frecuencial de la señal de entrada, en el cual la señal de salida se define como la convolución entre la señal a filtrar y la respuesta al impulso del filtro (Proakis, 1998). El resultado de esta convolución se define de acuerdo a la ecuación (1), (1) donde h(k) es la respuesta impulsional, x(k) es la señal de entrada en el instante actual, x(n-k) es la señal de entrada en k valores anteriores de tiempo, y(n) es la salida del filtro en el tiempo actual y M es la longitud del filtro. Calculando la transformada z de la ecuación (1), se tiene que (2) donde H(z) es la función de transferencia del filtro, h(k) es la respuesta impulsional, M la longitud del filtro y z -k es un retardo de la señal. de valor k. A la representación esquemática de la ecuación (2) se le conoce con el nombre de realización en forma directa de un filtro FIR (Proakis, 1998), que se presenta en la Figura 1. Figura 1. Realización de forma directa para un sistema FIR Con esta estructura se requieren M-1 posiciones de memoria (donde se guadan los valores de la señal de entrada en tiempos anteriores al actual), M multiplicadores y M-1 sumas. Filtro wavelet: un filtro wavelet es un filtro digital en el cual los coeficientes h(k) tienen unas características especiales que se relacionan con las familias base en la transformada wavelet discreta (Sidney, 1998). Las condiciones más importantes que deben cumplir estos coeficientes se presentan en la ecuación (2). Lo que conlleva a que los filtros sean mitad banda y que la respuesta en DC del filtro sea igual a. 51

(2) Figura 2. Arquitectura general de un filtro FIR Módulo de retardo: es el encargado de guardar hasta M-1 valores anteriores de la señal de entrada y el valor actual de la señal. Cada vez que llega un nuevo dato, se realiza una actualización de las posiciones. Módulo multiplicador: es el encargado de multiplicar los valores digitales de los coeficientes h(n) con los valores digitales de la señal de entrada y sus respectivos retardos. Módulo sumador: se encarga de realizar la suma de las multiplicaciones entre h(k) y las señales x(n-k). ARQUITECTURA DE UN FILTRO FIR-WAVELET Hablar de la arquitectura de un filtro FIR consiste en representar de forma modular cada una de las partes que componen la realización del filtro y asignarle a cada módulo los recursos hardware que se necesiten (Pesl, 2004). Para garantizar el acople de la FPGA con el sistema de adquisición de señales EEG y EMG que se está desarrollando dentro del grupo de Investigación Sistemas de Adquisición, Procesado y Análisis de Señales Bioeléctricas (SAPAB) de la fundación Universitaria Manuela Beltrán, se tienen en cuenta las siguientes condiciones de diseño: 52 - La programación del filtro se realiza sobre una FPGA Spartan XCS200E. - La señal de entrada y de salida del filtro es de 15 bits. - Los coeficientes del filtro deben corresponder al valor de los coeficientes del filtro pasa bajo de descomposición de una familia ortogonal de la transformada wavelet discreta. Asignación de recursos: Módulo de retardo: se utiliza un número de flip-flops igual a la longitud del filtro

conectados en cascada, de tal forma que cada vez que se tenga un pulso de reloj (relacionado con la llegada de un nuevo dato), el valor de la posición i pase a la posición i-1, tal y como se presenta en la Figura 3. Figura 3. Hardware asociado a módulo de retraso Otra solución (Bellora, 2002) es utilizar memorias RAM para el almacenamiento de los datos. Módulo multiplicador: se utilizan N multiplexores (Smith, 1998) 2:1, donde N corresponde al número de bits de la representación de los coeficientes h(n). Una entrada del multiplexor está conectada a cero, la otra entrada se conecta a la señal x(n) y la selección se realiza a través del bit i de la señal h(n). El valor n de la Figura 4, corresponde al número de bits de la señal de entrada x(n). Figura 4. Hardware asociado al módulo multiplicador para el caso de cuatro coeficientes. Módulo sumador: consiste en sumar de forma apropiada (conservando los signos) las salidas de los ocho bloques de multiplicadores. REALIZACIÓN DEL FILTRO El filtro FIR que se diseñó consta de siete valores de retardo de la señal de entrada y los coeficientes wavelet corresponden a la familia symlets. Esta selección de coeficientes y orden del filtro está acorde a los resultados encontrados en simulación sobre Matlab para la aplicación de eliminación de ruido de señales EEG (Velandia-Ballesteros, 2004) y EMG. Tabla I. Coeficientes filtro de descomposición pasa bajo, 53

presenta en la Tabla III. Tabla III. Binarización de la magnitud de los longitud del filtro 8, familia Symlets Como segundo paso, se establece la representación digital de estos coeficientes. Después de revisar varias formas de representación (Ramírez, 2003), se selecciona la de punto flotante (Silva, 2004), la cual consiste en asignar un número de bits para la posición decimal y otros bits para la posición entera del coeficiente. Tabla II. Coeficientes del filtro con representación en exponente. coeficientes. Con la binarización presentada en la Tabla III, el número de bits necesarios para representar los coeficientes wavelet es 10 y la multiplicación con la señal de entrada digital da como resultada una señal de salida de 25 bits, por lo que se debe realizar a una variable diferente los 15 bits más significativos del resultado del filtro. Los recursos utilizados de la FPGA para este módulo se presentan en la Tabla IV. Tabla IV. Recursos utilziados de la FPGA XCS200E para el módulo del multiplicador. Con los recursos utilizados para este módulo y el diseño de hardware seleccionado, es imposible la creación de ocho unidades de multiplicación Se utiliza el mismo número de posiciones diferentes y garantizar que el filtro se programa decimales, para facilitar las operaciones sobre una única FPGA XCS200E, por lo que posteriores, de esta froma, se debe digitalizar se debe reutilizar este módulo en las ochos solamente la parte entera del número, la cual se multiplicaciones de la estructura del filtro FIR por medio de un multiplexor. 54

La selección de la pareja coeficiente & posición de la señal de entrada, se debe realizar de forma automática con cada nuevo pulso de la señal de reloj y reinicializarse cada ocho pulsos. En este caso el reloj del módulo multiplexor debe trabajar ochos veces más rápido que el reloj del módulo de retardo. La nueva arquitectura se presenta en la Figura 7. Figura 7. Arquitectura utilizada para la realización del filtro FIR-wavelet. El módulo Acumulador, se encarga de realizar se realiza sobre Matlab, donde se verifica que la arquitectura propuesta para la programación de la FPGA permite la eliminación de ruido de fondo en señales EEG y EMG La segunda parte de la simulación se enfoca hacia la verificación de los módulos descritos en VHDL y la integración de los mismos. A. ARQUITECTURA SOBRE MATLAB Se realiza en Simulink la arquitectura presentada en la Figura 2, donde la señal de entrada al filtro corresponde a una señal EEG de la base de datos de registros polisomnográficos de la MIT-BIH. Figura 8. Arquitectura en simulink. La señal de entrada del filtro se presenta en la Figura 9 y la señal de salida en la Figura 10. las sumas correspondientes a los resultados de las multiplicaciones x(n-i) *h (n-i) hasta de ocho valores consecutivos, entrega el valor a la salida de la FPGA y se reinicia. RESULTADOS Figura 9. Señal EEG real La simulación se divide en dos partes: la primera 55

Figura 10. Señal EEG filtrada Diseño completo: Una vez validada la arquitectura sobre simulink, se reliza la descripción VHDL de esta arquitectura utilizando el programa ISE Figura 13. Diseño hardware de un filtro FIR-wavelet Los recursos utilizados de la FPGA se presentan en la Tabla V. Foundation 6.3. B. HARDWARE FINAL Tabla IV. Recursos utilziados de la FPGA Una vez simulados los diferentes módulos utilizando ModelSim 5.7 y comprobando el correcto funcionamiento, se presenta el hardware final de cada uno de ellos. Módulo multiplicador: Figura 11. Esquema RTL módulo multiplicador Módulo de retardo: Figura 12. Esquema RTL módulo de retardo 56

CONCLUSIONES Existe una diferencia significativa en el proceso de diseño de filtros FIR cuando se implementan en software a cuando se implementan en hardware. Las metodologías usadas varían radicalmente dado que en la primera se cuentan con lenguajes de alto nivel que agilizan el proceso de diseño, mientras que en el caso de hardware es necesario determinar la arquitectura general del sistema. La técnica de punto flotante, permite un facil manejo de los datos, ya que facilita las operaciones, al tener todos los coeficientes el mismo exponente, y brinda una adecuada representación de los mismos. particular, ya que en muchas ocasiones se debe disminuir el número de unidades o módulos a implementar, para garantizar que se utilice una única tarjeta. Esto lleva a que cada módulo sea depurado, probado, simulado y asignado a los recursos uno por uno, para poder así realizar ajustes en el diseño en el momento oportuno. El empleo de filtros FIR con coeficientes wavelet mejora la calidad de la señal bioeléctrica, pero esta mejora se puede aumentar si se utiliza una arquitectura completa de transformada wavelet donde se incluya tanto el filtrado pasa-bajos como el pasa-altos, el proceso de submuestreo de los coeficientes de salida de los filtros, la selección de coeficietnes por umbralización y la reconstrucción de la señal. Debido a esto, el trabajo futuro de este proyecto se encamina en la elaboración de la arquitectura wavelet tomando como base el filtro ya diseñado. La utilización de recursos de la FPGA seleccionada, juega un papel importante a la hora de especificar un diseño para una aplicación en BIBLIOGRAFIA Ballesteros DM. Reducción de ruido en señales ECG utilizando filtros wavelet. Publicado en: Memorias II Congreso Internacional de la Región Andina IEEE, 2004 Bellora G, Deschamps J-P. Diseño de una arquitectura hardware para el cálculo de una transformada wavelet. Publicado en: Memorias VIII Iberchip, 2002. Pesl PM, Sagreras MA. Implementación de un filtro FIR parametrizable sobre plataformas FPGA. Facultad de 57

Proakis J, Manolakis D. Tratamiento digital de señales. Madrid: Prentice Hall, 1998. Pág: 509-512. Ramirez, J. Garcia, A. Meyer Base, U. Taylor, F. Fernandez, P.G. Lloris, A. Design of RNS-based distributed arithmetic DWT filterbanks. Publicado en: Acoustics, Speech, and Signal Processing, 2001. Proceedings. (ICASSP 01). 2001 IEEE International Conference on. Páginas: 1193-1196 Sidney C, Ramesh A. Introduction to wavelets and Wavelet Transform. Prentice Hall, 1998. Silva S, Panato A. Implementacao em FPGA de um multiplicador de ponto flutante com pipeline profundo. Universidade Federal do Rio Grande do Sul. Publicado en: Memorias X Workshop Iberchip, 2004. Smith DJ. HDL Chip Design. A practical guide for designing, synthesizing and simulating ASICs and FPGAs using VHDL or Verilog. 1998 Velandia R, Ballesteros DM. Reducción de ruido en señales electroencefalográficas utilizando la transformada wavelet discreta. Publicado en: Memorias I Seminario sobre métodos y Técnicas de Procesado Digital de señales 58