Filtros Digitales IIR

Download Report

Transcript Filtros Digitales IIR

PROCESAMIENTO
DE SEÑALES
Universidad Técnica
Particular de Loja
Escuela de Electrónica
y Telecomunicaciones
Carlos Carrión Betancourth
EQBYTE.INC
[email protected]
Presentación
• Objetivo general
Presentar una introducción a los filtros IIR, sus características, y
sus métodos de diseño.
• Temática
 Introducción a los filtros IIR
 Método Invariante al Impulso
 Transformada Bilineal
• Metodología
Se realizará presentaciones, se hará discusión sobre el tema de
presentación, se realizará prácticas con Matlab/Simulink y
elementos relacionados.
Contenido de la presentación
• Introducción a los filtros IIR.
• Característica Básicas
• Métodos de diseño de filtros IIR
– Método invariante al impulso
– Transformación bilineal
Filtros IIR
• Filtros análogos a digitales
– Método invariante al impulso
– Transformación bilineal
Filtros análogos
Butterworth (butter)
Elíptico (ellip)
Filtros análogos
Chebyshev tipo I
Chebishev tipo II
Filtros análogos
Bessel
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
• Filtros IIR
– Transformación bilineal
– Método invariante al impulso
LPF fc = 2kHz Orden 5
2 z 1
s
T z 1
  2 tan
1
WT
2
Frecuencia de corte digital es:
wc = 2p(2000/20000) = 0.2 p
La frecuencia de corte análoga se halla con la ecuación:
Wc = (2/T)tan(wc/2)
(3.1)
Wc = (2/T)tan(0.2p/2) = (2/T)tan(0.1p)
Wc = 0.6498/T
El valor T puede ser arbitrario, se toma T=1
Wc = 0.6498
LPF fc = 2kHz Orden 5
Se calcula en Matlab un filtro Butterwoth análogo
con Wc = 0.6498, de orden n=5 con la función:
[num,den] = butter(n,Wn,'s')
[num,den] = butter(5,0.6498,'s')
La función de transferencia es:
b(1)s  b(2)s  b(3)s  b(4)s  b(5)s  b(6)
H ( s)  5
s  a(2)s 4  a(3)s3  a(4)s 2  a(5)s  a(6)
0.1159
H ( s)  5
s  2.1028 s 4  2.2109 s 3  1.4366 s 2  0.5769 s  0.1159
5
4
3
2
LPF fc = 2kHz Orden 5
Aplicar la transformación bilineal:
2 z 1
s 
T z 1
• Obtener las raices del numerador y
denominador con el comando ‘roots’.
• Reemplazar s por z de acuerdo a la
empleando la función ‘bilinear de Matlab’.
• z = roots(num);
• p = roots(den);
• [zd,pd,kd] = bilinear(z,p,k,1);
Contenido de la presentación
• Característica Básicas
• Diseño a partir de polos y ceros
• Filtros FIR
– Método de las ventanas
– Método Optimo
• Filtros IIR
– Transformación bilineal
– Método invariante al impulso
Método invariante al impulso
H(s) -> h(t) -> h(nT) -> H(z)
En este método la respuesta al impulso del filtro
digital es la versión muestreada de la respuesta al
impulso del filtro análogo:
Método invariante al impulso
H(s) -> h(t) -> h(nT) -> H(z)
Ejemplo:
H(s) = C/(s-p)
h(t) = Cept
h(nT) = CepnT

H ( z )   Ce
n 0
pnT
z
n
C

1  e pT z 1
Método invariante al impulso
•
•
•
•
•
•
•
•
•
Se calcula la frecuencia de corte digital wc definida por: wc = 2p (fc/fs)
Se diseña el filtro Butterworth análogo con frecuencia de corte análoga Wc:
wc = WcT, con T=1 => Wc = wc.
Se emplea el comando
[num,den] = butter(N,Wn,'s');
Se expresa H(s) en fracciones parciales con el comando:
[r,p,k] = residue(num,den);
Se realiza la conversión de polos de s a z con T=1:
H(s) = C/(s-p) H(s) = C/(1- (1/z) exp(pT) )
Se realiza la conversión:
p -> exp(pT)
Luego se obtienen los coeficientes del numerador y denominador en z
empleando el comando:
[nf,df] = residuez(r,p,k);
Para filtros de alto orden
C
C

s p
1  e pT z 1
División en fracciones parciales y paso a z
En Matlab:
[r,p,k] = residue(a,b); %en s b: num
[r,p,k] = residuez(b,a); %en z
r (i )
 k (i )
1
1  p (i ) z
Ejemplo
s  0.1
Ha( s ) 
( s  0.1) 2  9
Fracciones parciales en s:
b=[1 0.1];
a=[1 0.2 0.1*0.1+9];
[r,p,k] = residue(b,a);
r=
0.5000
0.5000
0.5
0.5
p=
Ha( s ) 

-0.1000 + 3.0000i
s  0.1  j 3 s  0.1  j 3
-0.1000 - 3.0000i
Ejemplo
C
C

s p
1  e pT z 1
0.5
0.5
H ( z) 

 0.1T 3 jT 1
1 e
e
z
1  e 0.1T e3 jT z 1
0.5
H ( z) 
(1  e 0.1T e 3 jT z 1  e 0.1T e3 jT z 1  e 0.1T e 3 jT e 0.1T e3 jT z 2 )
0.5
H ( z) 
(1  e 0.1T z 1 (2 cos3T )  e 0.2T z 2 )