Sie sind auf Seite 1von 31

Filter design

• FIR filters

• Chebychev design

• linear phase filter design

• equalizer design

• filter magnitude specifications

1
FIR filters

finite impulse response (FIR) filter:

n−1
X
y(t) = hτ u(t − τ ), t∈Z
τ =0

• (sequence) u : Z → R is input signal


• (sequence) y : Z → R is output signal
• hi are called filter coefficients
• n is filter order or length

Filter design 2
filter frequency response: H : R → C

H(ω) = h0 + h1e−iω + · · · + hn−1e−i(n−1)ω


n−1
X n−1
X
= ht cos tω + i ht sin tω
t=0 t=0


• (EE tradition uses j = −1 instead of i)
• H is periodic and conjugate symmetric, so only need to know/specify
for 0 ≤ ω ≤ π

FIR filter design problem: choose h so it and H satisfy/optimize specs

Filter design 3
example: (lowpass) FIR filter, order n = 21

impulse response h:

0.2

0.1
h(t)

−0.1

−0.2

0 2 4 6 8 10 12 14 16 18 20

Filter design 4
frequency response magnitude (i.e., |H(ω)|):
1
10

0
10
|H(ω)|
−1
10

−2
10

−3
10
0 0.5 1 1.5 2 2.5 3
ω
frequency response phase (i.e., 6 H(ω)):
3

2
H(ω)

−1
6

−2

−3
0 0.5 1 1.5 2 2.5 3
ω

Filter design 5
Chebychev design

minimize max |H(ω) − Hdes(ω)|


ω∈[0,π]

• h is optimization variable
• Hdes : R → C is (given) desired transfer function
• convex problem
• can add constraints, e.g., |hi| ≤ 1
sample (discretize) frequency:

minimize max |H(ωk ) − Hdes(ωk )|


k=1,...,m

• sample points 0 ≤ ω1 < · · · < ωm ≤ π are fixed (e.g., ωk = kπ/m)


• m ≫ n (common rule-of-thumb: m = 15n)
• yields approximation (relaxation) of problem above

Filter design 6
Chebychev design via SOCP:

minimize t
subject to A h − b ≤ t,
(k) (k)
k = 1, . . . , m

where
 
1 cos ωk ··· cos(n−1)ωk
A(k) =
0 −sin ωk · · · −sin(n−1)ωk
 
ℜHdes(ωk )
b(k) =
ℑHdes(ωk )
 
h0
h =  .. 
hn−1

Filter design 7
Linear phase filters

suppose
• n = 2N + 1 is odd
• impulse response is symmetric about midpoint:

ht = hn−1−t, t = 0, . . . , n − 1

then

H(ω) = h0 + h1e−iω + · · · + hn−1e−i(n−1)ω


= e−iN ω (2h0 cos N ω + 2h1 cos(N −1)ω + · · · + hN )
∆ e
= e−iN ω H(ω)

Filter design 8
• term e−iN ω represents N -sample delay

e
• H(ω) is real

e
• |H(ω)| = |H(ω)|

• called linear phase filter (6 H(ω) is linear except for jumps of ±π)

Filter design 9
Lowpass filter specifications

δ1
1/δ1

δ2

ωp ωs π
ω
idea:
• pass frequencies in passband [0, ωp]
• block frequencies in stopband [ωs, π]

Filter design 10
specifications:
• maximum passband ripple (±20 log10 δ1 in dB):

1/δ1 ≤ |H(ω)| ≤ δ1, 0 ≤ ω ≤ ωp

• minimum stopband attenuation (−20 log10 δ2 in dB):

|H(ω)| ≤ δ2, ωs ≤ ω ≤ π

Filter design 11
Linear phase lowpass filter design

• sample frequency
e
• can assume wlog H(0) > 0, so ripple spec is

e k ) ≤ δ1
1/δ1 ≤ H(ω

design for maximum stopband attenuation:

minimize δ2
e k ) ≤ δ1, 0 ≤ ωk ≤ ωp
subject to 1/δ1 ≤ H(ω
e k ) ≤ δ2, ωs ≤ ωk ≤ π
−δ2 ≤ H(ω

Filter design 12
• passband ripple δ1 is given

• an LP in variables h, δ2

• known (and used) since 1960’s

• can add other constraints, e.g., |hi| ≤ α

variations and extensions:


• fix δ2, minimize δ1 (convex, but not LP)

• fix δ1 and δ2, minimize ωs (quasiconvex)

• fix δ1 and δ2, minimize order n (quasiconvex)

Filter design 13
example
• linear phase filter, n = 21
• passband [0, 0.12π]; stopband [0.24π, π]
• max ripple δ1 = 1.012 (±0.1dB)
• design for maximum stopband attenuation

impulse response h:
0.2

0.1
h(t)

−0.1

−0.2

0 2 4 6 8 10 12 14 16 18 20

Filter design 14
frequency response magnitude (i.e., |H(ω)|):
1
10

0
10

|H(ω)| −1
10

−2
10

−3
10
0 0.5 1 1.5 2 2.5 3
ω
frequency response phase (i.e., 6 H(ω)):
3

1
H(ω)

−1

−2
6

−3
0 0.5 1 1.5 2 2.5 3
ω

Filter design 15
Equalizer design

H(ω) G(ω)

equalization: given
• G (unequalized frequency response)
• Gdes (desired frequency response)
e=∆
design (FIR equalizer) H so that G GH ≈ Gdes

• common choice: Gdes(ω) = e−iDω (delay)


i.e., equalization is deconvolution (up to delay)
• can add constraints on H, e.g., limits on |hi| or maxω |H(ω)|

Filter design 16
Chebychev equalizer design:

e
minimize max G(ω) − Gdes(ω)
ω∈[0,π]

convex; SOCP after sampling frequency

Filter design 17
time-domain equalization: optimize impulse response g̃ of equalized
system
e.g., with Gdes(ω) = e−iDω ,

1 t=D
gdes(t) =
0 t=
6 D

sample design:
minimize maxt6=D |g̃(t)|
subject to g̃(D) = 1
• an LP
P 2
P
• can use t6=D g̃(t) or t6=D |g̃(t)|

Filter design 18
extensions:
• can impose (convex) constraints

• can mix time- and frequency-domain specifications

• can equalize multiple systems, i.e., choose H so

G(k)H ≈ Gdes, k = 1, . . . , K

• can equalize multi-input multi-output systems


(i.e., G and H are matrices)

• extends to multidimensional systems, e.g., image processing

Filter design 19
Equalizer design example

unequalized system G is 10th order FIR:

0.8

0.6
g(t)

0.4

0.2

−0.2

−0.4
0 1 2 3 4 5 6 7 8 9

Filter design 20
1
10

|G(ω)|
0
10

−1
10
0 0.5 1 1.5 2 2.5 3
ω

2
G(ω)

−1
6

−2

−3
0 0.5 1 1.5 2 2.5 3
ω

e
design 30th order FIR equalizer with G(ω) ≈ e−i10ω

Filter design 21
Chebychev equalizer design:


minimize max G̃(ω) − e−i10ω
ω

equalized system impulse response g̃


1

0.8
g̃(t)

0.6

0.4

0.2

−0.2
0 5 10 15 20 25 30 35

Filter design 22
e
equalized frequency response magnitude |G|
1
10

|G(ω)| 0
10
e

−1
10
0 0.5 1 1.5 2 2.5 3
ω
e
equalized frequency response phase 6 G
3

2
G(ω)

0
e

−1
6

−2

−3
0 0.5 1 1.5 2 2.5 3
ω

Filter design 23
time-domain equalizer design:

minimize max |g̃(t)|


t6=10

equalized system impulse response g̃


1

0.8

0.6
g̃(t)

0.4

0.2

−0.2
0 5 10 15 20 25 30 35

Filter design 24
e
equalized frequency response magnitude |G|
1
10

0
10
|G(ω)|
e

−1
10
0 0.5 1 1.5 2 2.5 3
ω
e
equalized frequency response phase 6 G
3

0
G(ω)

−1
e

−2
6

−3
0 0.5 1 1.5 2 2.5 3
ω

Filter design 25
Filter magnitude specifications

transfer function magnitude spec has form

L(ω) ≤ |H(ω)| ≤ U (ω), ω ∈ [0, π]

where L, U : R → R+ are given

• lower bound is not convex in filter coefficients h

• arises in many applications, e.g., audio, spectrum shaping

• can change variables to solve via convex optimization

Filter design 26
Autocorrelation coefficients
autocorrelation coefficients associated with impulse response
h = (h0, . . . , hn−1) ∈ Rn are
X
rt = hτ hτ +t
τ

(we take hk = 0 for k < 0 or k ≥ n)

• rt = r−t; rt = 0 for |t| ≥ n


• hence suffices to specify r = (r0, . . . , rn−1) ∈ Rn

Filter design 27
Fourier transform of autocorrelation coefficients is

X n−1
X
R(ω) = e−iωτ rτ = r0 + 2rt cos ωt = |H(ω)|2
τ t=1

• always have R(ω) ≥ 0 for all ω


• can express magnitude specification as

L(ω)2 ≤ R(ω) ≤ U (ω)2, ω ∈ [0, π]

. . . convex in r

Filter design 28
Spectral factorization

question: when is r ∈ Rn the autocorrelation coefficients of some h ∈ Rn?


answer: (spectral factorization theorem) if and only if R(ω) ≥ 0 for all ω

• spectral factorization condition is convex in r


• many algorithms for spectral factorization, i.e., finding an h s.t.
R(ω) = |H(ω)|2

magnitude design via autocorrelation coefficients:


• use r as variable (instead of h)
• add spectral factorization condition R(ω) ≥ 0 for all ω
• optimize over r
• use spectral factorization to recover h

Filter design 29
log-Chebychev magnitude design
choose h to minimize

max |20 log10 |H(ω)| − 20 log10 D(ω)|


ω

• D is desired transfer function magnitude


(D(ω) > 0 for all ω)
• find minimax logarithmic (dB) fit
reformulate as

minimize t
subject to D(ω)2/t ≤ R(ω) ≤ tD(ω)2, 0≤ω≤π

• convex in variables r, t
• constraint includes spectral factorization condition

Filter design 30

example: 1/f (pink noise) filter (i.e., D(ω) = 1/ ω), n = 50,
log-Chebychev design over 0.01π ≤ ω ≤ π
1
10

0
10
|H(ω)|2

−1
10

−2
10 −1 0
10 10
ω

optimal fit: ±0.5dB

Filter design 31

Das könnte Ihnen auch gefallen