Filter design

FIR filters • Chebychev design • 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(ω) : 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 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