Filter design - Stanford University · PDF fileFilter design • FIR filters •...

31
Filter design FIR filters Chebychev design linear phase filter design equalizer design filter magnitude specifications 1

Transcript of Filter design - Stanford University · PDF fileFilter design • FIR filters •...

Page 1: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Filter design

• FIR filters

• Chebychev design

• linear phase filter design

• equalizer design

• filter magnitude specifications

1

Page 2: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

FIR filters

finite impulse response (FIR) filter:

y(t) =

n−1∑

τ=0

hτu(t − τ), t ∈ Z

• (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

Page 3: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

filter frequency response: H : R → C

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

−i(n−1)ω

=n−1∑

t=0

ht cos tω + in−1∑

t=0

ht sin tω

• (EE tradition uses j =√−1 instead of i)

• H is periodic and conjugate symmetric, so only need to know/specifyfor 0 ≤ ω ≤ π

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

Filter design 3

Page 4: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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

impulse response h:

0 2 4 6 8 10 12 14 16 18 20

−0.2

−0.1

0

0.1

0.2

t

h(t

)

Filter design 4

Page 5: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

frequency response magnitude (i.e., |H(ω)|):

0 0.5 1 1.5 2 2.5 310

−3

10−2

10−1

100

101

ω

|H(ω

)|

frequency response phase (i.e., 6 H(ω)):

0 0.5 1 1.5 2 2.5 3−3

−2

−1

0

1

2

3

ω

6H

(ω)

Filter design 5

Page 6: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Chebychev design

minimize maxω∈[0,π]

|H(ω) − Hdes(ω)|

• 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 maxk=1,...,m

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

• 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

Page 7: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Chebychev design via SOCP:

minimize tsubject to

∥∥A(k)h − b(k)∥∥ ≤ t, k = 1, . . . ,m

where

A(k) =

[1 cosωk · · · cos(n−1)ωk

0 −sinωk · · · −sin(n−1)ωk

]

b(k) =

[ℜHdes(ωk)ℑHdes(ωk)

]

h =

h0...

hn−1

Filter design 7

Page 8: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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 cosNω + 2h1 cos(N−1)ω + · · · + hN)

∆= e−iNωH̃(ω)

Filter design 8

Page 9: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

• term e−iNω represents N -sample delay

• H̃(ω) is real

• |H(ω)| = |H̃(ω)|

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

Filter design 9

Page 10: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Lowpass filter specifications

ω

δ1

1/δ1

δ2

ωp ωs π

idea:

• pass frequencies in passband [0, ωp]

• block frequencies in stopband [ωs, π]

Filter design 10

Page 11: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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

Page 12: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Linear phase lowpass filter design

• sample frequency

• can assume wlog H̃(0) > 0, so ripple spec is

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

design for maximum stopband attenuation:

minimize δ2

subject to 1/δ1 ≤ H̃(ωk) ≤ δ1, 0 ≤ ωk ≤ ωp

−δ2 ≤ H̃(ωk) ≤ δ2, ωs ≤ ωk ≤ π

Filter design 12

Page 13: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

• 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

Page 14: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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 4 6 8 10 12 14 16 18 20

−0.2

−0.1

0

0.1

0.2

t

h(t

)

Filter design 14

Page 15: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

frequency response magnitude (i.e., |H(ω)|):

0 0.5 1 1.5 2 2.5 310

−3

10−2

10−1

100

101

ω

|H(ω

)|

frequency response phase (i.e., 6 H(ω)):

0 0.5 1 1.5 2 2.5 3−3

−2

−1

0

1

2

3

ω

6H

(ω)

Filter design 15

Page 16: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Equalizer design

G(ω)H(ω)

equalization: given

• G (unequalized frequency response)

• Gdes (desired frequency response)

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

Page 17: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Chebychev equalizer design:

minimize maxω∈[0,π]

∣∣∣G̃(ω) − Gdes(ω)∣∣∣

convex; SOCP after sampling frequency

Filter design 17

Page 18: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

time-domain equalization: optimize impulse response g̃ of equalizedsysteme.g., with Gdes(ω) = e−iDω,

gdes(t) =

{1 t = D0 t 6= D

sample design:minimize maxt6=D |g̃(t)|subject to g̃(D) = 1

• an LP

• can use∑

t6=D g̃(t)2 or∑

t6=D |g̃(t)|

Filter design 18

Page 19: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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

Page 20: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Equalizer design example

unequalized system G is 10th order FIR:

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

−0.2

0

0.2

0.4

0.6

0.8

1

t

g(t

)

Filter design 20

Page 21: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

0 0.5 1 1.5 2 2.5 310

−1

100

101

ω

|G(ω

)|

0 0.5 1 1.5 2 2.5 3−3

−2

−1

0

1

2

3

ω

6G

(ω)

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

Filter design 21

Page 22: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Chebychev equalizer design:

minimize maxω

∣∣∣G̃(ω) − e−i10ω∣∣∣

equalized system impulse response g̃

0 5 10 15 20 25 30 35−0.2

0

0.2

0.4

0.6

0.8

1

t

g̃(t

)

Filter design 22

Page 23: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

equalized frequency response magnitude |G̃|

0 0.5 1 1.5 2 2.5 310

−1

100

101

ω

|e G(ω

)|

equalized frequency response phase 6 G̃

0 0.5 1 1.5 2 2.5 3−3

−2

−1

0

1

2

3

ω

6e G(ω

)

Filter design 23

Page 24: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

time-domain equalizer design:

minimize maxt6=10

|g̃(t)|

equalized system impulse response g̃

0 5 10 15 20 25 30 35−0.2

0

0.2

0.4

0.6

0.8

1

t

g̃(t

)

Filter design 24

Page 25: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

equalized frequency response magnitude |G̃|

0 0.5 1 1.5 2 2.5 310

−1

100

101

ω

|e G(ω

)|

equalized frequency response phase 6 G̃

0 0.5 1 1.5 2 2.5 3−3

−2

−1

0

1

2

3

ω

6e G(ω

)

Filter design 25

Page 26: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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

Page 27: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Autocorrelation coefficients

autocorrelation coefficients associated with impulse responseh = (h0, . . . , hn−1) ∈ Rn are

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

Page 28: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

Fourier transform of autocorrelation coefficients is

R(ω) =∑

τ

e−iωτrτ = r0 +n−1∑

t=1

2rt cosωt = |H(ω)|2

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

• can express magnitude specification as

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

. . . convex in r

Filter design 28

Page 29: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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

Page 30: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

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 tsubject to D(ω)2/t ≤ R(ω) ≤ tD(ω)2, 0 ≤ ω ≤ π

• convex in variables r, t

• constraint includes spectral factorization condition

Filter design 30

Page 31: Filter design - Stanford University · PDF fileFilter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

example: 1/f (pink noise) filter (i.e., D(ω) = 1/√

ω), n = 50,log-Chebychev design over 0.01π ≤ ω ≤ π

10−1

100

10−2

10−1

100

101

ω

|H(ω

)|2

optimal fit: ±0.5dB

Filter design 31