filter design techniquestwins.ee.nctu.edu.tw/courses/dsp_07/chap7-filter design-fir.pdf · filter...

25
Filter Design-FIR ([email protected]) 1 Filter Design Techniques • Filter – Filter is a system that passes certain frequency components and totally rejects all others Stages of the design filter – Specification of the desired properties of the system – Approximation of the specification using a causal discrete-time system – Realization of the system

Upload: others

Post on 18-Jul-2020

18 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 1

Filter Design Techniques• Filter

– Filter is a system that passes certain frequency components and totally rejects all others

• Stages of the design filter– Specification of the desired properties

of the system– Approximation of the specification using

a causal discrete-time system– Realization of the system

Page 2: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 2

Review of discrete-time systems

Frequency response :• periodic : period = • for a real impulse response h[k]

Magnitude response is even functionPhase response is odd function

• example :

)( ωjeH

)( ωjeH∠

-4 -2 0 2 40

0.5

1

-4 -2 0 2 4-5

0

5

Nyquist frequency,...1,1,1,1,1..., −−=kje π

π

π2

π−

Page 3: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 3

Review of discrete-time systems

`Popular’ frequency responses for filter design :low-pass (LP) high-pass (HP) band-pass (BP)

band-stop multi-band …

π π

π π

π

π

Page 4: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 4

Review of discrete-time systems

“FIR filters” (finite impulse response):

• “Moving average filters” (MA filters)• N poles at the origin z=0 (hence guaranteed stability) • N zeros (zeros of B(z)), “all zero” filters• corresponds to difference equation

• impulse response

NNN zbzbb

zzBzH −− +++== ...)()( 1

10

][...]1[][][ 10 Nkubkubkubky N −++−+=

,...0]1[,][,...,]1[,]0[ 10 =+=== NhbNhbhbh N

Page 5: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 5

Linear Phase FIR FiltersNon-causal zero-phase filters :

example: symmetric impulse response h[-L],….h[-1],h[0],h[1],...,h[L]h[k]=h[-k], k=1..L

frequency response is

- i.e. real-valued (=zero-phase) transfer function- causal implementation by introducing (group) delay

∑∑=

+

−=

− ===L

kk

L

Lk

kjj kaekheH0

. )cos(...][)( ωωω

kL

Page 6: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 6

Linear Phase FIR Filters• Causal linear-phase filters = non-causal zero-phase +

delayexample: symmetric impulse response & N even

h[0],h[1],….,h[N]N=2L (even)h[k]=h[N-k], k=0..L

frequency response is

= i.e. causal implementation of zero-phase filter, by introducing (group) delay

∑∑=

=

− ===L

kk

LjN

k

kjj kaeekheH00

. )cos(...][)( ωωωω

kN

Lj

ez

L ez j

ωω

=

− =

0

Page 7: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 7

Linear Phase FIR FiltersType-1 Type-2 Type-3 Type-4N=2L=even N=2L+1=odd N=2L=even N=2L+1=oddsymmetric symmetric anti-symmetric anti-symmetrich[k]=h[N-k] h[k]=h[N-k] h[k]=-h[N-k] h[k]=-h[N-k]

zero at zero at zero at

LP/HP/BP LP/BP HP

∑=

−L

kk

Nj kae0

2/ )cos(ωω ∑=

−L

kk

Nj kae0

2/ )cos()2

cos( ωωω

∑=

−L

kk

Nj kaej0

2/ )cos()2

sin(. ωωω∑−

=

−1

0

2/ )cos()sin(L

kk

Nj kaje ωωω

πω = πω ,0= 0=ω

Page 8: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 8

Linear Phase FIR Filters• efficient direct-form realization.

example:

• PS: IIR filters can NEVER have linear-phase property !

bo

y[k]

u[k]Δ Δ Δ Δ

+

Δ Δ Δ Δ

+ ++ +

++

x xb4

xb3

xb2

xb1

++

Page 9: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 9

Filter Specification

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

Passband Ripple

Stopband Ripple

Passband Cutoff -> <- Stopband Cutoff

Ex: Low-pass

PωP1 δ−Sω

Page 10: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 10

Filter Design Problem• Design of filters is a problem of

function approximation

• For FIR filter, it implies polynomial approximation

• For IIR filter, it implies approximation by a rational function of z

Page 11: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 11

Filter Design by Optimization(I) Weighted Least Squares Design :• select one of the basic forms that yield linear phase

e.g. Type-1

• specify desired frequency response (LP,HP,BP,…)

• optimization criterion is

where is a weighting function

)()cos()( 2/

0

2/ ωω ωωω AekaeeH NjL

kk

Njj −

=

− == ∑

)()( 2/ ωω ωd

Njd AeH −=

4444 34444 21),...,(

2

,...,

2

,...,

0

00

)()()(min)()()(min

L

LL

aaF

daadj

aadAAWdHeHW ωωωωωωω

π

π

ωπ

π

−=− ∫∫+

+

0)( ≥ωW

Page 12: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 12

Filter Design by Optimization• …this is equivalent to

=standard ‘Quadratic Optimization’ problem

[ ]

[ ]...

)cos(...)cos(1)(

)()()(

)()()(

...

}2{min

0

0

10

),...,( 0

==

=

=

=

+−

μωωω

ωωωω

ωωωω

μ

π

π

Lc

dcAWp

dccWQ

aaax

pxQxx

T

d

T

LT

aaF

TT

x

L 444 8444 76

pQxOPT1−=

Page 13: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 13

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

1.2

Passband Ripple

Stopband Ripple

Passband Cutoff -> <- Stopband Cutoff

Filter Design by Optimization

• Example: Low-pass design

optimization function is

i.e.

...

band-stop

)(.

band-pass

1)(),...,( 2

0

20 =+−= ∫∫

+

443442144 344 21

ωωγωωπ

ω

ω

dAdAaaFS

P

L

band)-(stop ,0)(

band)-(pass ,1)(

πωωω

ωωω

≤≤=

<=

Sd

Pd

A

A

...)( =ωW

Page 14: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 14

Filter Design by Optimization• a simpler problem is obtained by replacing the F(..) by…

where the wi’s are a set of n sample frequenciesThe quadratic optimization problem is then equivalent to a least-squares problem

+++ : simple--- : unpredictable behavior in between sample frequencies.

∑∑⎪⎭

⎪⎬

⎪⎩

⎪⎨

⎧−

⎥⎥⎥

⎢⎢⎢

⎡=−=

iid

L

iT

ii

idiiL Aa

acWAAWaaF

20

20 )(:)()( )()()(),...,( ωωωωωω

{ { {}2{minmin......)()()(

2

2

∑+

∑−

∑=−

iiii

Tii

bbbAxxAAxbxA TTT

ccW

TT

xxωωω

bAAAx TTLS

1)( −= Compare to p.12

Page 15: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 15

Filter Design by Optimization• …then all this is often supplemented with

additional constraints

Example: Low-pass (LP) design (continued) pass-band ripple control :

stop-band ripple control :

ripple) band-pass is ( ,1)( PP δωωδω PA <≤−

ripple) band-stop is ( ,)( SS δπωωδω ≤≤≤ SA

Page 16: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 16

Filter Design by OptimizationExample: Low-pass (LP) design (continued)

a realistic way to implement these constraints, is to impose the constraints (only) on a set of sample frequencies

in the pass-bandand in the stop-band

The resulting optimization problem is :minimize :

subject to (pass-band constraints)(stop-band constraints)

= `Quadratic Linear Programming’ problem

PmPP ωωω ,...,, 21

SnSS ωωω ,...,, 21

[ ]LT

L

aaax

aaF

...

...),...,(

10

0

=

=

SS

PP

bxAbxA

≤≤

Page 17: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 17

Filter Design by Optimization(II) `Minimax’ Design :• select one of the basic forms that yield linear phase

e.g. Type-1

• specify desired frequency response (LP,HP,BP,…)

• optimization criterion is

where is a weighting function

)()cos(][)( 2/

0

2/ ωω ωωω AekkaeeH NjL

k

Njj −

=

− == ∑

)()( 2/ ωω ωd

Njd AeH −=

)()()(maxmin)()()(maxmin0,...,0,..., 00

ωωωωωπω

ω

πω daadj

aaAAWHeHW

LL

−=−≤≤≤≤

0)( ≥ωW

Page 18: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 18

Filter Design by Optimization• Conclusion:

(I) weighted least squares design(II) minimax designprovide general `framework’, procedures to translate filter design problems into standard optimization problems

• In practice (and in textbooks):emphasis on specific (ad-hoc) procedures : - filter design based on ‘windows’- equi-ripple design

Page 19: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 19

Filter Design using ‘Windows’Example : Low-pass filter design• ideal low-pass filter is

• hence ideal time-domain impulse response is

• truncate hd[k] to N+1 samples :

• add (group) delay to turn into causal filter

⎩⎨⎧

<<<

=πωω

ωωω

0 1

)(C

CdH

kkdeeHkh

c

ckjdd

j

ωωαω

πω

π

π

ω )sin(...)(21][ . === ∫

+

⎩⎨⎧ <<−

=otherwise 0

2/2/ ][][

NkNkhkh d

π

Non-causal and infinitely long

Page 20: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 20

Filter Design using ‘Windows’Example : Low-pass filter design (continued)• note : it can be shown that time-domain truncation corresponds to

solving a weighted least-squares optimization problem with the given Hd, and weighting function

• truncation corresponds to applying a ‘rectangular window’ :

• +++: simple procedure (also for HP,BP,…)• --- : truncation in the time-domain results in ‘Gibbs effect’ in the

frequency domain, i.e. large ripple in pass-band and stop-band, which cannot be reduced by increasing the filter order N.

][][][ kwkhkh d=

⎩⎨⎧

=<<−

otherwise 0 1

][2/2/ NkN

kw

1)( =ωW

Page 21: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 21

Filter Design using ‘Windows’Remedy : apply windows other than rectangular window:• time-domain multiplication with a window function w[k]

corresponds to frequency domain convolution with W(z) :

• candidate windows : Han, Hamming, Blackman, Kaiser,…. (see textbooks)

• window choice/design = trade-off between side-lobe levels(define peak pass-/stop-band ripple) and width main-lobe (defines transition bandwidth)

][][][ kwkhkh d=

)()()( zWzHzH d ∗=

Page 22: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 22

Windowing Effect

Gibbs phenomenon

Page 23: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

23

Windowing

Page 24: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 24

Equiripple Design• Starting point is minimax criterion, e.g.

• Based on theory of Chebyshev approximation and the ‘alternation theorem’, which (roughly) states that the optimal ai’s are such that the ‘max’ (maximum weighted approximation error) is obtained at L+2 extremal frequencies…

…that hence will exhibit the same maximum ripple (‘equiripple’)• Iterative procedure for computing extremal frequencies, etc.

(Remez exchange algorithm, Parks-McClellan algorithm) • Very flexible, etc., available in many software packages• Details omitted here (see textbooks)

)(maxmin)()()(maxmin0,...,0,..., 00

ωωωωπωπω

EAAWLL aadaa ≤≤≤≤

=−

2,..,1for )()(max0

+==≤≤

LiEE iωωπω

Page 25: Filter Design Techniquestwins.ee.nctu.edu.tw/courses/dsp_07/Chap7-Filter Design-FIR.pdf · Filter Design-FIR (cwliu@twins.ee.nctu.edu.tw) 21 Filter Design using ‘Windows’ Remedy

Filter Design-FIR ([email protected]) 25

Software• FIR Filter design abundantly available in

commercial software• Matlab:

b=fir1(n,Wn,type,window), windowed linear-phase FIR design, n is filter order, Wn defines band-edges, type is `high’,`stop’,…

b=fir2(n,f,m,window), windowed FIR design based on inverse Fourier transform with frequency points f and corresponding magnitude response m

b=remez(n,f,m), equiripple linear-phase FIR design with Parks-McClellan (Remez exchange) algorithm