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 y(t)= h u(t τ), t Z τ − ∈ τX=0
(sequence) u : Z R is input signal • → (sequence) y : Z R is output signal • → h are called filter coefficients • i n is filter order or length •
Filter design 2 filter frequency response: H : R C → H(ω) = h + h e−jω + + h e−j(n−1)ω 0 1 ··· n−1 n−1 n−1
= ht cos tω + j ht sin tω Xt=0 Xt=0
j means √ 1 here (EE tradition) • − 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 ) t
( 0 h
−0.1
−0.2
0 2 4 6 8 10 12 14 16 18 20 t
Filter design 4 frequency response magnitude (i.e., H(ω) ): | | 1 10
0 10 | )
ω −1 10 ( H
| −2 10
−3 10 0 0.5 1 1.5 2 2.5 3 ω frequency response phase (i.e., 6 H(ω)):
3
2
) 1 ω
( 0 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 • H : R C is (given) desired transfer function • des → convex problem • can add constraints, e.g., h 1 • | i|≤ sample (discretize) frequency:
minimize max H(ωk) Hdes(ωk) k=1,...,m | − |
sample points 0 ω < < ω π are fixed (e.g., ω = kπ/m) • ≤ 1 ··· m ≤ k 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(k)h b(k) t, k =1,...,m − ≤
where
1 cos ω cos(n 1)ω A(k) = k ··· − k 0 sin ωk sin(n 1)ωk − ··· − − H (ω ) b(k) = ℜ des k Hdes(ωk) ℑ h0 h = h··· n−1
Filter design 7 Linear phase filters suppose n =2N +1 is odd • impulse response is symmetric about midpoint: • h = h , t =0, . . . , n 1 t n−1−t − then
H(ω)= h + h e−jω + + h e−j(n−1)ω 0 1 ··· n−1 = e−jNω (2h cos Nω +2h cos(N 1)ω + + h ) 0 1 − ··· N =∆ e−jNωH(ω) e
Filter design 8 term e−jNω represents N-sample delay • H(ω) is real • e H(ω) = H(ω) • | | | | e 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 ( 20log δ in dB): • ± 10 1 1/δ H(ω) δ , 0 ω ω 1 ≤| |≤ 1 ≤ ≤ p
minimum stopband attenuation ( 20log δ in dB): • − 10 2 H(ω) δ , ω ω π | |≤ 2 s ≤ ≤
Filter design 11 Linear phase lowpass filter design
sample frequency • can assume wlog H(0) > 0, so ripple spec is • e 1/δ H(ω ) δ 1 ≤ k ≤ 1 e design for maximum stopband attenuation:
minimize δ2 subject to 1/δ H(ω ) δ , 0 ω ω 1 ≤ k ≤ 1 ≤ k ≤ p δ H(ω ) δ , ω ω π − 2 ≤ e k ≤ 2 s ≤ k ≤ e
Filter design 12 passband ripple δ is given • 1 an LP in variables h, δ • 2 known (and used) since 1960’s • can add other constraints, e.g., h α • | i|≤ variations and extensions: fix δ , minimize δ (convex, but not LP) • 2 1 fix δ and δ , minimize ω (quasiconvex) • 1 2 s fix δ and δ , minimize order n (quasiconvex) • 1 2
Filter design 13 example linear phase filter, n = 21 • passband [0, 0.12π]; stopband [0.24π,π] • max ripple δ =1.012 ( 0.1dB) • 1 ± design for maximum stopband attenuation • impulse response h:
0.2
0.1 )
t 0 (
h −0.1
−0.2
0 2 4 6 8 10 12 14 16 18 20 t
Filter design 14 frequency response magnitude (i.e., H(ω) ): | | 1 10
0 10
| −1
) 10 ω ( −2 10 H |
−3 10 0 0.5 1 1.5 2 2.5 3 ω frequency response phase (i.e., 6 H(ω)):
3
2
1
) 0 ω
( −1 H −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) • G (desired frequency response) • des design (FIR equalizer) H so that G =∆ GH G ≈ des −jDωe common choice: Gdes(ω)= e (delay) • i.e., equalization is deconvolution (up to delay) can add constraints on H, e.g., limits on h or max H(ω) • | i| ω | |
Filter design 16 Chebychev equalizer design:
minimize max G(ω) Gdes(ω) ω∈[0,π] −
e convex; SOCP after sampling frequency
Filter design 17 time-domain equalization: optimize impulse response g˜ of equalized system −jDω e.g., with Gdes(ω)= e ,
1 t = D g (t)= des 0 t = D 6 sample design: minimize max g˜(t) t6=D | | subject to g˜(D)=1 an LP • can use g˜(t)2 or g˜(t) • t6=D t6=D | | P P
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 G , k =1,...,K ≈ des
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:
1
0.8
0.6
) 0.4 t ( 0.2 g 0
−0.2
−0.4 0 1 2 3 4 5 6 7 8 9 t
Filter design 20 1 10 | )
ω 0 10 ( G |
−1 10 0 0.5 1 1.5 2 2.5 3 ω
3
2
) 1 ω
( 0 G
6 −1
−2
−3 0 0.5 1 1.5 2 2.5 3 ω design 30th order FIR equalizer with G(ω) e−j10ω ≈ e Filter design 21 Chebychev equalizer design:
minimize max G˜(ω) e−j10ω ω −
equalized system impulse response g˜
1
0.8
) 0.6 t ( 0.4 ˜ g 0.2
0
−0.2 0 5 10 15 20 25 30 35 t
Filter design 22 equalized frequency response magnitude G 1 10 | | e | )
ω 0 10 ( e G |
−1 10 0 0.5 1 1.5 2 2.5 3 ω equalized frequency response phase 6 G 3
2 e
) 1 ω
( 0 e G
6 −1
−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 )
t 0.4 ( ˜ g 0.2
0
−0.2 0 5 10 15 20 25 30 35 t
Filter design 24 equalized frequency response magnitude G 1 10 | | e
0 10 | ) ω ( e G |
−1 10 0 0.5 1 1.5 2 2.5 3 ω equalized frequency response phase 6 G 3
2 e
1
0 )
ω −1 ( e
G −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 =(h ,...,h ) Rn are 0 n−1 ∈
rt = hτ hτ+t Xτ
(we take h =0 for k < 0 or k n) k ≥
r = r ; r =0 for t n • t −t t | |≥ hence suffices to specify r =(r ,...,r ) Rn • 0 n−1 ∈
Filter design 27 Fourier transform of autocorrelation coefficients is
n−1 R(ω)= e−jωτ r = r + 2r cos ωt = H(ω) 2 τ 0 t | | Xτ Xt=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 spec. fact. 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 20log10 H(ω) 20log10 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 2 | ) ω (
H −1 | 10
−2 10 −1 0 10 10 ω optimal fit: 0.5dB ±
Filter design 31