10. Vigesimotercera clase. Diseño de filtros FIR de fase...

8
Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 1 10. Vigesimotercera clase. Diseño de filtros FIR de fase lineal mediante ventanas De acuerdo con las propiedades de la DTFT vistas en la clase anterior, un sistema LTI con respuesta en frecuencia H(e j ) actúa como un filtro que selecciona las frecuencias de la señal de entrada: Figura 1. Sistema LTI como filtro selectivo en frecuencia Esta selección le permitiría, por ejemplo, dejar pasar sólo las frecuencias bajas (filtro pasa-bajos), sólo las frecuencias altas (filtro pasa-altos), o sólo una banda (filtro pasa-banda). Más aún, podría eliminar una banda (filtro rechaza-banda) o hacer cualquier otra cosa, como muestra la siguiente figura. En ella hemos supuesto que los coeficientes de los filtros son reales (por eso la simetría par) y que tienen fase cero (la respuesta en frecuencia es real). Como la DTFT es periódica, este patrón se repite cada 2 radianes por muestra. Figura 2. Algunos filtros selectivos en frecuencia x[n] h[n] [] [][ ] k yn hkxn k X(e j ) H(e j ) Y(e j )=H(e j )X(e j ) ( ) j LP H e ( ) j HP H e ( ) j BP H e ( ) j BR H e - 0 - 0 1 2 - 2 - 1 - 0 1 2 1 2 - 0 1 2 - 2 - 1 1 2 - 2 - 1 Pasa-bajos Pasa-altos Pasa-banda Rechaza-banda ( ) j He 1 2 1 2 - 0 Otro

Transcript of 10. Vigesimotercera clase. Diseño de filtros FIR de fase...

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 1

10. Vigesimotercera clase. Diseño de filtros FIR de fase lineal mediante

ventanas

De acuerdo con las propiedades de la DTFT vistas en la clase anterior, un sistema LTI con respuesta

en frecuencia H(ej) actúa como un filtro que selecciona las frecuencias de la señal de entrada:

Figura 1. Sistema LTI como filtro selectivo en frecuencia

Esta selección le permitiría, por ejemplo, dejar pasar sólo las frecuencias bajas (filtro pasa-bajos),

sólo las frecuencias altas (filtro pasa-altos), o sólo una banda (filtro pasa-banda). Más aún, podría

eliminar una banda (filtro rechaza-banda) o hacer cualquier otra cosa, como muestra la siguiente

figura. En ella hemos supuesto que los coeficientes de los filtros son reales (por eso la simetría par)

y que tienen fase cero (la respuesta en frecuencia es real). Como la DTFT es periódica, este patrón

se repite cada 2 radianes por muestra.

Figura 2. Algunos filtros selectivos en frecuencia

x[n] h[n] [ ] [ ] [ ]k

y n h k x n k

X(ej) H(ej) Y(ej)=H(ej)X(ej)

( )j

LPH e

( )j

HPH e

( )j

BPH e

( )j

BRH e

- 0

- 0

1 2-2 -1- 0

1 21 2- 0

1 2-2 -1

1 2-2 -1

Pasa-bajos

Pasa-altos

Pasa-banda

Rechaza-banda

( )jH e

1 21 2- 0

Otro

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 2

Por ejemplo, considerando la señal de voz femenina de la segunda clase, la siguiente es una

representación del efecto que tienen un filtro pasa-bajos y un filtro pasa-altos sobre una porción de

la señal. El rango de frecuencias que se muestran corresponde al intervalo [0,] porque, según la

propiedad de conjugación, como la señal es real (y los coeficientes de los filtros son reales), la

magnitud de la DTFT tiene simetría par.

Figura 3. Efecto de pasar una señal de voz por un filtro pasa-bajos y un filtro pasa-altos

Para ver cómo se diseñaron los filtros utilizados en la figura anterior, consideremos un filtro pasa-

bajos ideal con frecuencia de corte c:

1

0

cj

d

c

H e

El subíndice d se refiere a que ésta es la respuesta deseada y nos deberemos aproximar a ella lo más

que podamos. Como Hd(ej

) es la DTFT de la respuesta al impulso del filtro hd[n], podemos

encontrar dicha respuesta al impulso mediante la DTFT inversa:

sin( )1 1 1 1 1

[ ]2 2 2 2

c c cc

cc

jn jnj jn jn jn c

d d

ne eh n H e e d e d e

jn n j n

multiplicando numerador y denominador por c/,

[ ] sincc cdh n n

x[n]

h[n]

g[n]

y[n]

z[n]

Pasa-bajos a 7/30

Pasa-altos a 7/30

0 100 200 300 400 500 600 700 800-1

0

1

x[n

]

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

|X(e

j )|,

|H(e

j )|,

|G(e

j )|

0 100 200 300 400 500 600 700 800-1

0

1

y[n

]

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

|Y(e

j )|,

|H(e

j )|

0 100 200 300 400 500 600 700 800-1

0

1

z[n

]

tiempo n, en muestras

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

|Z(e

j )|,

|G(e

j )|

frecuencia , en radianes por muestra

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 3

¡Y Listo! Hemos diseñado nuestro primer filtro al encontrar la respuesta al impulso de un sistema

LTI que permite pasar todas las frecuencias por debajo de c y bloquea todas las frecuencias por

encima de c. Claro, la forma de convergencia de Hd(ej

) hace que la ganancia en un intervalo

infinitesimal alrededor de las discontinuidades c, no sea uno y cero, aunque el área debajo de la

curva de error es cero: el fenómeno de Gibbs que estudiamos en el contexto de la serie de Fourier.

En efecto, si consideramos que Hd(ej

) es una señal periódica en un dominio continuo, hd[n] es

simplemente su serie de Fourier es un dominio discreto y aperiódico.

Figura 4. Respuesta al impulso y respuesta en frecuencia de filtros h[n]=sinc(n*c/)*c/

Ese fenómeno de Gibbs nos revela un problema con nuestro flamante diseño: La expresión de hd[n]

debe evaluarse para cualquier n entero, lo cual implica que debimos empezar a responder a cada

señal de entrada desde un tiempo infinito antes de que la señal se presentara, y que nunca podremos

dejar de responder: Este es un filtro IIR no-causal cuya respuesta al impulso empieza desde menos

infinito! Sabemos que muchos filtros IIR se pueden implementar de manera recursiva mediante

estructuras ARMA, pero éste no es el caso. Así que nuestro primer filtro digital no es realizable.

Una forma de salir de esta dificultad es truncando la respuesta al impulso entre –N y N para algún

valor de N que nos permita satisfacer las características tolerables del filtro. Esto lo vuelve un filtro

FIR de 2N+1 coeficientes, pero sigue siendo no causal. Lo podríamos volver causal si añadimos un

retardo de N muestras en la respuesta al impulso. La siguiente expresión muestra ambos

procedimientos:

[ ] Filtro ideal IIR no causal (irrealizable)

[ ] [ ] [ ] [ 1] Filtro FIR no causal (irrealizable en tiempo real)

[ ] [ ] [ ] [ 2 1] Filtro FIR causal (realizable en tiempo real)

d

F d

FC d

h n

h n h n u n N u n N

h n h n N u n u n N

Como vimos cuando analizamos la convergencia de la serie de Fourier, truncar la respuesta al

impulso genera oscilaciones alrededor de las frecuencias de corte en la respuesta en frecuencia. Y

según la propiedad de desplazamiento en tiempo, la causalización del filtro genera un cambio lineal

de la fase de la respuesta al impulso. Estos efectos se muestran en la siguiente figura, que se refiere

a un filtro pasa-bajos con frecuencia de corte /2 en el que la respuesta ideal al impulso se trunca

-10 0 10-0.2

0

0.2

0.4

0.6

hd[n], w

c=0.62832

-2 0 2

0

0.5

1

Hd(ejw ), w

c=0.62832

-10 0 10-0.2

0

0.2

0.4

0.6

hd[n], w

c=1.2566

-2 0 2

0

0.5

1

Hd(ejw ), w

c=1.2566

-10 0 10-0.2

0

0.2

0.4

0.6

hd[n], w

c=1.885

-2 0 2

0

0.5

1

Hd(ejw ), w

c=1.885

-10 0 10-0.2

0

0.2

0.4

0.6

hd[n], w

c=2.5133

-2 0 2

0

0.5

1

Hd(ejw ), w

c=2.5133

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 4

entre n=-9 y n=9 para obtener un filtro FIR de 19 coeficientes, y después se causaliza desplazándolo

9 muestras. Como en los casos del filtro ideal y del filtro truncado existe simetría par en la respuesta

al impulso, la respuesta en frecuencia es real pero los cambios de signo se ven como saltos de

radianes en la fase. Los mismos cambios de signo se ven en la fase del filtro causalizado,

superpuestos a un desfase lineal de -9, que corresponde al retardo en la respuesta al impulso.

Figura 5. Filtro pasa-bajos a /2. Ideal, truncado y causalizado

Claro, el último filtro es directamente implementable para ser evaluado en tiempo real, como se

muestra en el siguiente diagrama, en el que hemos aprovechado que varios de los coeficientes de la

respuesta al impulso son cero (sinc(k/2)=0 cuando k es un número par diferente de cero).

Figura 6. Filtro FIR causal pasa-bajos a /2

De ahora en adelante omitiremos el paso de causalización y supondremos que la respuesta en

frecuencia es real. Después de todo, si deseamos implementar el filtro en tiempo real, sólo

necesitamos desplazar la respuesta al impulso con lo que obtendremos un retardo a la salida o, lo

que es lo mismo, una fase lineal en la respuesta en frecuencia.

La siguiente figura permite observar el efecto de truncar la respuesta ideal al impulso, el cual ya

habíamos estudiado en el contexto de la convergencia de la serie de Fourier.

-30 -20 -10 0 10 20 30-0.2

0

0.2

0.4

hd[n] (IIR, no causal)

-30 -20 -10 0 10 20 30-0.2

0

0.2

0.4

hf[n] (FIR, no causal)

-30 -20 -10 0 10 20 30-0.2

0

0.2

0.4

hfc

[n] (FIR, causal)

-3 -2 -1 0 1 2 30

0.5

1

|Hd(ejw )|

-3 -2 -1 0 1 2 30

0.5

1

|Hf(ejw )|

-3 -2 -1 0 1 2 30

0.5

1

|Hfc

(ejw )|

-3 -2 -1 0 1 2 30

1

2

3

fase(Hd(ejw ))

-3 -2 -1 0 1 2 30

1

2

3

fase(Hf(ejw ))

-3 -2 -1 0 1 2 3-30

-20

-10

0

fase(Hfc

(ejw ))

x[n]

y[n]

z-1 z-1 z-2 z-2 z-2 z-2z-2 z-2 z-2 z-2

x[n-2] x[n-4] x[n-6] x[n-8] x[n-9] x[n-10] x[n-12] x[n-14] x[n-16] x[n-18]

b9 b7 b5 b3 b1 b0 b1 b3 b5 b7 b9

bk=sinc(k/2)/2

+ + + + + + + + +

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 5

Figura 7. Respuesta en frecuencia de filtros reales e ideales pasa-bajos a /2

Podemos notar que, a diferencia de la respuesta ideal, las respuestas reales incluyen un rizado en las

bandas pasante y detenida y una banda de transición entre ellas, como se muestra en la siguiente

figura.

Figura 8. Forma general de la respuesta de un filtro pasabajos

Con el diseño que realizamos, el parámetro N nos permite ajustar el ancho de la banda de transición,

pero no nos permite ajustar el rizado en las bandas pasante y detenida porque el fenómeno de Gibbs

implica que 1=2=0.09, independientemente de N. Este efecto se debe a que usamos una ventana

rectangular para truncar la longitud del filtro:

[ ] [ ] [ 1]

[ ] [ ] [ ]r

r d r

w n u n N u n N

h n h n w n

pero podríamos usar otra ventana que reduzca el cambio brusco de uno a cero. Por ejemplo,

consideremos la ventana Hamming, definida de la siguiente manera:

[ ] (0.54 0.46cos( / )) [ ]

[ ] [ ] [ ]h r

h d h

w n n N w n

h n h n w n

0 0.5 1 1.5 2 2.5 3-0.2

0

0.2

0.4

0.6

0.8

1

frecuencia

Respuesta en frecuencia

Ideal

N=29

N=9

N=5

1+1

1-1

2

-2

L Hc

1

H(ej)

0

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 6

La siguiente figura compara las dos ventanas y su efecto en la respuesta en frecuencia del filtro

pasabajos truncado.

Figura 9. Efecto de la forma de la ventana en la respuesta en frecuencia del filtro pasa-bajos FIR

Efectivamente, en comparación con la ventana rectangular, la ventana Hamming reduce el rizado en

la banda pasante y en la banda suprimida, pero a costa de ensanchar la banda de transición. El

diseño de filtros FIR mediante ventanas se limita a escoger la forma de la ventana y su longitud para

que satisfaga los criterios de diseño 1, 2, L y H.

La siguiente es una tabla con algunas ventanas típicas y su efecto sobre un filtro pasa-bajos con

frecuencia de corte /4.La tabla muestra también la magnitud de la respuesta en frecuencia del filtro

pasa-bajos en decibeles, con la intención de ver con mayor claridad el efecto de la ventana. Por

ejemplo, las grandes oscilaciones alrededor de la frecuencia de corte de la ventana rectangular se

deben a la amplitud de cerca de -20.5 dB (una ganancia de 0.095) del primer lóbulo lateral, la cual

sólo se reduce a -40 dB (una ganancia de 0.01) en =. Sin embargo, el primer cruce por cero de

esa respuesta en frecuencia se da en =0.27, que es un valor muy cercano a la frecuencia de corte

/4. Con la ventana Hanning, en cambio, el primer lóbulo lateral tiene una amplitud de -45 dB

(ganancia 0.006), y los demás lóbulos se atenúan rápidamente hasta alcanzar -123 dB en =. Pero

el primer cruce por cero se da en =0.31, indicando un ancho de la banda de transición mucho

mayor. Desafortunadamente, el hecho de que el primer lóbulo tenga una amplitud de -45 dB es el

que determina el parámetro de rizado del filtro, de manera que atenuar tanto las demás frecuencias

de la banda rechazada no parece tan buena idea. Por eso se usa la ventana Hamming, que tiene una

ganancia más pareja en toda la banda rechazada, pero con una amplitud de -55 dB en el lóbulo

principal (ganancia de 0.0018): El rizado se reduce tres veces, aunque en = la amplitud sólo se

haya reducido a -62 dB. El ancho de la banda de transición es semejante al filtro con ventana

Hanning por lo que, normalmente, la ventana Hamming se prefiere a la ventana Hanning. Por

último, la ventana Blackman consigue reducir la ganancia del primer lóbulo lateral a -75 dB

(0.00018) con los mismos 61 coeficientes, pero el primer cruce por cero ocurre en =0.37. Así

pues, entre estas ventanas la preferible parece ser la Hamming, a menos que se requiera un rizado

-30 -20 -10 0 10 20 30

0

0.5

1

n

w[n

]ventana con N=9

Rectangular

Hamming

0 0.5 1 1.5 2 2.5 3

0

0.5

1

H(e

j )

Respuesta en frecuencia con N=9

Rectangular

Hamming

-30 -20 -10 0 10 20 30

0

0.5

1

n

w[n

]

ventana con N=21

Rectangular

Hamming

0 0.5 1 1.5 2 2.5 3

0

0.5

1

H

(ej

)

Respuesta en frecuencia con N=21

Rectangular

Hamming

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 7

muy pequeño y se pueda tolerar una lenta transición entre la banda pasante y la banda rechazada, en

cuyo caso la ventana Blackman sería la adecuada.

Tabla 1. Algunas ventanas y sus efectos en un filtro pasa-bajos a /4

Nombre y

Expresión para w[n], |n|N

Respuesta en frecuencia de un filtro pasabajos de 61

coeficientes (N=30)

Rectangular

1

Hanning

[1+cos(n/N)]/2

Hamming

0.54+0.46cos(n/N)

Blackman

0.42+0.5cos(n/N)+0.08cos(2n/N)

Existen muchas otras clases de ventanas, algunas de ellas, como la ventana Kaiser o la ventana

Tuckey, con parámetros configurables que permiten balancear los compromisos que existen entre la

amplitud del rizado y al ancho de la banda de transición.

La instrucción de matlab h=fir1(N,f) usa el método de la ventana para diseñar un filtro FIR

pasa-bajos con N+1 coeficientes, fase lineal y frecuencia de corte c=f, usando una ventana

-20 -15 -10 -5 0 5 10 15 20

0

0.2

0.4

0.6

0.8

1

0 0.5 1 1.5 2 2.5 3

0

0.2

0.4

0.6

0.8

1

H(e

j )

filtro pasabajos con ventana Rectangular

0 0.5 1 1.5 2 2.5 3-120

-100

-80

-60

-40

-20

0

20lo

g10|H

(ej

)|

filtro pasabajos con ventana Rectangular

-20 -15 -10 -5 0 5 10 15 20

0

0.2

0.4

0.6

0.8

1

0 0.5 1 1.5 2 2.5 3

0

0.2

0.4

0.6

0.8

1

H(e

j )

filtro pasabajos con ventana Hanning

0 0.5 1 1.5 2 2.5 3-120

-100

-80

-60

-40

-20

0

20lo

g10|H

(ej

)|

filtro pasabajos con ventana Hanning

-20 -15 -10 -5 0 5 10 15 20

0

0.2

0.4

0.6

0.8

1

0 0.5 1 1.5 2 2.5 3

0

0.2

0.4

0.6

0.8

1

H(e

j )

filtro pasabajos con ventana Hamming

0 0.5 1 1.5 2 2.5 3-120

-100

-80

-60

-40

-20

0

20lo

g10|H

(ej

)|filtro pasabajos con ventana Hamming

-20 -15 -10 -5 0 5 10 15 20

0

0.2

0.4

0.6

0.8

1

0 0.5 1 1.5 2 2.5 3

0

0.2

0.4

0.6

0.8

1

H(e

j )

filtro pasabajos con ventana Blackman

0 0.5 1 1.5 2 2.5 3-120

-100

-80

-60

-40

-20

0

20lo

g10|H

(ej

)|

filtro pasabajos con ventana Blackman

Universidad Distrital Francisco José de Caldas - Análisis de Señales y Sistemas - Marco A. Alzate 8

Hamming. Se pueden definir múltiples bandas y escoger diferentes ventanas. Use >>help fir1

para ver los detalles.