Filter design FIR filters Chebychev design linear phase filter - - PowerPoint PPT Presentation

filter design
SMART_READER_LITE
LIVE PREVIEW

Filter design FIR filters Chebychev design linear phase filter - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Filter design

  • FIR filters
  • Chebychev design
  • linear phase filter design
  • equalizer design
  • filter magnitude specifications

1

slide-2
SLIDE 2

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

slide-3
SLIDE 3

filter frequency response: H : R → C H(ω) = h0 + h1e−iω + · · · + hn−1e−i(n−1)ω =

n−1

  • t=0

ht cos tω + i

n−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/specify

for 0 ≤ ω ≤ π FIR filter design problem: choose h so it and H satisfy/optimize specs

Filter design 3

slide-4
SLIDE 4

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

2 4 6 8 10 12 14 16 18 20 −0.2 −0.1 0.1 0.2

t h(t)

Filter design 4

slide-5
SLIDE 5

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

0.5 1 1.5 2 2.5 3 10

−3

10

−2

10

−1

10 10

1

ω |H(ω)|

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

0.5 1 1.5 2 2.5 3 −3 −2 −1 1 2 3

ω

H(ω) Filter design 5

slide-6
SLIDE 6

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 max

k=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

slide-7
SLIDE 7

Chebychev design via SOCP: minimize t subject to

  • A(k)h − b(k)

≤ t, k = 1, . . . , m where A(k) = 1 cos ωk · · · cos(n−1)ωk −sin ωk · · · −sin(n−1)ωk

  • b(k)

=

  • ℜHdes(ωk)

ℑHdes(ωk)

  • h

=   h0 . . . hn−1  

Filter design 7

slide-8
SLIDE 8

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−iNω H(ω)

Filter design 8

slide-9
SLIDE 9
  • term e−iNω represents N-sample delay

H(ω) is real

  • |H(ω)| = |

H(ω)|

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

Filter design 9

slide-10
SLIDE 10

Lowpass filter specifications

ω δ1 1/δ1 δ2 ωp ωs π

idea:

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

Filter design 10

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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

slide-13
SLIDE 13
  • 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

slide-14
SLIDE 14

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:

2 4 6 8 10 12 14 16 18 20 −0.2 −0.1 0.1 0.2

t h(t)

Filter design 14

slide-15
SLIDE 15

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

0.5 1 1.5 2 2.5 3 10

−3

10

−2

10

−1

10 10

1

ω |H(ω)|

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

0.5 1 1.5 2 2.5 3 −3 −2 −1 1 2 3

ω

H(ω) Filter design 15

slide-16
SLIDE 16

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

slide-17
SLIDE 17

Chebychev equalizer design: minimize max

ω∈[0,π]

  • G(ω) − Gdes(ω)
  • convex; SOCP after sampling frequency

Filter design 17

slide-18
SLIDE 18

time-domain equalization: optimize impulse response ˜ g of equalized system e.g., with Gdes(ω) = e−iDω, gdes(t) =

  • 1

t = D t = D sample design: minimize maxt=D |˜ g(t)| subject to ˜ g(D) = 1

  • an LP
  • can use

t=D ˜

g(t)2 or

t=D |˜

g(t)|

Filter design 18

slide-19
SLIDE 19

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

slide-20
SLIDE 20

Equalizer design example

unequalized system G is 10th order FIR:

1 2 3 4 5 6 7 8 9 −0.4 −0.2 0.2 0.4 0.6 0.8 1

t g(t)

Filter design 20

slide-21
SLIDE 21

0.5 1 1.5 2 2.5 3 10

−1

10 10

1

ω |G(ω)|

0.5 1 1.5 2 2.5 3 −3 −2 −1 1 2 3

ω

G(ω)

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

Filter design 21

slide-22
SLIDE 22

Chebychev equalizer design: minimize max

ω

  • ˜

G(ω) − e−i10ω

  • equalized system impulse response ˜

g

5 10 15 20 25 30 35 −0.2 0.2 0.4 0.6 0.8 1

t ˜ g(t)

Filter design 22

slide-23
SLIDE 23

equalized frequency response magnitude | G|

0.5 1 1.5 2 2.5 3 10

−1

10 10

1

ω | e G(ω)|

equalized frequency response phase

  • G

0.5 1 1.5 2 2.5 3 −3 −2 −1 1 2 3

ω

  • e

G(ω)

Filter design 23

slide-24
SLIDE 24

time-domain equalizer design: minimize max

t=10 |˜

g(t)| equalized system impulse response ˜ g

5 10 15 20 25 30 35 −0.2 0.2 0.4 0.6 0.8 1

t ˜ g(t)

Filter design 24

slide-25
SLIDE 25

equalized frequency response magnitude | G|

0.5 1 1.5 2 2.5 3 10

−1

10 10

1

ω | e G(ω)|

equalized frequency response phase

  • G

0.5 1 1.5 2 2.5 3 −3 −2 −1 1 2 3

ω

  • e

G(ω)

Filter design 25

slide-26
SLIDE 26

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

slide-27
SLIDE 27

Autocorrelation coefficients

autocorrelation coefficients associated with impulse response h = (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

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

10

−1

10 10

−2

10

−1

10 10

1

ω |H(ω)|2

  • ptimal fit: ±0.5dB

Filter design 31