You are on page 1of 6

1

ELO 385 Laboratorio de Procesamiento Digital de Seales

Laboratorio 4: Filtros digitales Parte II


1. Implementacin de filtros IIR: Formas Directas I y II
Existen varios tipos de estructuras para la implementacin de filtros IIR. Considere el siguiente filtro IIR:
[ ]

(1)

Una forma alternativa de escribir una ecuacin de diferencia de un filtro IIR es por medio de 2 funciones
de transferencia individuales en cascada, esto quiere decir:
H ( z ) H1 ( z ) H 2 ( z )

(2)

Donde H1(z) posee slo ceros de H(z) y H2(z) slo polos1.


M

H1 ( z ) bk z

(3)

k 0

H 2 ( z)

1
N

1 ak z

(4)

k 1

Segn sea el orden en que se ubican las funciones de transferencia (3) y (4) se llegar a uno de 2 tipos de
realizaciones en formas directas. La ubicacin de H1(z) antes que H2(z) llevar a la llamada Forma Directa
I, la cual requiere de M+N+1 multiplicaciones y posiciones de memoria, y M+N sumas. Esta
implementacin es la ms intuitiva, ya que el filtro se implementa como su ecuacin de diferencia original,
sin ningn tipo de reordenamiento. Por otro lado, si se ubica H2(z) antes que H1(z), la realizacin obtenida
es conocida como Forma Directa II. En este caso, se requiere de una variable intermedia w(n) para
implementacin del filtro, lo que agrega una nueva ecuacin de diferencia. Como es de esperar, esta
variable adicional slo es una herramienta de implementacin y no genera cambios en el filtro. La principal
ventaja de esta implementacin es que necesita menos posiciones de memoria (usa max{M,N} en vez de
M+N+1), aunque el nmero de multiplicaciones y sumas sigue siendo el mismo. A partir de (3) y (4) se
obtienen las ecuaciones de diferencias correspondientes:

Sin contar con los polos/ceros en el origen en cada caso


Laboratorio de Procesamiento Digital de Seales

UTFSM-2011

Matas Zaartu, PhD

2
N

w( n) x ( n) ak w(n k )
k 1

y ( n) bk w( n k )

(6)

H ( z ) H 2 ( z ) H1 ( z )

(7)

k 0

(5)

H ( z)

W ( z) Y ( z)

(8)

X ( z) W ( z)

Es posible visualizar claramente estas diferencias mediante un filtro IIR de segundo orden. Las Fig. 1 y
Fig. 2 lo muestran uno en su estructura de la Forma Directa I y II, respectivamente.

Fig. 1. Forma Directa I de un filtro de segundo orden IIR.

Fig. 2. Forma Directa II de un filtro de segundo orden IIR.

Laboratorio de Procesamiento Digital de Seales

UTFSM-2011

Matas Zaartu, PhD

2. Implementacin de filtros IIR: Cascadas de segundo orden


Desafortunadamente, las implementaciones de filtros IIR usando Forma Directas tienen la desventaja de
ser altamente sensibles a la cuantificacin de sus coeficientes cuando N es muy grande. Una solucin ms
robusta es implementar los filtros mediante una cascada de filtros de segundo orden.
Considere un filtro IIR de orden superior a 2 con la funcin de transferencia (1). El filtro puede ser
factorizado en la cascada de subsistemas de segundo orden tal que H(z) puede ser expresado como
K

H ( z) H k ( z)

(9)

k 1

donde K es la parte entera de (N+1)/2. Hk tiene la forma general


H k ( z)

bk 0 bk1 z
1 ak 1 z

bk 2 z

ak 2 z

(10)

Como existen muchas formas de manejar los polos y ceros de (9) en secciones de segundo orden, habr
muchas realizaciones en cascada y varias maneras de ordenar los subsistemas resultantes. Aunque todas las
realizaciones en cascada son equivalentes en aritmtica infinita, las diferentes realizaciones difieren
significativamente cuando se implementan con aritmtica de precisin infinita.

La forma general de la estructura en cascada se muestra en la Fig. 3.

x(n) = x1(n)

x2(n)
H1(z)

H2(z)
y1(n)

xK(n)
y2(n)

y(n)
HK(z)

Fig. 3. Estructura en cascada de sistemas de segundo orden.

Laboratorio de Procesamiento Digital de Seales

UTFSM-2011

Matas Zaartu, PhD

3. Diseo de filtros IIR mediante herramientas de MATLAB


Para todos los casos en este punto asuma una frecuencia de muestreo de 8 kHz. Utilice el comando freqz
para obtener la respuesta en frecuencia de sus diseos de filtros.
3.1. Utilizando la funcin ellip de MATLAB disee un filtro de segundo orden para cada uno de los
siguientes casos:
a) Pasa Bajos (fc=1 kHz).
b) Pasa Altos (fc=2 kHz).
c) Pasa Banda (f1=1 kHz, f2=2 kHz).
d) Elimina Banda (f1=1 kHz, f2=2 kHz).
3.2. Disee con el comando Cheby1 y Cheby2 dos filtros Pasa Banda (f1=1 kHz, f2=2 kHz) de
segundo orden y:
a) 2dB para la banda de paso (Cheby1).
b) 20dB de atenuacin (Cheby2)
3.3. Escriba una funcin de MATLAB que permita simular los filtros IIR Chebyshev diseados en el
punto anterior, pero ahora utilizando el esquema de la Fig. 3, i.e., usando una cascada de segundo
orden. Compare sus resultados con un filtrado con respecto a la implementacin anterior, filtrando
un ruido blanco como seal de entrada. Grafique y comente sus resultados. Utilice los comandos
filter

y tf2sos.

3.4. Disee un filtro Butterworth pasabanda con frecuencias entre 400[Hz] y 800[Hz], y de orden 4, 10
y 20. Qu sucede con los polos y ceros del sistema a medida que aumenta el orden del filtro? Qu
implicancias tiene esto en relacin con la implementacin en la tarjeta DSK?

Informe de laboratorio:

Imprima su cdigo de MATLAB y los grficos requeridos. Comente sus observaciones y etiquete sus
grficos adecuadamente.

Laboratorio de Procesamiento Digital de Seales

UTFSM-2011

Matas Zaartu, PhD

4. Comparacin de diseos ptimos de filtros FIR e IIR


Disee filtros IIR del tipo Butterworth, Chebyshev, y Elliptic, junto con un filtro FIR del tipo equiripple en
MATLAB para las siguientes especificaciones de un filtro pasa-bajos:
Passband frequency, Fp = 1.2 kHz
Stopband frequency, Fsp = 2 kHz
Sampling frequency, Fs = 8 kHz
Pass band ripple, Rp = 0.5 dB
Stop band, Rs = 40 dB o mayor
4.1. Use los comandos de MATLAB buttord, cheb1ord, ellipord, and pmord para determiner el orden
ptimo ms bajo par alas especificaciones dadas. Qu filtro IIR tiene el orden ms bajo? Cmo se
compara el orden de los filtros FIR con los IIR?
4.2. Comente las ventajas de cada filtro y presente ejemplos en los cuales sera conveniente usar los
distintos diseos

Informe de laboratorio:

Imprima su cdigo de MATLAB y los grficos requeridos. Comente sus observaciones y etiquete sus
grficos adecuadamente.

Laboratorio de Procesamiento Digital de Seales

UTFSM-2011

Matas Zaartu, PhD

5. Implementacin de filtros FIR e IIR en tiempo real


Para todos los casos en este punto asuma una frecuencia de muestreo de 8 kHz. Aplique una seal de
amplio espectro a travs de la tarjeta de sonido del PC. Esta seal se encuentra en el archivo de sonido
rbu_8kHz.wav

en la pgina web del laboratorio. Observe y analice salida del cdec en funcin de la seal

de entrada. Pruebe los efectos auditivos del filtrado utilizando una seal de entrada del micrfono. Es
posible que deba manipular la amplitud de la seal para una mejor visualizacin y percepcin auditiva de la
seal.
5.1. Implemente los filtros del punto 4.2 de la Parte I del Laboratorio considerando una ventana
rectangular y buffer circular. Compare el desempeo obtenido con lo simulado. Cmo cambia la
frecuencia de corte al variar la frecuencia de muestreo?
5.2. Implemente el filtro de orden 150 del punto 4.4 de la Parte I del Laboratorio y busque el mximo
orden del filtro que pueda implementar con un buffer circular. Compare el desempeo obtenido
con lo simulado. Compare adems estos resultados con los obtenidos utilizando un buffer lineal.
5.3. Implemente los filtros del punto 3.1 de la Parte II del Laboratorio. Compare los resultados con lo
simulado y comente.
5.4. Implemente los filtros Chebyshev obtenidos en el punto 3.2 de la Parte II del Laboratorio en su en
su Forma Directa I. Compare los resultados con lo simulado y comente.
5.5. Implemente los filtros anteriores en su Forma Directa II. Compare los resultados con lo obtenido
anteriormente y comente.
5.6. Implemente los filtros Chebyshev obtenidos en el punto 3.3 de la Parte II del Laboratorio.
Compare los resultados con lo simulado y comente.
Informe de laboratorio:

Imprima su cdigo C/C++ y los grficos requeridos para cada punto. Comente detalladamente sus
observaciones y etiquete sus grficos adecuadamente.

Laboratorio de Procesamiento Digital de Seales

UTFSM-2011

Matas Zaartu, PhD