Filtros Digitales Fir

download Filtros Digitales Fir

of 41

Transcript of Filtros Digitales Fir

TRANSFORMADA DE FOURIER

5

FILTROS DIGITALES FIR.

Filtro digital FIR. Diseo de Filtros FIR usando diferentes mtodos. Ejemplos de Programacin.

Los filtros digitales han venido remplazando a los filtros anlogos en una gran variedad de aplicaciones industriales. La comodidad del diseo, as como la calidad de la respuesta en frecuencia hacen de este tipo de herramientas una posibilidad excelente para el procesamiento digital de seales. Existen una gran variedad de mtodos de diseo de este tipo de filtros, as como la posibilidad de implementarlos muy fcilmente en un dispositivo digital como un DSP u otro elemento que permita realizar el algoritmo de convolucin, ya que bsicamente un filtro FIR es el proceso de convolucin entre dos vectores.

5.1 INTRODUCCION.

Una de las principales aplicaciones que se tiene en el procesamiento de seales es precisamente los filtros. Un filtro es un sistema que tiene la capacidad de tener diferentes comportamientos dependiendo la frecuencia de la seal de entrada. Un filtro digital es bsicamente una ecuacin de diferencias finitas que permite generar un comportamiento a la salida en forma variable dependiendo el espectro de frecuencia.

El ancho de banda (BW) se define como el espectro de frecuencia sobre el cual el filtro permite tener alguna respuesta. Es importante saber que para que haya un funcionamiento ptimo, la seal de entrada debe tener una BW limitado, es decir que se conozca la mxima frecuencia de entrada, para poder determinar la Frecuencia de Muestreo () necesaria para cumplir con Nyquist. Si eventualmente la seal de entrada no tuviera una frecuencia mxima conocida, o si por limitaciones de Hardware se tuviera una restriccin en cuanto a la , se hace necesario limitar el BW a la entrada con un filtro anlogo, tal y como se muestra en la figura 5.1.

Como puede observarse en dicha figura, la seal de entrada tiene un espectro de frecuencia mayor que , razn por la cual se debe aplicar un filtro pasabajo que limite el ancho de banda final hasta , para evitar el fenmeno de aliasing[footnoteRef:1], es decir frecuencia por encima de la frecuencia mxima permitida, que en un sistema de procesamiento digital va a generar seales indeseables. [1: Aliasing: Frecuencias no deseadas que aparecen cuando la seal digitalizada es ms alta que la mitad de la frecuencia de muestreo.]

Figura 5.1

Dentro de los diseos e implementaciones de filtros digitales existen bsicamente dos opciones, dependiendo de la respuesta que tenga el sistema al impulso unitario. De ah que se clasifiquen en filtros FIR o IIR, segn sea que tengan repuesta finita al impulso o respuesta infinita al impulso unitario. En la siguiente seccin se describir detalladamente el concepto de repuesta al impulso unitario.

5.2 RESPUESTA AL IMPULSO UNITARIO.

Un sistema digital bsico tiene una entrada tradicionalmente llamada x[n] y una salida y[n]. Tanto x[n] como y[n] son seales discretas, las cuales son representadas por vectores unidimensionales. Si el sistema se excita a la entrada por un impulso unitario , el sistema tendr a la salida una respuesta nica a esta excitacin, la cual es llamada como Respuesta al Impulso Unitario o h[n]. El impulso unitario se representa matemticamente como:

(5.1)

O

Ejemplo 5.1

Hallar la respuesta al impulso unitario en el siguiente sistema:

Figura 5.2

Como podemos observar, el sistema descrito en la figura 5.1 puede ser representado por la siguiente ecuacin de diferencias:

O simplificando

De tal forma que se remplazamos a x[n] por tenemos que:

O equivalente a

5.2.1 Respuesta Finita al Impulso Unitario FIR.

Si se analiza el ejemplo 5.1 se puede observar que el vector h[n], el cual representa la salida o respuesta al impulso unitario, tiene una longitud finita, es decir que luego de algunos datos el sistema queda permanentemente en un valor de 0, con lo cual se puede decir que el vector h[n] es un vector de longitud finita, en el caso del ejemplo, de longitud 2. Si se tiene este comportamiento se dice que el filtro es tipo FIR, esto es, Filtro de Respuesta Finita al Impulso Unitario.

Todos los filtros que no tienen realimentacin, es decir, que en la ecuacin de diferencias solamente dependen de componentes retrasadas de x[n], y no de valores de , para cualquier k, se denominan filtros FIR, ya que siempre llegarn a un valor estable en 0. Ahora bien, un filtro realimentado, es decir que dependa de algn componente , puede tambin llegar a ser un filtro FIR, sin embargo en el presente texto se considerar como regla general solamente los sistemas no realimentados para efectos de anlisis de filtros FIR.

5.2.2 Respuesta Infinita al Impulso Unitario IIR.

Si un filtro al ser excitado a la entrada con un impulso unitario presenta a la salida un vector y[n], el cual tiene longitud infinita, es decir, que nunca va a llegar a estar estable en 0, se le denomina Filtro de Respuesta Infinita al Impulso Unitario IIR. Para que un filtro se comporte de esta forma, necesariamente debe estar realimentado, es decir, debe depender tanto de , como de .

Ejemplo 5.2

Considere el siguiente sistema, y analice el comportamiento para cuando la entrada x[n] es un impulso unitario.

Figura 5.3

La ecuacin de diferencias que representa el sistema discreto descrito en la figura 5.3 es:

En la siguiente tabla se tabula todo el comportamiento del sistema cuando es excitado con un impulso unitario.

n01234

X[n]10000

Y[n-1]01

Y[n]1

Tabla 5.1

De tal forma que la respuesta al impulso h[n] queda como:

Esta ecuacin siempre ser diferente de 0, con lo cual se puede decir que tiene una longitud infinita, por tal razn dicho filtro se puede considerar un filtro IIR.

5.3 FORMA CANONICA DE UN FILTRO FIR.

Un filtro FIR tiene una representacin cannica tanto en forma grfica, en forma de ecuacin de diferencias y en forma de Funcin de Transferencia (En funcin de la transformada Z).

La ecuacin general en forma de diferencias finitas est dada por:

Donde h (k) corresponden a los coeficientes propios del filtro, los cuales son funcin de:

Frecuencia de Muestreo Tipo del filtro (LPF, HPF, BPF o SBF)[footnoteRef:2] [2: LPF = Filtro Pasa bajo, HPF = Filtro Pasa alto, BPF = Filtro Pasa banda y SBF = Filtro de Rechazo]

Frecuencias de corte ()

Y N es el orden del filtro, el cual al ser bastante grande genera un mayor grado de selectividad en el filtro.

En una seccin posterior se analizar la forma de calcular los coeficientes caractersticos del filtro. Como se puede observar, la ecuacin descrita anteriormente corresponde a la multiplicacin de dos vectores, uno que corresponde a los coeficientes, el cual no cambia durante todo el proceso, mientras que el otro, el de , va cambiando a medida que avanza el tiempo y representa las ltimas k muestras que el sistema ha tomado de la seal de entrada. Es decir, que la salida actual depende de las ltimas k muestras de entrada solamente y no depende de algn estado previo de salida, lo cual obligara a tener un sistema realimentado.

Otra forma de observar el sistema FIR es a travs de una forma grfica. En la figura 5.4 podemos observar la topologa para este sistema:

Figura 5.4 Forma Cannica de un filtro FIR.

Por ltimo, se representa el sistema en forma de su Funcin de Transferencia en el dominio Z, es decir en el dominio de la frecuencia discreta, de la siguiente forma:

Siendo

En donde se observa que la Funcin tiene la misma cantidad de ceros y polos, estos ltimos ubicados todos en el origen, evitando la posible realimentacin en el sistema, aspecto que si sucede en un filtro IIR, tal y como se observar en el siguiente captulo.

5.4 RESPUESTA EN FRECUENCIA DE UN FILTRO FIR.

La transformada Z de h[n] es H(z), la cual representa la funcin de transferencia del sistema. Ahora bien, por definicin tenemos que

Siendo T el periodo de muestreo del sistema.

Si se remplaza a Z por su representacin en frecuencia, tenemos la respuesta en frecuencia del sistema. En el siguiente ejemplo podemos observar el comportamiento de su sistema FIR en el dominio de la frecuencia.

Ejemplo 5.3

Determinar el comportamiento del sistema descrito en la figura 5.5 en el dominio de la frecuencia.

Figura 5.5

La ecuacin de diferencias para el sistema descrito en la figura anterior es:

Aplicando la transformada Z tenemos

Remplazando z por

O

Donde la Magnitud est dada por:

Y la fase

La grfica para el sistema se muestra en la figura 5.6, teniendo como frecuencia de muestreo = 1800 Hz.

Figura 5.6 Respuesta en Frecuencia para el ejemplo 5.3

Se tiene que el filtro rechaza la componente de 600 Hz, dejando pasar las bajas frecuencias. Adems se puede observar que la fase del sistema es lineal, aspecto que es tpico dentro de los criterios de diseo de los filtros digitales.

5.5 DISEO DE UN FILTRO FIR POR EL METODO DE CEROS.

En el plano complejo Z se tiene el crculo unitario (radio r = 1), el cual determina la regin de convergencia de un sistema o filtro digital. Sobre el crculo se pueden ubicar los ceros de la funcin de transferencia H (z), teniendo en cuenta que se conoce la Frecuencia de Muestreo , la relacin entre el ngulo del crculo y la frecuencia de muestreo est dada por:

Donde es la frecuencia donde se ubicar el cero de la funcin de transferencia. En la figura 5.7 se observa claramente la distribucin:

Figura 5.7

Como se sabe, un cero en una funcin de transferencia hace que el sistema tenga una atenuacin completa en ese punto, y como la funcin de transferencia est en funcin de la frecuencia, se infiere que en dicha frecuencia especfica existir un rechazo completo.

5.5.1 Diseo de un Filtro Pasa Bajo.

Teniendo en cuenta que en un filtro digital la frecuencia es peridica con periodo , se contempla el recorrido desde hasta , para tener una simetra en el diseo, y as evitar el trabajar con valores complejos, dado que se tienen los complejos conjugados para efecto de diseo. Las altas frecuencias estn ubicadas en la cercana de , por tal razn se ubicar en dicho punto un cero, en el plano completo es -1+0j, para obligar al sistema que en esas frecuencias tenga como respuesta 0. Igualmente se tiene como condicin de diseo para este tipo de filtros, que el nmero de ceros de la funcin de transferencia sea igual al nmero de polos para evitar tener seales adelantadas en el tiempo. Otra condicin de diseo es que todos los polos estn ubicados en el origen, o de lo contrario el sistema genera una realimentacin, con lo cual no se garantiza que la respuesta al impulso unitario sea finita.

En consecuencia tenemos que la funcin de transferencia para un filtro de primer orden (un solo cero), estar dada por:

Como

Entonces

O

Y para un filtro de segundo orden (dos ceros en ) se tiene:

O equivalente a:

Como

Entonces

Y aplicando la transformada inversa tenemos

En las figuras 5.8 y 5.9 se pueden observar las respuestas a cada sistema en funcin de la frecuencia.

Figura 5.8 Respuesta al sistema de primer orden.

Figura 5.9 Respuesta al sistema de segundo orden.

En los dos casos se observa una ganancia de 2 y 4 respectivamente, la cual es normalizada en la ecuacin final. Igualmente se observa que la respuesta de la fase es lineal, lo cual es una caracterstica tpica de los filtros FIR. El sistema de segundo orden muestra un mayor grado de selectividad. Si se incrementara el orden del filtro se puede observar que el sistema se vuelve mucho ms selectivo, pero no se puede parametrizar la frecuencia de corte, lo cual no lo haca muy til en muchos casos.

5.5.2 Diseo de un Filtro Pasa Alto.

Siguiendo los mismos criterios utilizados en el tem anterior, se puede considerar el diseo de un filtro pasa alto, excepto que en este caso el o los ceros estarn ubicados en 0 Hz, es decir sobre el plano completo el punto es 1+0j. Con este criterio se busca que para las bajas frecuencias haya una atenuacin, mientras que para las frecuencias que estn en cercanas de haya un paso total de la seal. Por lo dems, se mantiene el hecho de igualdad de ceros y polos, estos ltimos ubicados en el origen (0+0j).

La funcin de transferencia est dada por:

Mientras que la ecuacin de diferencias es:

Y para un filtro de segundo orden (dos ceros en ) se tiene:

Con ecuacin de diferencias:

Al igual que en el caso anterior, se presenta la respuesta en frecuencia tanto en amplitud como en fase para los dos sistemas de 1 y 2 orden respectivamente.

Figura 5.10 Respuesta al sistema de primer orden.

Figura 5.11 Respuesta al sistema de segundo orden.

5.5.3 Diseo de un Filtro Pasa Banda.

Para el caso de un filtro pasa banda se tiene que tanto a bajas como a altas frecuencias el sistema debe tener su mxima atenuacin, dejando pasar frecuencias intermedias. Por tal razn la ubicacin de los ceros se establecern en 0 Hz y en , es decir sobre el plano complejo en 0+1j y 0-1j.

La funcin de transferencia est dada por:

O equivalente a:

Como

Entonces

Mientras que la ecuacin de diferencias es:

Para este caso, ya que deben existir mnimo dos ceros, no se puede tener un sistema de primer orden.

En la figura 5.12 se observa la respuesta en frecuencia para la amplitud y fase.

Figura 5.12 Respuesta al sistema Pasa Banda de segundo orden.

En este caso, la frecuencia intermedia no puede ser controlada y siempre quedar en .

5.5.4 Diseo de un Filtro Rechazo de Banda.

Para el diseo de un filtro de rechazo de banda es indispensable saber exactamente donde ubicar el cero del rechazo, por lo cual la frecuencia es importante conocerla. De acuerdo a dicha frecuencia se calcula el ngulo con la ecuacin xxx. En la figura 5.13 se describe la ubicacin de los ceros, ya que se debe tener en cuenta el cero del complejo conjugado para evitar tener componentes complejas en la funcin de transferencia.

Figura 5.13 Plano Z con la ubicacin de los ceros en un Sistema Rechazo de Banda.

En la figura se puede observar que se ubican dos polos en el origen para mantener el criterio de la misma cantidad de ceros y de polos.

La funcin de transferencia queda:

O equivalente a:

Mientras que la ecuacin de diferencias es:

En la figura 5.14 se observa la respuesta en frecuencia para la amplitud y fase.

Figura 5.14 Respuesta al sistema Rechazo de Banda de segundo orden.

5.6 DISEO DE UN FILTRO FIR POR EL METODO DE FOURIER.

Partiendo del hecho de que la frecuencia en un filtro digital es peridica con periodo, se puede disear un filtro digital teniendo como espacio valido en frecuencia desde hasta . En consecuencia se puede tener como condicin en el diseo la repeticin peridica del comportamiento del filtro tal y como se observa en la figura 5.15.

Figura 5.15 Respuesta en frecuencia de un filtro pasa bajo ideal.

El filtro se disea en forma simtrica sobre el eje de 0 Hz, con repeticin en cada mltiplo de . No hay problema en el comportamiento del filtro para esas frecuencias, ya que por el teorema de Nyquist no puede existir seales mayores a , razn por la cual la frecuencia de inters para el sistema es de 0 Hz hasta .

Se puede observar que es una onda cuadrada peridica con periodo , con la frecuencia como abscisa, por lo cual se puede aplicar la transformada inversa de Fourier. En tal sentido la funcin de transferencia se puede representar como:

Con los coeficientes definidos de la forma:

Como puede observarse en la ecuacin (5.23), la serie de va desde hasta , con lo cual se volvera un filtro de orden infinito, razn por la cual se vuelve inmanejable el diseo y la implementacin del mismo en un dispositivo digital o de software. Para subsanar este problema, dicha ecuacin se trunca a un valor de tamao N, el cual ser el orden del filtro final. Para evitar problemas de valores finales complejos, dicho truncamiento se realiza en forma simtrica sobre el valor de 0, es decir, entre hasta , con lo cual se contemplan los complejos conjugados en el momento de los clculos finales. De esta forma la nueva ecuacin de la funcin de transferencia queda de la forma:

Al calcular los coeficientes con la ecuacin (5.24), se tendran ndices negativos y positivos, razn por la cual se presentan inconvenientes al hacer el calculo de la convolucin, que en definitiva es el procedimiento para implementar el filtro, ya que la ecuacin de diferencias para un filtro FIR estar dado por:

Para realizar el ajuste se propone hacer un desplazamiento de los coeficientes , de la siguiente forma:

Ejemplo 5.4

Calcular los coeficientes paras un filtro Pasa Bajo, con , y orden N=11.

Para el caso de n=0, aplicando LHopital, se tiene que .

En consecuencia los coeficientes finales para el filtro del ejemplo estn dados por:

Aplicando dichos coeficientes a un software de simulacin del comportamiento del sistema, se tiene la siguiente grfica:

Figura 5.16 Respuesta en frecuencia del filtro del ejemplo 5.4

Aplicando los mismos principios del filtro Pasa bajo de la figura 5.15, se tienen las siguientes grficas ideales de la funcin de transferencia para los filtros Pasa Alto, Pasa Banda y Rechazo de Banda.

Figura 5.17 Respuesta en frecuencia del filtro ideal Pasa Alto.

Figura 5.18 Respuesta en frecuencia del filtro ideal Pasa Banda.

Figura 5.19 Respuesta en frecuencia del filtro ideal Rechazo de Banda.

Ahora bien, si se sigue la norma de integracin del ejemplo 5.4, se tienen las siguientes ecuaciones generales para cada uno de los cuatro filtros tpicos enunciados anteriormente.

Tipo de FiltroEcuaciones generales

Filtro Pasa bajo.

Filtro Pasa Alto.

Filtro Pasa Banda.

Filtro Rechazo de Banda.

Tabla 5.2 Ecuaciones Generales de los coeficientes de los cuatro filtros tpicos.

5.7 ENVENTANADO DE FILTROS FIR.

Si se tiene en cuenta que en este tipo de diseo, se parte del comportamiento de una onda cuadrada y su representacin en series de Fourier, al hacer el truncamiento obviamente aparece el fenmeno de GIBBS, el cual consiste en las ondulaciones de la onda, producto de no calcular todas las componentes espectrales. A medida que el filtro es de menor orden, dicha ondulacin se hace ms notoria, tanto en la parte de paso del filtro como en la parte de atenuacin del mismo. En ese sentido existen varios estudios para disminuir ese nivel de ondulacin a travs de las funciones de ventana o simplemente el efecto de enventanado.

5.7.1 Ventana de Hamming.

La ventana de Hamming est dada por:

Calculando los coeficientes la ventana de Hamming y los coeficientes h[n], se tiene que:

Siendo los coeficientes finales aplicables al filtro.

Ejemplo 5.5

Aplicar la ventana de Hamming a los coeficientes del ejemplo 5.4 y realizar la grfica de respuesta en frecuencia.

Los coeficientes iniciales del filtro son:

Y los coeficientes de Hamming, aplicando la ecuacin (5.26) son:

Al multiplicar los dos vectores tenemos:

Aplicando dichos coeficientes a un software de simulacin del comportamiento del sistema, se tiene la siguiente grfica:

Figura 5.20 Respuesta en frecuencia del filtro del ejemplo 5.5

En esta figura se puede observar las diferencias respecto a la figura 5.14, en la cual no existe el proceso de enventanado.

5.7.2 Ventana de Blackman.

La ventana de Blackman est dada por:

Calculando los coeficientes la ventana de Blackman y los coeficientes h[n], se tiene que:

Siendo los coeficientes finales aplicables al filtro.Si se aplican estos coeficientes a los criterios del ejemplo 5.4 tenemos la siguiente respuesta en frecuencia:

Figura 5.21 Respuesta en frecuencia del filtro del ejemplo 5.4 con Ventana de Blackman.

Se puede observar que este ltimo filtro tiene un descenso menos fuerte que el de Hamming.

5.8 APLICACIN SOBRE EL DSK 6713.

Haciendo uso del DSK6713 de Texas Instruments como herramienta de Hardware, y la plataforma de desarrollo Code Composer Studio V3 propiedad de Texas Instruments, se desarrollarn las siguientes aplicaciones para la implementacin de un filtro FIR en un ambiente de tiempo real.

Se tienen diversas opciones, tales como la captura desde un conversor anlogo a digital con salida sobre un conversor anlogo a digital, desarrollando el algoritmo en lenguaje C, en Assembler o con uso de libreras propias del fabricante, hasta tener la posibilidad de simular la seal de entrada a travs del propio cdigo interno del programa, o desde un archivo almacenado en memoria del Computador, para poder descargarlo a una direccin fsica del DSP.

5.8.1 Programacin en C con seal simulada en el programa.

En el presente apartado se describir la forma como se puede implementar un filtro FIR aplicado a una seal senoidal, previamente generada dentro del mismo programa. El usuario final podr cambiar los parmetros de la seal (frecuencia y amplitud) para poder observar el comportamiento del filtro a distintas frecuencias de entrada y poder comprobar si efectivamente el filtro tiene la respuesta para el cual fue diseado. Adicionalmente, se podrn cambiar algunos parmetros del filtro, tales como el tipo del filtro (LPF, HPF, BPF, SBF), frecuencia de corte baja , frecuencia de corte alta , orden del filtro N, seleccin de respuesta al filtro sin ventana, con ventana de Hamming o con ventana de Blackman.

El programa fue creado sobre el editor de CCS V3, y el comportamiento del mismo se visualiza sobre las diferentes ventanas grficas que aporta dicha plataforma de desarrollo.

//Fir.c Filtro FIR aplicado a una seal seno generada internamente#include short x [1500], y[1000];// Reserva espacio en memoria para la seal de entrada y salidafloat h[500];// Reserva espacio en memoria para los coeficientesshort N=101;// Inicializa el orden del filtro inicial en 101short Fs = 10000;// Inicializa la frecuencia de muestreo en 10000 Hz.short Fl = 1000;// Inicializa la frecuencia de corte en 1000 Hz.short Fh = 1500;// Inicializa la frecuencia de corte en 1000 Hz.short sel = 0;// Inicializa el tipo del filtro en LPFshort f = 100;// Inicializa la frecuencia de la seal de entrada en 100 Hz.short amp = 1000;// Inicializa la amplitud de la seal de entrada en 1000short ven = 0;// Inicializa sin ventana. Con 1 selecciona Hamming. Con 2 selecciona Blackman.

short i, n, k;float r;

void main() {while (1){// Comienzo generacin de la seal seno for (i=0; i