Capitulo 7 - Facultad de Ciencias

Anuncio
Procesamiento Digital de
Señales
Ing. Biomédica, Ing. Electrónica
e Ing. en Telecomunicaciones
Capitulo VII
Diseño de Filtros Digitales
D.U. Campos-Delgado
Facultad de Ciencias
UASLP
Enero-Junio/2014
1
CONTENIDO
Causalidad
Caracterı́sticas Prácticas de Filtros
Diseño de Filtros IIR por Prototipos Analógicos
Filtros Prototipo Analógicos
Transformaciones en Frecuencia
Diseño de Filtros FIR con Fase Lineal
Diseño 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 correspondiente a este filtro serı́a
( ω
c
n=0
−1
π
h[n] = F {H(ω)} = ωc sen ωcn
n=
6 0
π ωc n
⇒ 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 aplicación en tiempo real es necesario cumplir causalidad lo que implica
(a) La respuesta en frecuencia H(ω) no puede
ser cero en una banda finita, excepto por
un número finito de puntos (Teorema de
Paley-Wiener ).
(b) La magnitud |H(ω)| no puede ser constante en un rango finito de frecuencias, y
la transición de la banda de paso a la de
paro no puede ser abrupta (Fenómeno de
Gibbs).
(c) Las componentes real e imaginaria de H(ω)
son interdependientes y se relacionan por
la transformada discreta de Hilbert, es decir la magnitud y fase de H(ω) no se pueden elegir arbitrariamente.
Caracterı́sticas Prácticas de Filtros
• En general, las caracterı́sticas deseadas de
un filtro se pueden definir de acuerdo a los
siguientes parámetros
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 máximo de la banda de paso.
iv) δ2: rizo máximo de la banda de paro.
v) ωs − ωp : banda o región de transición.
vi) Ancho de banda: anchura de la banda de
paso en el filtro.
4
• En la práctica se acostumbra utilizar una escala logarı́tmica para las especificaciones asociadas a la magnitud
1. Rizo de la banda de paso: 20 log10 δ1.
2. Rizo de la banda de paro: 20 log10 δ2.
• En función de la especificaciones del filtro
causal, se obtienen los coeficientes del denominador ak y numerador bk de la función de
transferencia H(z).
Diseño de Filtros IIR
• Idea General: diseñar un filtro de tiempo continuo (dominio-s) con la respuesta en frecuencia deseada, y enseguida convertir el sistema
LIT a tiempo discreto.
• Un filtro en tiempo-continuo (analógico) puede describirse por
PM
βk sk
k=0
= L{ha(t)}
Ha(s) = PN
k
k=0 αk s
donde αk y βk denotan los coeficientes del filtro, y ha(t) la respuesta al impulso del filtro
analógico.
Recordar la definición de la transformada de
Laplace
Ha(s) = L{ha(t)} =
Z ∞
−∞
ha(t)e−st dt
y entonces la función de transferencia Ha(s)
representa una ecuación diferencial con coeficientes constantes con respecto a la señal de
5
entrada x(t) y salida y(t)
N
X
M
X
dk y(t)
dk x(t)
αk
βk
=
k
dt
dtk
k=0
k=0
donde la respuesta en frecuencia√
está dada por
Ha(jΩ) con Ω ∈ (−∞, ∞) y j = −1.
• Existen 4 técnicas básicas para transformar
filtros analógicos a tiempo discreto:
I. Aproximación de Derivadas: se emplea
una diferencia finita de 1er orden
dy(t) dt y(nT ) − y(nT − T )
T
t=nT
y[n] − y[n − 1]
=
T
=
1 − z −1
⇒s=
T
donde T representa el periodo de muestreo.
Este mapeo se utiliza generalmente para diseñar filtros pasa-bajos y pasa-banda
con frecuencias resonantes pequeñas.
II. Invarianza al impulso: el objetivo de diseño es tener un filtro IIR en tiempo discreto cuya respuesta al impulso h[n] corresponda a la versión muestreada de la
respuesta al impulso analógica ha(t), es
decir
n ∈ Z, n ≥ 0
h[n] = ha(nT )
y en consecuencia se tendrı́a el siguiente
mapeo
z = eT ·s.
Sin embargo, éste método no se apropiado
para diseñar filtros pasa-altos.
Si se puede expresar el filtro analógico en
fracciones parciales
N
X
ck
Ha(s) =
s − pk
k=1
donde pk representan los polos de Ha(s)
que se asumen reales y diferentes, entonces se tiene por el método de invarianza
al impulso
H(z) =
N
X
ck
T ·pk z −1
1
−
e
k=1
es decir los polos de H(z) se ubicarı́an en
zk = eT ·pk para k ∈ [1, N ].
III. Transformación bilineal: el mapeo puede relacionarse con la fórmula trapezoidal
para la integración numérica
2 1 − z −1
2 z−1
s= ·
= ·
−1
T 1+z
T z+1
por lo que se tendrı́a la siguiente equivalencia entre las variables de frecuencia
continua Ω y en tiempo discreto ω
Ω=
2
ω
T ·Ω
tan
⇔ ω = 2 tan−1
T
2
2
IV. Emparejamiento de la TransformadaZ: se mapean los polos y ceros de Ha(s)
directamente en polos y ceros en el planoz, a través de la siguiente relación
QM
(s − zk )
k=1
Ha(s) = QN
k=1(s − pk )
m
QM
(1 − eT zk z −1)
k=1
H(z) = QN
T pk z −1)
(1
−
e
k=1
Ejemplo: considerar al siguiente filtro pasabajos analógico
s+3
Ha(s) = 2
s + 2.4s + 16
utilizar MATLAB para obtener H(z) considerando los métodos de invarianza al impulso, bilineal y el emparejamiento de la transformadaZ, con un periodo de muestreo de T = 0.01
seg.
Solución: se emplea el siguiente código 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’); ⇒ emparejamiento
Prototipos Analógicos
• Butterworth: es un filtro que no tiene ceros
y está definido por
2
|H(Ω)| =
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ı́
1
−1
ǫ =
(1 − δ1)2
que es un parámetro de diseño.
2
2. |H(Ωs )|2 = δ22
6
El orden del filtro resultante estarı́a dado por
ln ǫ12
1 −1
ln δ/ǫ
δ22
N=
=
ln Ωs /Ωp
Ωs
2 ln Ω
p
q
donde δ2 = 1/ 1 + δ 2. En consecuencia, los
parámetros (δ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 comportamiento monotónico en la banda de paro, y no
tiene ceros. La magnitud del filtro cumple
|H(Ω)|2 =
1
2 Ω
1 + ǫ2TN
Ωp
donde N representa el orden, y TN (·) denota el
polinomio de Chebyshev de orden-N generado
de forma recursiva por la ecuación
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
ln
N =
q
1 − δ12 +

q
Ωs +
ln  Ω
p
1 − δ22(1 + ǫ2) · ǫδ1
2
s
Ωs
Ωp
2
cosh−1 δ/ǫ
=
cosh−1 Ωs/Ωp

− 1
q
donde δ2 = 1/ 1 + δ 2. Al igual que para el filtro Butterworth, los parámetros (δ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 monotónico en la banda
de paso y con rizo constante en la banda de
paro. La magnitud del filtro cumple
1
2
|H(Ω)| =
2
T (Ω /Ωp )
1 + ǫ2 TN (Ωs /Ω)
s
N
Las condiciones en la magnitud y el orden resultante se definen de la misma manera que
para el filtro Chebyshev Tipo I.
• Elı́ptico: este filtro presenta un rizado constante tanto en la banda de paso como en la
de paro, y está definido en función de polos y
ceros. La magnitud de este filtro cumple
2
|H(Ω)| =
1
Ω
1 + ǫ2 U N Ω
p
donde UN (·) representa la función elı́ptica Jacobiana de orden N , y los parámetros ǫ y δ
satisfacen
ǫ=
s
1
−1
(1 − δ1)2
v
u
u1
δ =t 2 −1
δ2
El orden resultante del filtro se define por
N =
Ω
K Ωps K
q
1 − (ǫ/δ)2
q
K δǫ K
1 − (Ωp /Ωs)2
donde K(·) es la integral completa elı́ptica de
primera clase
K(x) =
Z π/2
0
dθ
q
1 − x2 sen2 θ
.
Ejemplo: considerar un filtro IIR digital pasabajos 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). Atenuación 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ı́ptico.
Solución: realizando los siguientes cálculos se
obtiene
−0.25dB
⇒ δ1
−40dB
⇒ δ1
= 20 log10(1 − δ1)
= 0.0284
= 20 log10 δ2
= 0.01
Además las frecuencias de corte se expresarı́an
por
Ωp = 2π · 1200 rad/s
Ωs = 2π · 2000 rad/s
y el parámetro de rizo en la banda de paso por
ǫ=
s
1
− 1 = 0.2435
2
(1 − δ1)
De esta manera, el orden del filtro tipo Butterworth serı́a
N=
1 −1
δ22
Ωs
2 ln Ω
p
ln ǫ12
= 11.78 → 12.
Ahora, para el filtro Chebyshev se tendrı́a
v
u
u1
δ = t 2 − 1 = 99.995
δ2
cosh−1 δ/ǫ
N =
cosh−1 Ωs/Ωp
= 6.11 → 7.
Finalmente, para el filtro Elı́ptico su orden se
calcuları́a por
N =
Ω
K Ωps K
q
1 − (ǫ/δ)2
q
= 4.0687 → 5,
K δǫ K
1 − (Ωp/Ωs)2
utilizando el comando ellipke de MATLAB para
evaluar K(·).
En consecuencia, tomando como comparación
la respuesta tipo Butterworth, si se permite un
rizado en la banda de paso y de rechazo (filtro
Elı́ptico) se reduce drásticamente el orden del
filtro.
Butterworth 12vo → Chebysehv 7o. → Elı́ptico
5o. Transformaciones en Frecuencia
• Los prototipos analógicos previamente estudiados se definen para un filtro pasa-bajos, pero si se requiere un filtro pasa-altos o pasabanda, se requiere hacer una transformación
en el dominio de la frecuencia.
• Para obtener un filtro pasa-altos, pasa-banda
o rechaza-banda en tiempo discreto se tienen
2 métodos que parten de diseñar un pasa-bajos
con los factores de atenuación deseados en la
bandas de paso y paro:
(A). Aplicar una transformación en tiempo continuo al filtro pasa-bajos para obtener el
comportamiento en frecuencia deseado y
enseguida mapear a tiempo discreto. (Tabla 10.7, pag. 652, Proakis and Molakis,
2009).
7
(B). Mapear el filtro analógico a tiempo discreto, y enseguida aplicar una transformación en el dominio de la frecuencia discreta. (Tabla 10.8, pag. 653, Proakis and
Molakis, 2009).
Diseño de Filtros FIR con Fase Lineal
• Un filtro FIR de orden M se puede expresar
por
y[n] =
MX
−1
bk x[n − k]
|{z}
k=0 h[k]
= h[0]x[n] + . . . + h[M − 1]x[n − M + 1]
que también puede caracterizarse por su función de transferencia
H(z) =
MX
−1
h[k]z −k
k=0
• Un filtro FIR tiene fase lineal, si su respuesta
al impulso unitario cumple la condición
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 encuentran en pares recı́procos, es decir si z ∈ C es
una raı́z, también lo será 1/z ∈ C.
• Cuando h[n] = h[M − 1 − n] (simetrı́a) para
n ∈ [0, M − 1], H(ω) puede expresarse por
H(ω) =
−jω(M −1)/2
H
(ω)
e
r
{z
}
| {z } |
función real
donde
fase lineal
( P M−3
M −1
2
h[n] cos ω
h 2 + 2 n=0
Hr (ω) =
P M2 −1
2 n=0 h[n] cos ω M2−1 − n
M −1
2
−n
M impar
M par
Además, un filtro FIR h[n] simétrico 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(ω) =
j[−ω(M −1)/2+π/2]
H
(ω)
e
r
|
{z
}
| {z }
función real
donde
( P M−3
2
2 n=0
h[n] sen ω
Hr (ω) =
P M2 −1
2 n=0 h[n] sen ω
fase lineal
M −1
2
M −1
2
−n
−n
M impar
M par
ya que cuando se tiene M impar debe cumplirse que el centro de una respuesta anti-simétrica
satisface
M −1
h
=0
2
Además si h[n] es anti-simétrica se tiene

H (0) = 0 ∧ H (±π) = 0
r
r
Hr (0) = 0
M impar
M par
FIR con Fase Lineal por Ventanas
• En este método, se especifica la respuesta
en frecuencia deseada Hd(ω) ω ∈ [−π, π] como
parámetro de diseño.
• Enseguida por la Transformada de Fourier Inversa se obtiene la respuesta al impulso deseada hd[n]:
1 π
hd[n] =
Hd(ω)ejωn dω n ∈ Z
2π −π
En general, hd[n] puede tener una duración infinita, por lo que se trunca en el rango n ∈
[0, M − 1], para obtener un filtro causal FIR de
orden M.
Z
• Esta truncación, es equivalente a multiplicar
hd[n] por una ventana rectangular w[n] para
obtener el filtro FIR h[n]:

h [n]
d
h[n] = hd[n] · w[n] =
0
n ∈ [0, M − 1]
n 6∈ [0, M − 1]
9
donde
w[n] =

1
0
n ∈ [0, M − 1]
n 6∈ [0, M − 1]
Para ver la implicación de esto en la respuesta
en frecuencia H(ω) = F {h[n]}
1 π
H(ω) = Hd(ω)∗W (ω) =
Hd(ω)W (ω−σ)dσ
2π −π
donde
Z
W (ω) =
=
∞
X
w[n]e−jωn =
n=−∞
1 − e−jωM
−jω
=
e
1 − e−jω
⇒ |W (ω)| =
| sen ωM/2|
| sen ω/2|
MX
−1
e−jωn
n=0
M −1
2
·
sen ωM/2
sen ω/2
ω ∈ [−π, π]
• La convolución de Hd(ω) con W (ω) para obtener la respuesta del filtro FIR H(ω) tiene el
efector de suavizar Hd(ω).
Si M se incrementa, el lóbulo central de W (ω)
se hace más angosto, y el efecto de suavizado
de W (ω) se reduce en H(ω).
Además, los lóbulos laterales de W (ω) producen efectos no deseados de rizado en H(ω).
• De forma alternativa, se pueden utilizar otros
tipos de ventanas: Bartlett, Blackman, Hamming, Hanning, Kaiser, Gaussiana y Tukey
(Tabla 10.1, pag. 594, Proakis and Molakis,
2009) ⇒ comando window en MATLAB.
Éstas ventanas disminuyen significativamente
los lóbulos laterales comparado con la ventana rectangular, pero aumentan la anchura del
lóbulo central
M=121
1
w[n]
0.8
0.6
Bartlett
Blackman
Hamming
0.4
0.2
0
0
20
40
60
n
80
100
120
80
100
120
1
w[n]
0.8
0.6
Hanning
Gaussiana
Tukey
0.4
0.2
0
0
20
40
60
n
M=121
20
Bartlett
Blackman
Hamming
W(f) (dB)
0
−20
−40
−60
0
0.05
0.1
0.15
0.2
0.25
0.3
f (ciclos/muestra)
0.35
0.4
0.45
0.5
20
Hanning
Gaussiana
Tukey
10
W(f) (dB)
0
−10
−20
−30
−40
−50
0
0.05
0.1
0.15
0.2
0.25
0.3
f (ciclos/muestra)
0.35
0.4
0.45
0.5
Ejemplo: se desea diseñar un filtro FIR simétri-
co pasa-bajos con fase lineal y orden M , con
la siguiente respuesta deseada en la frecuencia
Hlp(ω) =


−jω M2−1
1·e
0
0 ≤ |ω| ≤ ωc
ωc < |ω| ≤ π
donde ωc ∈ [0, π] representa la frecuencia de
corte.
Solución: la respuesta al impulso correspondiente se obtiene por la transformada inversa
de Fourier
Z
1 π
Hlp(ω)ejωn dω
hd[n] =
2π Z−π
1 ωc −jω M −1 jωn
2 e
dω
=
e
2π −ωc
Z ωc
M
−1
1
jω n− 2
=
dω
e
2π −ωc
M
−1
sen ωc n − 2
M −1
=
n
=
6
,
M
−1
2
π n− 2
Por lo tanto, hd[n] denota una respuesta nocausal y con duración infinita.
Enseguida, se aplica una ventana para obtener
el filtro FIR
sen ωc n − M2−1
h[n] =
M
−1
π n− 2
· w[n]
n ∈ [0, M − 1]
Si M es un número impar, se selecciona
M −1
ωc
h
=
2
π
M= 90, ωc=2π/5 (fc=1/5)
0.4
0.3
h[n]
0.2
0.1
0
−0.1
0
10
20
30
40
50
60
70
80
90
0.45
0.5
n
1.5
M=90
1
|H(f)|
M=60
M=30
0.5
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
f (ciclos/muestra)
Observar que si M se incrementa, la respuesta
del filtro FIR pasa-bajos se acerca al filtro ideal.
Ejemplo: se desea diseñar un filtro FIR simétrico pasa-altos con fase lineal y orden M , con la
siguiente respuesta deseada en la frecuencia
Hhp (ω) =

0
1 · e−jω M2−1
0 ≤ |ω| ≤ ωc
ωc < |ω| ≤ π
donde ωc ∈ [0, π] representa la frecuencia de
corte.
Solución: primero observar que del problema
anterior
−jω M2−1
Hhp (ω) = e
− Hlp(ω).
A partir de esta observación, la respuesta al
impulso correspondiente se obtiene por
hd[n] =
=
=
=
1 π
Hhp (ω)ejωn dω
2π −π
Z
Z
1 π −jω M −1 jωn
1 π
2 e
dω −
e
Hlp(ω)ejωn dω
2π −π
2π −π
Z
1 π jω n− M2−1
e
dω − hlp[n]
2π −π
M
−1
M
−1
sen ωc n − 2
sen π n − 2
−
,
M
−1
M
−1
π n− 2
π n− 2
Z
Finalmente, se aplica una ventana para obtener
el filtro FIR
h[n] =
sen π n −
M −1
2
− sen ωc n −
M −1
π n− 2
M −1
2
·w[n]
n ∈ [0, M −1]
Si M es un número impar, se selecciona
M −1
ωc
h
=1−
2
π
M= 90, ωc=2π/5 (fc=1/5)
0.4
h[n]
0.2
0
−0.2
−0.4
−0.6
0
10
20
30
40
50
60
70
80
90
0.45
0.5
n
1.5
M=90
1
|H(f)|
M=60
M=30
0.5
0
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
f (ciclos/muestra)
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 Digital de Señales, Proakis y Manolakis, 4a Edición, 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).
Descargar