Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Procesamiento Digital de
Senales
Ing. Biomedica, Ing. Electronica
e Ing. en Telecomunicaciones
Capitulo VII
Diseno de Filtros Digitales
D.U. Campos-Delgado
Facultad de Ciencias
UASLP
Enero-Junio/2014
1
CONTENIDO
Causalidad
Caracterısticas Practicas de Filtros
Diseno de Filtros IIR por Prototipos Analogi-
cos
Filtros Prototipo Analogicos
Transformaciones en Frecuencia
Diseno de Filtros FIR con Fase Lineal
Diseno de Filtros FIR con Fase Lineal por
Ventanas
2
Causalidad
• Un filtro pasa-bajos ideal tiene la siguiente
caracterıstica en el dominio de la frecuencia
H(ω) =
1 |ω| ≤ ωc
0 ωc < ω ≤ π ∨ −π ≤ ω < −ωc
donde ωc ∈ [0, π] representa la frecuencia de
corte.
Sin embargo, la respuesta al impulso corres-
pondiente a este filtro serıa
h[n] = F−1H(ω) =
ωcπ n = 0ωcπ
senωcnωcn
n 6= 0
⇒ h[n] 6= 0 para n < 0 y en consecuencia la
respuesta del filtro es no-causal, y no podrıa
implementarse en tiempo real !!
3
• Para una aplicacion en tiempo real es nece-
sario cumplir causalidad lo que implica
(a) La respuesta en frecuencia H(ω) no puede
ser cero en una banda finita, excepto por
un numero finito de puntos (Teorema de
Paley-Wiener).
(b) La magnitud |H(ω)| no puede ser cons-
tante en un rango finito de frecuencias, y
la transicion de la banda de paso a la de
paro no puede ser abrupta (Fenomeno de
Gibbs).
(c) Las componentes real e imaginaria de H(ω)
son interdependientes y se relacionan por
la transformada discreta de Hilbert, es de-
cir la magnitud y fase de H(ω) no se pue-
den elegir arbitrariamente.
Caracterısticas Practicas de Filtros
• En general, las caracterısticas deseadas de
un filtro se pueden definir de acuerdo a los
siguientes parametros
i) ωp: frecuencia de corte de la banda de paso.
ii) ωs: frecuencia de corte de la banda de paro
(ωs > ωp).
iii) δ1: rizo maximo de la banda de paso.
iv) δ2: rizo maximo de la banda de paro.
v) ωs − ωp: banda o region de transicion.
vi) Ancho de banda: anchura de la banda de
paso en el filtro.
4
• En la practica se acostumbra utilizar una es-
cala logarıtmica para las especificaciones aso-
ciadas a la magnitud
1. Rizo de la banda de paso: 20 log10 δ1.
2. Rizo de la banda de paro: 20 log10 δ2.
• En funcion de la especificaciones del filtro
causal, se obtienen los coeficientes del deno-
minador ak y numerador bk de la funcion de
transferencia H(z).
Diseno de Filtros IIR
• Idea General: disenar un filtro de tiempo con-
tinuo (dominio-s) con la respuesta en frecuen-
cia deseada, y enseguida convertir el sistema
LIT a tiempo discreto.
• Un filtro en tiempo-continuo (analogico) pue-
de describirse por
Ha(s) =
∑Mk=0 βks
k
∑Nk=0 αks
k= Lha(t)
donde αk y βk denotan los coeficientes del fil-
tro, y ha(t) la respuesta al impulso del filtro
analogico.
Recordar la definicion de la transformada de
Laplace
Ha(s) = Lha(t) =∫ ∞
−∞ha(t)e
−stdt
y entonces la funcion de transferencia Ha(s)
representa una ecuacion diferencial con coefi-
cientes constantes con respecto a la senal de
5
entrada x(t) y salida y(t)
N∑
k=0
αkdky(t)
dtk=
M∑
k=0
βkdkx(t)
dtk
donde la respuesta en frecuencia esta dada por
Ha(jΩ) con Ω ∈ (−∞,∞) y j =√−1.
• Existen 4 tecnicas basicas para transformar
filtros analogicos a tiempo discreto:
I. Aproximacion de Derivadas: se emplea
una diferencia finita de 1er orden
dy(t)
dt
∣∣∣∣∣t=nT
=y(nT)− y(nT − T)
T
=y[n]− y[n− 1]
T
⇒ s =1− z−1
T
donde T representa el periodo de mues-
treo.
Este mapeo se utiliza generalmente pa-
ra disenar filtros pasa-bajos y pasa-banda
con frecuencias resonantes pequenas.
II. Invarianza al impulso: el objetivo de di-
seno es tener un filtro IIR en tiempo dis-
creto cuya respuesta al impulso h[n] co-
rresponda a la version muestreada de la
respuesta al impulso analogica ha(t), es
decir
h[n] = ha(nT) n ∈ Z, n ≥ 0
y en consecuencia se tendrıa el siguiente
mapeo
z = eT ·s.
Sin embargo, este metodo no se apropiado
para disenar filtros pasa-altos.
Si se puede expresar el filtro analogico en
fracciones parciales
Ha(s) =N∑
k=1
cks− pk
donde pk representan los polos de Ha(s)que se asumen reales y diferentes, enton-
ces se tiene por el metodo de invarianza
al impulso
H(z) =N∑
k=1
ck1− eT ·pk z−1
es decir los polos de H(z) se ubicarıan en
zk = eT ·pk para k ∈ [1, N ].
III. Transformacion bilineal: el mapeo pue-
de relacionarse con la formula trapezoidal
para la integracion numerica
s =2
T· 1− z−1
1 + z−1=
2
T· z − 1
z +1
por lo que se tendrıa la siguiente equi-
valencia entre las variables de frecuencia
continua Ω y en tiempo discreto ω
Ω =2
Ttan
ω
2⇔ ω = 2tan−1 T ·Ω
2
IV. Emparejamiento de la Transformada-
Z: se mapean los polos y ceros de Ha(s)
directamente en polos y ceros en el plano-
z, a traves de la siguiente relacion
Ha(s) =
∏Mk=1(s− zk)
∏Nk=1(s− pk)
m
H(z) =
∏Mk=1(1− eTzkz−1)
∏Nk=1(1− eTpkz−1)
Ejemplo: considerar al siguiente filtro pasaba-
jos analogico
Ha(s) =s+3
s2 +2.4s+16
utilizar MATLAB para obtener H(z) conside-
rando los metodos de invarianza al impulso, bi-
lineal y el emparejamiento de la transformada-
Z, con un periodo de muestreo de T = 0.01
seg.
Solucion: se emplea el siguiente codigo con
este fin
>>Ha=tf ([1 3],[1 2.4 16]);
>>Hii=c2d(Ha, 0.01, ’zoh’); ⇒ invarianza al
impulso
>>Hb=c2d(Ha, 0.01, ’tustin’); ⇒ bilineal
>>He=c2d(Ha, 0.01, ’matched’); ⇒ empare-
jamiento
Prototipos Analogicos
• Butterworth: es un filtro que no tiene ceros
y esta definido por
|H(Ω)|2 =1
1+ ǫ2(
ΩΩp
)2N
donde N representa el orden y se tienen los
siguientes requerimientos para la magnitud:
1. |H(Ωp)|2 = (1−δ1)2 = 1/(1+ǫ2), y de aquı
ǫ2 =1
(1− δ1)2− 1
que es un parametro de diseno.
2. |H(Ωs)|2 = δ22
6
El orden del filtro resultante estarıa dado por
N =
ln
[
1ǫ2
(
1δ22
− 1
)]
2 ln
(
ΩsΩp
) =ln δ/ǫ
lnΩs/Ωp
donde δ2 = 1/√
1 + δ2. En consecuencia, los
parametros (δ1, δ1,Ωp,Ωs) definen el orden del
filtro.
• Chebyshev Tipo I: es un filtro con un rizado
constante en la banda de paso, y comporta-
miento monotonico en la banda de paro, y no
tiene ceros. La magnitud del filtro cumple
|H(Ω)|2 =1
1+ ǫ2T2N
(
ΩΩp
)
donde N representa el orden, y TN(·) denota el
polinomio de Chebyshev de orden-N generado
de forma recursiva por la ecuacion
Tk+1(x) = 2xTk(x)− Tk−1(x) k = 1,2, . . .
y condiciones de inicio T0(x) = 1 y T1(x) = x.
De acuerdo, a las condiciones en la magnitud
1. |H(Ωp)|2 = 1/(1 + ǫ)2,
2. |H(Ωs)|2 = δ22,
el orden del filtro resultante serıa
N =ln
[(√
1− δ21 +√
1− δ22(1 + ǫ2)
)
· 1ǫδ2
]
ln
ΩsΩp
+
√(
ΩsΩp
)2− 1
=cosh−1 δ/ǫ
cosh−1Ωs/Ωp
donde δ2 = 1/√
1+ δ2. Al igual que para el fil-
tro Butterworth, los parametros (δ1, δ1,Ωp,Ωs)
definen el orden del filtro.
• Chebyshev Tipo II: es un filtro que contiene
polos y ceros sobre el eje imaginario, y exhibe
un comportamiento monotonico en la banda
de paso y con rizo constante en la banda de
paro. La magnitud del filtro cumple
|H(Ω)|2 =1
1+ ǫ2[TN(Ωs/Ωp)TN(Ωs/Ω)
]2
Las condiciones en la magnitud y el orden re-
sultante se definen de la misma manera que
para el filtro Chebyshev Tipo I.
• Elıptico: este filtro presenta un rizado cons-
tante tanto en la banda de paso como en la
de paro, y esta definido en funcion de polos y
ceros. La magnitud de este filtro cumple
|H(Ω)|2 =1
1+ ǫ2UN
(
ΩΩp
)
donde UN(·) representa la funcion elıptica Ja-
cobiana de orden N , y los parametros ǫ y δ
satisfacen
ǫ =
√
1
(1− δ1)2− 1
δ =
√√√√
1
δ22− 1
El orden resultante del filtro se define por
N =K
(ΩpΩs
)
K
(√
1− (ǫ/δ)2)
K(ǫδ
)
K
(√
1− (Ωp/Ωs)2)
donde K(·) es la integral completa elıptica de
primera clase
K(x) =
∫ π/2
0
dθ√
1− x2 sen2 θ.
Ejemplo: considerar un filtro IIR digital pasa-
bajos con las siguientes especificaciones
(a). Rizo en la banda de paso (pico-a-pico) ≤ 5
dB.
(b). Frecuencia de corte en la banda de paso:
1.2 kHz.
(c). Frecuencia de corte en la banda de paro:
2 kHz.
(d). Atenuacion en la banda de paro: ≥ 40 dB.
(e). Frecuencia de muestreo: 8 kHz.
Determinar el orden para los siguientes filtros:
(A) Butterworth, (B) Chebyshev y (C) Elıpti-
co.
Solucion: realizando los siguientes calculos se
obtiene
−0.25dB = 20 log10(1− δ1)
⇒ δ1 = 0.0284
−40dB = 20 log10 δ2
⇒ δ1 = 0.01
Ademas las frecuencias de corte se expresarıan
por
Ωp = 2π · 1200 rad/s
Ωs = 2π · 2000 rad/s
y el parametro de rizo en la banda de paso por
ǫ =
√
1
(1− δ1)2− 1 = 0.2435
De esta manera, el orden del filtro tipo But-
terworth serıa
N =
ln
[
1ǫ2
(
1δ22
− 1
)]
2 ln
(
ΩsΩp
) = 11.78 → 12.
Ahora, para el filtro Chebyshev se tendrıa
δ =
√√√√
1
δ22− 1 = 99.995
N =cosh−1 δ/ǫ
cosh−1Ωs/Ωp= 6.11 → 7.
Finalmente, para el filtro Elıptico su orden se
calcularıa por
N =K
(ΩpΩs
)
K
(√
1− (ǫ/δ)2)
K(ǫδ
)
K
(√
1− (Ωp/Ωs)2) = 4.0687 → 5,
utilizando el comando ellipke de MATLAB para
evaluar K(·).
En consecuencia, tomando como comparacion
la respuesta tipo Butterworth, si se permite un
rizado en la banda de paso y de rechazo (filtro
Elıptico) se reduce drasticamente el orden del
filtro.
Butterworth 12vo → Chebysehv 7o. → Elıptico
5o.
Transformaciones en Frecuencia
• Los prototipos analogicos previamente estu-
diados se definen para un filtro pasa-bajos, pe-
ro si se requiere un filtro pasa-altos o pasa-
banda, se requiere hacer una transformacion
en el dominio de la frecuencia.
• Para obtener un filtro pasa-altos, pasa-banda
o rechaza-banda en tiempo discreto se tienen
2 metodos que parten de disenar un pasa-bajos
con los factores de atenuacion deseados en la
bandas de paso y paro:
(A). Aplicar una transformacion en tiempo con-
tinuo al filtro pasa-bajos para obtener el
comportamiento en frecuencia deseado y
enseguida mapear a tiempo discreto. (Ta-
bla 10.7, pag. 652, Proakis and Molakis,
2009).
7
(B). Mapear el filtro analogico a tiempo dis-
creto, y enseguida aplicar una transfor-
macion en el dominio de la frecuencia dis-
creta. (Tabla 10.8, pag. 653, Proakis and
Molakis, 2009).
Diseno de Filtros FIR con Fase Lineal
• Un filtro FIR de orden M se puede expresar
por
y[n] =M−1∑
k=0
bk︸︷︷︸
h[k]
x[n− k]
= h[0]x[n] + . . .+ h[M − 1]x[n−M +1]
que tambien puede caracterizarse por su fun-
cion de transferencia
H(z) =M−1∑
k=0
h[k]z−k
• Un filtro FIR tiene fase lineal, si su respuesta
al impulso unitario cumple la condicion
h[n] =
h[M − 1− n] simetrıa−h[M − 1− n] anti-simetrıa
n ∈ [0,M−1]
de acuerdo a la propiedad de simetrıa de la
Transformada de Fourier.
8
De esta manera, las raıces de H(z) se encuen-
tran en pares recıprocos, es decir si z ∈ C es
una raız, tambien lo sera 1/z ∈ C.
• Cuando h[n] = h[M − 1 − n] (simetrıa) para
n ∈ [0,M − 1], H(ω) puede expresarse por
H(ω) = Hr(ω)︸ ︷︷ ︸
funcion real
e−jω(M−1)/2︸ ︷︷ ︸
fase lineal
donde
Hr(ω) =
h[M−12
]+ 2
∑M−3
2
n=0 h[n] cosω(M−12
− n)
M impar
2∑M
2−1
n=0 h[n] cosω(M−12
− n)
M par
Ademas, un filtro FIR h[n] simetrico tiene un
respuesta diferente de cero a la frecuencia ω =
0 (componente promedio no-cero).
• De forma similar, si se cumple h[n] = −h[M−1−n] (anti-simetrıa) para n ∈ [0,M − 1], H(ω)
se representa por
H(ω) = Hr(ω)︸ ︷︷ ︸
funcion real
ej[−ω(M−1)/2+π/2]︸ ︷︷ ︸
fase lineal
donde
Hr(ω) =
2∑M−3
2
n=0 h[n] senω(M−12
− n)
M impar
2∑M
2−1
n=0 h[n] senω(M−12
− n)
M par
ya que cuando se tiene M impar debe cumplir-
se que el centro de una respuesta anti-simetrica
satisface
h
[M − 1
2
]
= 0
Ademas si h[n] es anti-simetrica se tiene
Hr(0) = 0 ∧ Hr(±π) = 0 M impar
Hr(0) = 0 M par
FIR con Fase Lineal por Ventanas
• En este metodo, se especifica la respuesta
en frecuencia deseada Hd(ω) ω ∈ [−π, π] como
parametro de diseno.
• Enseguida por la Transformada de Fourier In-
versa se obtiene la respuesta al impulso desea-
da hd[n]:
hd[n] =1
2π
∫ π
−πHd(ω)e
jωndω n ∈ Z
En general, hd[n] puede tener una duracion in-
finita, por lo que se trunca en el rango n ∈[0,M −1], para obtener un filtro causal FIR de
orden M.
• Esta truncacion, es equivalente a multiplicar
hd[n] por una ventana rectangular w[n] para
obtener el filtro FIR h[n]:
h[n] = hd[n] · w[n] =
hd[n] n ∈ [0,M − 1]
0 n 6∈ [0,M − 1]
9
donde
w[n] =
1 n ∈ [0,M − 1]
0 n 6∈ [0,M − 1]
Para ver la implicacion de esto en la respuesta
en frecuencia H(ω) = Fh[n]
H(ω) = Hd(ω)∗W (ω) =1
2π
∫ π
−πHd(ω)W (ω−σ)dσ
donde
W (ω) =∞∑
n=−∞w[n]e−jωn =
M−1∑
n=0
e−jωn
=1− e−jωM
1− e−jω= e−jωM−1
2 · senωM/2
senω/2
⇒ |W (ω)| = | senωM/2|| senω/2| ω ∈ [−π, π]
• La convolucion de Hd(ω) con W (ω) para ob-
tener la respuesta del filtro FIR H(ω) tiene el
efector de suavizar Hd(ω).
Si M se incrementa, el lobulo central de W (ω)
se hace mas angosto, y el efecto de suavizado
de W (ω) se reduce en H(ω).
Ademas, los lobulos laterales de W (ω) produ-
cen efectos no deseados de rizado en H(ω).
• De forma alternativa, se pueden utilizar otros
tipos de ventanas: Bartlett, Blackman, Ham-
ming, Hanning, Kaiser, Gaussiana y Tukey
(Tabla 10.1, pag. 594, Proakis and Molakis,
2009) ⇒ comando window en MATLAB.
Estas ventanas disminuyen significativamente
los lobulos laterales comparado con la venta-
na rectangular, pero aumentan la anchura del
lobulo central
0 20 40 60 80 100 1200
0.2
0.4
0.6
0.8
1
n
w[n
]
M=121
Bartlett
Blackman
Hamming
0 20 40 60 80 100 1200
0.2
0.4
0.6
0.8
1
n
w[n
]
Hanning
Gaussiana
Tukey
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−60
−40
−20
0
20
f (ciclos/muestra)
W(f
) (d
B)
M=121
BartlettBlackmanHamming
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−50
−40
−30
−20
−10
0
10
20
f (ciclos/muestra)
W(f
) (d
B)
HanningGaussianaTukey
Ejemplo: se desea disenar un filtro FIR simetri-
co pasa-bajos con fase lineal y orden M , con
la siguiente respuesta deseada en la frecuencia
Hlp(ω) =
1 · e−jωM−12 0 ≤ |ω| ≤ ωc
0 ωc < |ω| ≤ π
donde ωc ∈ [0, π] representa la frecuencia de
corte.
Solucion: la respuesta al impulso correspon-
diente se obtiene por la transformada inversa
de Fourier
hd[n] =1
2π
∫ π
−πHlp(ω)e
jωndω
=1
2π
∫ ωc
−ωc
e−jωM−12 ejωndω
=1
2π
∫ ωc
−ωc
ejω
(
n−M−12
)
dω
=senωc
(
n− M−12
)
π(
n− M−12
) n 6= M − 1
2,
Por lo tanto, hd[n] denota una respuesta no-
causal y con duracion infinita.
Enseguida, se aplica una ventana para obtener
el filtro FIR
h[n] =senωc
(
n− M−12
)
π(
n− M−12
) · w[n] n ∈ [0,M − 1]
Si M es un numero impar, se selecciona
h
[M − 1
2
]
=ωc
π
0 10 20 30 40 50 60 70 80 90−0.1
0
0.1
0.2
0.3
0.4
n
h[n]
M= 90, ωc=2π/5 (f
c=1/5)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50
0.5
1
1.5
f (ciclos/muestra)
|H(f
)|
M=30
M=90
M=60
Observar que si M se incrementa, la respuesta
del filtro FIR pasa-bajos se acerca al filtro ideal.
Ejemplo: se desea disenar un filtro FIR simetri-
co pasa-altos con fase lineal y orden M , con la
siguiente respuesta deseada en la frecuencia
Hhp(ω) =
0 0 ≤ |ω| ≤ ωc
1 · e−jωM−12 ωc < |ω| ≤ π
donde ωc ∈ [0, π] representa la frecuencia de
corte.
Solucion: primero observar que del problema
anterior
Hhp(ω) = e−jωM−12 −Hlp(ω).
A partir de esta observacion, la respuesta al
impulso correspondiente se obtiene por
hd[n] =1
2π
∫ π
−πHhp(ω)e
jωndω
=1
2π
∫ π
−πe−jωM−1
2 ejωndω − 1
2π
∫ π
−πHlp(ω)e
jωndω
=1
2π
∫ π
−πejω
(
n−M−12
)
dω − hlp[n]
=senπ
(
n− M−12
)
π(
n− M−12
) −senωc
(
n− M−12
)
π(
n− M−12
) ,
Finalmente, se aplica una ventana para obtenerel filtro FIR
h[n] =senπ
(n− M−1
2
)− senωc
(n− M−1
2
)
π(n− M−1
2
) ·w[n] n ∈ [0,M−1]
Si M es un numero impar, se selecciona
h
[M − 1
2
]
= 1− ωc
π
0 10 20 30 40 50 60 70 80 90−0.6
−0.4
−0.2
0
0.2
0.4
n
h[n]
M= 90, ωc=2π/5 (f
c=1/5)
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.50
0.5
1
1.5
f (ciclos/muestra)
|H(f
)|
M=30
M=90
M=60
Nuevamente si M se incrementa, la respuesta
del filtro FIR pasa-altos se acerca al filtro ideal.
Tarea # 5
Problema del Libro de Texto (Tratamiento Di-
gital de Senales, Proakis y Manolakis, 4a Edi-
cion, Prentice-Hall):
4.5 (a), (b) (pag. 262)
4.9 (a),(c) (pag. 263)
4.18 (a)-(c) (pags. 266 y 267)
5.1 (b) (pag. 324)
5.7 (a), (b), (c) (pag. 326)
5.12 (a)-(d) (pag. 327)
5.21 (a)-(d) y 5.24 (a)-(c) (pag. 330),
10
5.42 (a)-(e) (pag. 335),
5.52 (pag. 336).