CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

6
ESTUDIO COMPARATIVO SOBRE DISTINTOS TIPOS DE FILTROS FIR IMPLEMENTADOS EN UN DSPIC Autores: Matías L. Martini, Gastón Oviedo Tutor: Ing. Franco M. Salvático ([email protected]) Departamento de Ingeniería Electrónica Facultad Regional Villa María Universidad Tecnológica Nacional Avda. Universidad 450, (5900) Villa María, Córdoba Resumen Se diseñaron siete filtros pasa bajo digitales FIR (Finite Impulse Response Respuesta Finita al Impulso) que operan en la banda de frecuencias de audio. Los diseños fueron realizados con herramientas de MATLABy mediante programación en lenguaje C++ se implementaron en un controlador digital de señales, dsPIC, de 16 bits de ancho de palabra de datos. Posteriormente se midió en el laboratorio la respuesta en frecuencia y parámetros característicos, a saber: longitud del filtro, rizado en la banda de paso, magnitud y ancho de los lóbulos, frecuencia de corte, mínima atenuación en la banda de rechazo y ancho de banda de transición. Por otra parte y de acuerdo a lo planteado, se realizó un estudio comparativo sobre los datos obtenidos, evaluando así las ventajas y desventajas de cada uno de ellos. Determinándose qué tipo de filtro tiene mejor desempeño respecto a las especificaciones exigidas por la aplicación, haciendo énfasis en las virtudes principales de cada método de diseño. 1. Introducción La adquisición de una nuevo kit de desarrollo por parte de la facultad, motivó a realizar este trabajo para evaluar las características de desempeño del controlador digital de señales. Los métodos que se estudiaron son los que se detallan en la Fig. 1. Se implementó un filtro FIR pasa bajo como el mostrado en la Fig. 2 y con las especificaciones indicadas en la tabla I. Fig. 1. Filtros a realizar. Fig. 2. Respuesta de un filtro pasa bajo. Tabla I. Especificaciones del filtro. Característica Nomenclatura Valor Unidad Frecuencia de corte a -6 dB 1000 Hz Ancho de banda de transición 250 Hz Frecuencia de muestreo 16000 Hz Rizado máximo en la banda de paso 0,01 veces Rizado mínimo en la banda de stop 0,01 veces El procedimiento de diseño inicia con la obtención del orden del filtro que se introduce en la herramienta FDAToolde MATLAB”, permitiendo obtener las curvas de respuesta en frecuencia, los coeficientes del filtro y medir los parámetros de interés [1]. Una vez obtenidos los coeficientes FIR Ventanas Ventanas fijas Rectangular Hanning Hamming Blackman Bartlett Ventanas ajustables Kaiser Algoritmos óptimos Algoritmo de Remez

description

Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

Transcript of CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

Page 1: CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

ESTUDIO COMPARATIVO SOBRE DISTINTOS TIPOS DE FILTROS FIR IMPLEMENTADOS EN UN DSPIC

Autores: Matías L. Martini, Gastón Oviedo

Tutor: Ing. Franco M. Salvático ([email protected]) Departamento de Ingeniería Electrónica

Facultad Regional Villa María – Universidad Tecnológica Nacional Avda. Universidad 450, (5900) Villa María, Córdoba

Resumen Se diseñaron siete filtros pasa bajo digitales FIR (Finite Impulse Response – Respuesta Finita al Impulso) que operan en la banda de frecuencias de audio. Los diseños fueron realizados con herramientas de “MATLAB” y mediante programación en lenguaje C++ se implementaron en un controlador digital de señales, dsPIC, de 16 bits de ancho de palabra de datos. Posteriormente se midió en el laboratorio la respuesta en frecuencia y parámetros característicos, a saber: longitud del filtro, rizado en la banda de paso, magnitud y ancho de los lóbulos, frecuencia de corte, mínima atenuación en la banda de rechazo y ancho de banda de transición. Por otra parte y de acuerdo a lo planteado, se realizó un estudio comparativo sobre los datos obtenidos, evaluando así las ventajas y desventajas de cada uno de ellos. Determinándose qué tipo de filtro tiene mejor desempeño respecto a las especificaciones exigidas por la aplicación, haciendo énfasis en las virtudes principales de cada método de diseño.

1. Introducción La adquisición de una nuevo kit de desarrollo por parte de la facultad, motivó a realizar este trabajo para evaluar las características de desempeño del controlador digital de señales. Los métodos que se estudiaron son los que se detallan en la Fig. 1. Se implementó un filtro FIR pasa bajo como el mostrado en la Fig. 2 y con las especificaciones indicadas en la tabla I.

Fig. 1. Filtros a realizar. Fig. 2. Respuesta de un filtro pasa bajo.

Tabla I. Especificaciones del filtro.

Característica Nomenclatura Valor Unidad

Frecuencia de corte a -6 dB 𝑓𝑐 1000 Hz

Ancho de banda de transición ∆𝐹 250 Hz

Frecuencia de muestreo 𝑓𝑚 16000 Hz

Rizado máximo en la banda de paso 𝛿𝑝 0,01 veces

Rizado mínimo en la banda de stop 𝛿𝑠 0,01 veces

El procedimiento de diseño inicia con la obtención del orden del filtro que se introduce en la herramienta “FDATool” de “MATLAB”, permitiendo obtener las curvas de respuesta en frecuencia, los coeficientes del filtro y medir los parámetros de interés [1]. Una vez obtenidos los coeficientes

FIR

Ventanas

Ventanas fijas

Rectangular

Hanning

Hamming

Blackman

Bartlett

Ventanas ajustables

Kaiser

Algoritmos óptimos

Algoritmo de Remez

Page 2: CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

del filtro son convertidos a un formato especial (fraccional Q15) y escritos en una estructura de lenguaje C++ en el compilador “MPLAB XC16” para poder ser implementados en el kit de desarrollo “STARTER KIT FOR DSPIC” [2] [3]. Finalmente se excitó al filtro real con una señal senoidal de frecuencia variable, utilizando un generador de señales “BK PRECISION” modelo “4045”, y midiendo con un osciloscopio, del fabricante “TEKTRONIX” modelo “TDS 1001B”, se obtuvieron su respuesta en frecuencia y sus parámetros característicos. 2. Diseño e implementación 2.1. Ventanas

Un filtro pasa bajo ideal es irrealizable en la práctica porque su respuesta impulsiva, ℎ𝑑 𝑛 , es infinita y no causal. Por lo tanto, el método de diseño de filtros FIR por ventanas se basa en truncar la respuesta al impulso infinita de un filtro ideal con una ventana de longitud finita, 𝑤 𝑛 , obteniéndose una respuesta al impulso finita, ℎ 𝑛 [4]. ℎ 𝑛 = ℎ𝑑 𝑛 × 𝑤 𝑛 (1)

Aplicando la trasformada 𝑍, se obtiene la ecuación del filtro en el dominio z, donde 𝑀 es la longitud de la ventana o cantidad de coeficientes del filtro.

𝐻 𝑧 = ℎ𝑘𝑧−𝑘

𝑀−1

𝑘=0

= ℎ0 + ℎ1𝑧−1+. . +ℎ𝑀−1𝑧

− 𝑀−1 (2)

2.1.1. Ventanas fijas La tabla II muestra las principales características de las ventanas empleadas en función del orden del filtro (𝑁). En este tipo de ventanas los rizados en la banda de paso y en la banda de rechazo no dependen del orden del filtro sino del tipo de ventana. 𝑁 = 𝑀 − 1 (3)

Tabla II. Características de las ventanas más empleadas [5].

Ventana Ancho de transición normalizado ∆𝒇

𝒇𝒎 Atenuación mínima en banda de rechazo [dB]

Rectangular 0,9 / N 21

Hanning 3,1 / N 44

Hamming 3,3 / N 53

Blackman 5,5 / N 75

2.1.1.1. Ventana rectangular Para calcular el orden se hizo uso de las ecuaciones de la tabla II y las especificaciones de la tabla I, obteniéndose un orden de 58.

(a) (b)

Fig. 3. Respuestas en frecuencia para ventana rectangular. (a) En MATLAB. (b) En el kit (*).

Page 3: CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

Luego del proceso de diseño se obtuvo la respuesta en frecuencia de la Fig. 3-a, posteriormente se realizó la implementación en el dispositivo obteniéndose la respuesta en frecuencia que se observa en la Fig. 3-b. Este mismo procedimiento se realizó para el resto de los métodos de diseño que se describen en la Fig. 1.

2.1.1.2. Ventana de Hanning Para calcular el orden se hizo uso de las ecuaciones de la tabla II y las especificaciones de la tabla I, obteniéndose un orden de 199.

(a) (b)

Fig. 4. Respuestas en frecuencia para ventana de Hanning. (a) En MATLAB. (b) En el kit (*).

2.1.1.3. Ventana de Hamming Para calcular el orden se hizo uso de las ecuaciones de la tabla II y las especificaciones de la tabla I, obteniéndose un orden de 212.

(a) (b)

Fig. 5. Respuestas en frecuencia para ventana de Hamming. (a) En MATLAB. (b) En el kit (*).

2.1.1.4. Ventana de Blackman Para calcular el orden se hizo uso de las ecuaciones de la tabla II y las especificaciones de la tabla I, obteniéndose un orden de 352.

(a) (b)

Fig. 6. Respuestas en frecuencia para ventana de Blackman. (a) En MATLAB. (b) En el kit (*).

Page 4: CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

2.1.1.5. Ventana de Bartlett Para esta ventana, teniendo en cuenta que la tabla II no especifica una ecuación para determinar el orden del filtro, se ensayó el mismo con diferentes órdenes hasta encontrar uno que se adecúe a las especificaciones descriptas en la tabla I. Resultando un orden de 720.

(a) (b)

Fig. 7. Respuestas en frecuencia para ventana de Bartlett. (a) En MATLAB. (b) En el kit (*).

2.1.2 Ventana ajustable de Kaiser La ventana ajustable permite diseñar teniendo en cuenta el nivel del rizado en la banda de paso, 𝛿𝑝 , y el del rizado en la banda de rechazo, 𝛿𝑠. Para realizar el diseño es necesario obtener el valor

de 𝛽 a partir de las ecuaciones de diseño [2], obteniéndose un 𝛽 igual a 3,395 y un orden de 144.

(a) (b)

Fig. 8. Respuestas en frecuencia para ventana de Kaiser. (a) En MATLAB. (b) En el kit (*).

2.2. Algoritmo de Remez Con el algoritmo de diseño óptimo es posible obtener un resultado controlado en las frecuencias 𝑓𝑠 y 𝑓𝑝 , así como también obtener un nivel de rizado constante en las bandas de paso y atenuación.

Para el proceso de diseño fue necesario introducir los valores de 𝑓𝑠 y 𝑓𝑝 que se obtuvieron a partir

del sistema de ecuaciones 4.

𝑓𝑐 =

𝑓𝑠 + 𝑓𝑝

2

∆𝐹 = 𝑓𝑠 − 𝑓𝑝

→ 𝑓𝑝 = 875 𝐻𝑧 ; 𝑓𝑠 = 1125 𝐻𝑧 (4)

En el proceso de diseño el orden quedó determinado a partir de los parámetros 𝑓𝑠 , 𝑓𝑝 , 𝛿𝑠 y 𝛿𝑝 .

Page 5: CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

(a) (b)

Fig. 9. Respuestas en frecuencia para algoritmo de Remez. (a) En MATLAB. (b) En el kit (*).

(*)Los niveles de atenuación por debajo de 56dB no pudieron ser medidos con el osciloscopio empleado ya que se alcanza el piso de ruido del mismo

3. Comparaciones 3.1. Comparación entre diseño en MATLAB e implementación Para todos los tipos de filtros se comparó el desempeño en la implementación en el dispositivo con los resultados de diseño obtenidos de “MATLAB”, observando la respuesta en frecuencia y los parámetros característicos. La comparación para la ventana rectangular se muestra en la tabla III.

Tabla III. Comparación de mediciones en MATLAB y en Kit de desarrollo.

Medición MATLAB Kit Unidad

Ancho de lóbulo principal 1160 1158 [Hz]

Ancho del primer lóbulo lateral 246 251 [Hz]

Amplitud del lóbulo Principal 0 0 [dB]

Amplitud Primer lóbulo lateral (δs) -20,18 -22,4 [dB]

Amplitud último lóbulo lateral -40,56 -40 [dB]

Relación amplitud lóbulo principal - primer lóbulo lateral 20,18 22,4 [dB]

Frecuencia de -6 dB 1000 1005 [Hz]

Ancho de banda de transición (ΔF) 261 209 [Hz]

3.2. Comparación entre los tipos de filtros implementados Finalmente se realizó un análisis comparativo entre los diferentes métodos de diseño, enfocado en los parámetros más relevantes, que se resumen en las Fig. 10 a Fig. 14. Dicha comparación se realizó con mediciones en la implementación del filtro en el kit de desarrollo, en los casos en que fue posible (barras llenas), y para los parámetros que no pudieron ser medidos con el osciloscopio se utilizaron datos obtenidos de las respuestas en “MATLAB” (barras rayadas).

Fig. 10. Orden. Fig. 11. Rizado en la banda de paso.

Page 6: CyTAL2014 - Estudio Comparativo Sobre Distintos Tipos de Filtros FIR Implementados en Un DsPIC

Fig. 12. Rizado en la banda de rechazo (**). Fig. 13. Frecuencia de corte.

Fig. 14. Ancho de la banda de transición (**).

(**) Debido al gran nivel de atenuación algunos parámetros no pudieron ser medidos en el laboratorio por ello se muestran los valores que se midieron en “MATLAB”. No obstante, la comparación puede considerarse válida debido a que los resultados reales son muy similares a los obtenidos en “MATLAB”. 4. Conclusión Se observó como principal virtud de los filtros FIR que su implementación en el controlador digital de señales, de longitud finita de palabra de 16 bits [6], no difiere considerablemente de su comportamiento en MATLAB. Si los parámetros de rizado en la banda de paso y la relación de amplitud entre el lóbulo principal y el primer lóbulo lateral son críticos en el diseño, se debería realizar una elección cuidadosa del tipo de ventana fija ya que estos valores son inherentes a la misma. Este problema no se tendría si se emplea un diseño por ventana ajustable o algoritmo óptimo. Observando las primeras cuatro ventanas puede apreciarse que existe una relación inversa entre el ancho de banda de transición y la mínima atenuación en la banda de rechazo. Si la característica más importante del filtro a diseñar es el ancho de banda de transición, es recomendable utilizar la ventana rectangular. Como consecuencia se tendría: una mala relación de amplitud entre el lóbulo principal y el primer lóbulo lateral, un nivel elevado de rizado en la banda de paso, pero se obtendría el beneficio del orden más reducido. En contraste con lo anterior, la ventana de Blackman posee buena atenuación mínima en la banda de rechazo, un pequeño rizado en la banda de paso y una banda de transición amplia. Por último, la implementación por algoritmo de Remez es la que mejor se ajustó a las especificaciones deseadas con el mínimo orden. 5. Referencias [1] MathWorks Inc., MATLAB User Guide, MathWorks. (2010) [2] Airoldi Alejandro A., Saravia Andres R.; Diseñando sistemas embebidos con librerías de microchip 1ed.; Mcelectronics (2012). [3] 16-bit language tools libraries, Microchip (2005) [4] Proakis John G., Manolakis Dimitris G.; Digital Signal Processing 3ed.; Prentice-Hall (1996). [5]Dr. Ing. Victor H. Sauchelli; Apunte Filtros Analógicos y Digitales (2002) [6] dsPIC 33FJ256GP506 Data Sheet, Microchip (2009)