Teoría de los Circuitos II
Filtros Digitales
Diseño de una filtro digital IIR con Matlab
Un
f i lt lt r o
f il i l tr tr o
a na n a ló l ó gi g i co co
frecuencia
de
d e sn s n o rm r m a li li z a la
d i gi g i t al al
se
n or o r ma m a li l i za z a do do corte
e s te te
frecuencia
ob ob t ie ie n e
de
a
1),
a n al a l ó gi g i c o, o,
corte
p ar a r t ir ir
de
p as a s ab a b aj a j os o s (c ( c on on
igual
m o de de l o
a
un u na na
luego
se
en
f u nc n c i ón ón
de
y
luego
se
deseada
transforma este resultado al dominio digital. Para
el
diseño
n o r m a li li z a d o d e función
de
un
B u t e r wo wo r t h d e
buttap(n),
Chebychev
y
donde
filtro orden n
analógico u t i l iz iz a m o s l a
cheb1ap(n,rp) rp
es
el
para
un
valor
del
ripple(expresado en decibeles) que deseamos para la banda de pasante. El
segundo
frecuencia p as a s ab a b aj aj os os .
del
es
modelo
M at a t la la b
l p 2 l p (n (n u m , d en en , w o ) p a sa s a a lt l t o s, s,
paso
la
normalizado
p er e r m it it e a
transformación
l le l e va va r
p a s a ba ba j o s ,
analógico m is is m o
a
s u p r es es o r d e
p a sa s a b an an d a
con
banda donde
num
s o n e l n u m e r a d o r y d e n o m i n ad ad o r d e l a
cuyos
polos
ceros
o b t u v i mo mo s
a
y
y den
y
co n
l p 2 h p( p ( n u m , de de n , w o )
l p 2b 2 b p (n ( n u m, m , d en e n , wo w o , Bw Bw )
l p 2 b s (n (n u m , d en e n , w o ,B ,B w ) a
el
en
f u n c ió ió n
a n t e r i o r me me n t e ,
wo
es
la frecuencia corte. En el caso del pasabanda y el supresor de banda es igual a:
wo
1
=
w1 ⋅ w2
UTN-Facultad Regional Paraná
Teoría de los Circuitos II
Filtros Digitales
y
Bw
=
w2
−
w1
En
el
tercer
caso
u t i li z a m o s
b i l i n ea r ( n u m ,d e n , f s, f c ) ,
l o g r a nd o
la
fu n c i ó n
con
e s ta
transformar la función de transferencia al dominio del tiempo discreto, y obtener así, los valores de los
c o ef i c i e n te s
e cu ac ió n
q ue
r ec ur si va ,
f r ec u en c ia
de
nos
p ar a
m u es t re o
es
pe r m i t a n
p ro ce sa r fs
y
fp
la
formar s eñ al .
la La
es la frecuencia
de corte del filtro.
E j em p lo
de
p r og r am a
b á si c o
para
el
c a lc u lo
de
un
filtro pasabajos digital de Buterworth de orden n:
clc n=input( 'Ingrese el orden del filtro n= ' ); [z,p,k]=buttap(n); [num,den]=zp2tf(z,p,k); hn=tf([num],[den]) fc=input( 'Ingrese la frecuencia de corte fc= ' ); wc=2*pi*fc; [numt,dent]=lp2lp(num,den,wc); ht=tf([numt],[dent]) fs=input( 'Ingrese la frecuencia de muestreo fs= ' ); [numd,dend]=bilinear(numt,dent,fs,fc); hiir=tf([numd],[dend],fs)
2
UTN-Facultad Regional Paraná
Teoría de los Circuitos II
P ar a f c
=
un
de
o rd en
2
y
f re cu en ci a
y una frecuencia de muestreo igual
500 H z
hiir =
f il tr o
Filtros Digitales
de f s
c or te 2500 Hz
=
0.2066 z ^ 2 + 0.4131z + 0.2066 z ^ 2 − 0.3695 z + 0.1958
La ecuación de recurrencia queda:
hiir =
y (n) x( n)
=
0.2066 z ^ 2 + 0.4131 z + 0.2066 z ^ 2 − 0.3695 z + 0.1958
y ( n) = 0.2066 ⋅ x( n)
Diseño
de
+
filtros
E x is t en d ig it al
0.4131 ⋅ x( n −1) + 0.2066 ⋅ x( n − 2)
no
FIR
v a ri o s
con
0.3695 ⋅ y( n −1) −0.1958 ⋅ y( n −2)
Matlab
m é to d os
r ec ur si vo s.
+
p a ra
El
d i se ñ ar
p ri nc ip al
tratar de determinar la respuesta en filtro para luego determinar filtro
m e d i a n te
la
se
in
f i lt r o
b as a
en
frecuencia del
los coeficientes
t r a n s fo r m a d a
in v e r s a
del de
Fourier.
•
P r o c es o
de
D i se ñ o
de
F il t r o s
FIR
por
este
método:
N o r ma l i z a c ió n
de
f r e c ue n c i a s
p or
frecuencia de muestreo.
3
UTN-Facultad Regional Paraná
la
Teoría de los Circuitos II
Filtros Digitales
Conversión
de
especificaciones
a
la
de
un
impulso
de
Prototipo de Filtro Pasabajo.
Truncamiento un
f il tr o
de
la
i de al
respuesta
a
a
h[n ] = 2 FC sin c(2nFC )
h N [n]
de
longitud N. El orden del filtro es N-1.
S e le c ci o na r
una
v e nt a na
para obtener
de
N
p un to s
hw [ n] = hN [n ] ⋅ w[ n]
Convertir del prototipo de filtro Pasabajo al filtro deseado
w[ n]
Retrasar
h F [n]
h F [ n] .
para asegurarse que el filtro
es causal.
Matlab
dispone
de
una
función
Fir1,
la
cual
da
los coeficientes del filtro pasabajo buscado
b = fir1( N ,W N , ventana( N + 1))
Donde
W N
corresponde a la frecuencia de corte del
filtro digital. Este valor debe estar entre 0 y 1, c o rr e sp o nd i en d o
a
1
la
m i ta d
de
la
f r ec u en c ia
de
muestreo. Algunas de las ventanas que se pueden utilizar son:
4
-
Boxcar
-
Bartlett
-
Hamming
-
Hanning
-
Blackman
UTN-Facultad Regional Paraná
Teoría de los Circuitos II
Filtros Digitales
La ventana por defecto es la ventana de Hamming. Se d i s p o ne
t a mb i é n
para
el
c a l cu l o
de
filtros
pasaaltos,
b = fir1( N ,W N , ventana( N + 1),' high ')
Para un pasabanda,
b = fir1( N ,[ w1 − w2 ], ventana( N + 1))
clc N=input( 'Ingrese orden del filtro N= ' ); f c = i n p u t ( ' I n g r e s e f r e c u e n c i a d e c o r t e f c = ' ); fm=input( 'Ingrese frecuencia de muestreo fm= ' ); wn=fc/(fm/2); b=fir1(N,wn,boxcar(N+1)); a=1; hfir=tf([b],[a],fm)
Por para
e j em p lo un
si
filtro
se
d e se a
pasabajos
o b te n er de
orden
los 10
c o e f i ci e nt e s y
frecuencia
de corte de 1000Hz y una frecuencia de muestreo de 12000Hz, y se lo hace pasar por una ventana Boxcar.
0.02711 z ^10 + 0.05868 z ^ 9 + 0.09035 z ^8 + 0.1174 z ^7 + 0.1355 z ^6 + 0.1419 z ^5 + 0.1355 z^ 4 + 0.1174 z ^ 3 + 0.09035 z^ 2 + 0.05868 z + 0.02711
5
UTN-Facultad Regional Paraná
Teoría de los Circuitos II
6
Filtros Digitales
UTN-Facultad Regional Paraná