Filter 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 FIR filters fini...
Author: Emerald Gilbert
0 downloads 2 Views 156KB Size
Filter design • FIR filters • Chebychev design • linear phase filter design • equalizer design • filter magnitude specifications

1

FIR filters finite impulse response (FIR) filter:

y(t) =

n−1 X τ =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

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

n−1 X t=0

• (EE tradition uses j =



ht cos tω + i

n−1 X

ht sin tω

t=0

−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

h(t)

0.1 0 −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

|H(ω)|

10

−1

10

−2

10

−3

10

0

0.5

1

1.5

2

2.5

3

2

2.5

3

ω

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

H(ω)

2 1 0

6

−1 −2 −3 0

0.5

1

1.5

ω 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:

where

minimize t

(k) (k) subject to A h − b ≤ t, A(k) =





1 cos ωk 0 −sin ωk

ℜHdes(ωk ) ℑHdes(ωk )   h0 h =  ..  hn−1

b(k) =

Filter design



k = 1, . . . , m

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



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,

Filter design

ωs ≤ ω ≤ π

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

h(t)

0.1 0 −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

|H(ω)|

10

−1

10

−2

10

−3

10

0

0.5

1

1.5

2

2.5

3

2

2.5

3

ω

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

H(ω)

1 0 −1

6

−2 −3 0

0.5

1

1.5

ω 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ω , gdes(t) =



1 t=D 0 t= 6 D

sample design: minimize

maxt6=D |˜ g (t)|

subject to g˜(D) = 1 • an LP

• can use

Filter design

P

˜(t) t6=D g

2

or

P

t6=D

|˜ g (t)|

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:

1 0.8

g(t)

0.6 0.4 0.2 0 −0.2 −0.4 0

1

2

3

4

5

6

7

8

9

t

Filter design

20

1

|G(ω)|

10

0

10

−1

10

0

0.5

1

1.5

2

2.5

3

2

2.5

3

ω 3

6

G(ω)

2 1 0 −1 −2 −3 0

0.5

1

1.5

ω

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

g ˜(t)

0.8 0.6 0.4 0.2 0 −0.2 0

5

10

15

20

25

30

35

t

Filter design

22

e equalized frequency response magnitude |G| 1

e |G(ω)|

10

0

10

−1

10

0

0.5

1

1.5

2

2.5

3

2

2.5

3

ω

e equalized frequency response phase 6 G 3

6

e G(ω)

2 1 0

−1 −2 −3 0

0.5

1

1.5

ω Filter design

23

time-domain equalizer design: minimize max |˜ g (t)| t6=10

equalized system impulse response g˜ 1 0.8

g ˜(t)

0.6 0.4 0.2 0 −0.2 0

5

10

15

20

25

30

35

t

Filter design

24

e equalized frequency response magnitude |G| 1

10

e |G(ω)|

0

10

−1

10

0

0.5

1

1.5

2

2.5

3

2

2.5

3

ω

e equalized frequency response phase 6 G 3 2

0 −1 −2

6

e G(ω)

1

−3 0

0.5

1

1.5

ω 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 rt =

X

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 R(ω) =

X

e−iωτ rτ = r0 +

τ

n−1 X 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

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

|H(ω)|2

10

−1

10

−2

10

−1

0

10

10

ω

optimal fit: ±0.5dB Filter design

31

Suggest Documents