analog filters and iir filter design - columbia universitydpwe/e4810/lectures/l08-iirdesign.pdf ·...

46
2013-11-11 Dan Ellis 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design: IIR 1. Filter Design Specifications 2. Analog Filter Design 3. Digital Filters from Analog Prototypes

Upload: lemien

Post on 05-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 1

ELEN E4810: Digital Signal ProcessingTopic 8:

Filter Design: IIR1. Filter Design Specifications2. Analog Filter Design3. Digital Filters from Analog Prototypes

Page 2: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 2

1. Filter Design Specifications The filter design process:

Design ImplementAnalysis

Pro

blem

Solution

G(z)transferfunction

performanceconstraints

• magnitude response• phase response• cost/complexity

• FIR/IIR• subtype• order

• platform• structure• ...

Page 3: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 3

Performance Constraints .. in terms of magnitude response:

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-40

-30

-20

-10

0

frequency

gain

/ dB

passbandedge

frequency

Passband

Stopband

passbandripple

minimumstopband

attenuation

optimalfilter

will touchhere

stopbandedge

frequency

trans

ition

ban

d

G(ej )

Page 4: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 4

“Best” filter:

improving one usually worsens others But: increasing filter order (i.e. cost)

can improve all three measures

Performance Constraints

smallestPassband Ripple

greatestMinimum SB Attenuation

narrowestTransition Band

Page 5: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 5

Passband Ripple

Assume peak passband gain = 1then minimum passband gain =

Or, ripple

11+2

max = 20 log10 1+2 dB

PB rippleparameter

1

G(ej )Passbanddetail

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-40

-30

-20

-10

0G(ej )

Page 6: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 6

Stopband Ripple

Peak passband gain is A× larger than peak stopband gain

Hence, minimum stopband attenuation

SB rippleparameter

s = 20 log10 1A = 20 log10 A dB

0freq

Stopbanddetail

1A

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9-40

-30

-20

-10

0G(ej )

Page 7: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 7

Filter Type Choice: FIR vs. IIR FIR

No feedback(just zeros)

Always stable Can be

linear phase High order

(20-2000) Unrelated to

continuous-time filtering

IIR Feedback

(poles & zeros) May be unstable Difficult to control

phase Typ. < 1/10th

order of FIR (4-20) Derive from

analog prototype

BUT

Page 8: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 8

FIR vs. IIR If you care about computational cost→ use low-complexity IIR

(computation no object → linear phase FIR)

If you care about phase response→ use linear-phase FIR

(phase unimportant → go with simple IIR)

Page 9: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 9

IIR Filter Design IIR filters are directly related to

analog filters (continuous time) via a mapping of H(s) (CT) to H(z) (DT) that

preserves many properties Analog filter design is sophisticated

signal processing research since 1940s→ Design IIR filters via analog prototype

need to learn some CT filter design

Page 10: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 10

2. Analog Filter Design Decades of analysis of transistor-based

filters – sophisticated, well understood Basic choices:

ripples vs. flatness in stop and/or passband more ripples → narrower transition band

Family PassBand StopBandButterworth flat flatChebyshev I ripples flatChebyshev II flat ripples

Elliptical ripples ripples

Page 11: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 11

CT Transfer Functions Analog systems: s-transform (Laplace)

frequency response still from a polynomialContinuous-time Discrete-time

Ha s( ) = ha t( )estdt

Hd z( ) = hd n[ ]znTransform

Frequencyresponse

Pole/zerodiagram

Ha j( )

Hd ej( )

s-planeRes

Imsj≠

stablepoles

stablepoles z-plane

Rez

Imz

1

ej!

s scales freq

Page 12: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 12

Maximally flat in pass and stop bands Magnitude

response (LP):

≠ ≪ ≠c, |Ha(j≠)|2 →1

≠ = ≠c, |Ha(j≠)|2 = 1/2

Butterworth Filters

Ha j( ) 2 = 1

1+ c

( )2Nfilterorder

N

3dB point0 1 2 30

0.2

0.4

0.6

0.8

1

Ha(j)

/ c

N

N

analog freq

Page 13: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 13

Butterworth Filters ≠ ≫ ≠c, |Ha(j≠)|2 →(≠c/≠)2N

flat →

@ ≠ = 0 for n = 1 .. 2N-1

d n

dn Ha j( ) 2 = 0

Log-logmagnituderesponse

6N dB/octrolloff

10-1 100 101-70

-60

-50

-40

-30

-20

-10

0

Ha(j

)/ d

B

/ c

N

N

slope →-6N dB/oct

analog freq

Page 14: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

Ha(j )

p s

A

14

Butterworth Filters How to meet design specifications?

1

1+ pc( )2N

1

1+ 2

11+ s

c( )2N1A2

k1 = A2 1

=“discrimination”, ≪ 1

k = p

s=“selectivity”, < 1

N 12log10 A 21

2( )log10

sp( )

DesignEquation

Page 15: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 15

Butterworth Filters ... but what is Ha(s)?

Traditionally, look it up in a table calculate N → normalized filter with ΩΩc = 1 scale all coefficients for desired ΩΩc

In fact,

where

Ha j( ) 2 = 11+ ( c

)2N

Ha s( ) = 1s pi( )i

pi =cej N +2 i1

2N i =1..Ns-plane

Res

ImsΩΩc×

×

××

sc

2N

= 1

odd-indexed uniform divisions of c-radius circle

Page 16: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

1kHzp

5kHzs

A

0 dB= -1 dB

= -40 dB

16

Butterworth Example

1dB = 20 log1011+2

2 = 0.259

40dB = 20 log10 1A

A =100

Design a Butterworth filter with 1 dB cutoff at 1kHz and a minimum attenuation of 40 dB at 5 kHz

s p

= 5

N 12log10 99990.259

log10 5 N = 4 3.28

Page 17: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

0 2000 4000 6000-60

-50

-40

-30

-20

-10

0

freq / Hzga

in /

dB

17

Butterworth Example Order N = 4 will satisfy constraints;

What are ΩΩc and filter coefficients? from a table, ΩΩ-1dB = 0.845 when ΩΩc = 1⇒ ΩΩc = 1000/0.845 = 1.184 kHz

from a table, get normalized coefficients for N = 4, scale by 1184·2º

Or, use Matlab: [B,A] = butter(N,Wc,’s’);

M

Page 18: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 18

Chebyshev I Filter Equiripple in passband (flat in stopband)→ minimize maximum error

Chebyshevpolynomialof order N

0 0.5 1 1.5 2-40

-30

-20

-10

0

gain

/ dB

N

N

rippledepth

|H(j)|2 =1

1 + 2T 2N (

p)

TN () =

cos(N cos1 ) || 1cosh(N cosh1 ) || > 1

(Чебышёв)

Page 19: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 19

Chebyshev I Filter

-2

0

-1

1

2T5( )

-1

0

1

2

3T5

2( )

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1/(1+0.1 T52( ))

TN () =

cos(N cos1 ) || 1cosh(N cosh1 ) || > 1

|H(j)|2 =1

1 + 2T 2N (

p)

T5()

T 25 ()

11 + 0.1T 2

5 ()

Page 20: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 20

Chebyshev I Filter Design procedure:

desired passband ripple → " min. stopband atten., ΩΩp, ΩΩs → N :

1A2 = 1

1+ 2TN2 (s

p)

= 1

1+ 2 cosh N cosh1 s p( )[ ]2

N cosh1 A 21

( )cosh1 s

p( )1/k1, discrimination

1/k, selectivity

cosh-1 growsslower than

log10

Page 21: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 21

Chebyshev I Filter What is Ha(s)?

complicated, get from a table .. or from Matlab cheby1(N,r,Wp,’s’) all-pole; can inspect them:

..like squashed-in Butterworth (why?)-1 -0.5 0 0.5 1

-1

-0.5

0

0.5

1

Res

Ims

Page 22: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 22

Chebyshev II Filter Flat in passband, equiripple in stopband

Filter has poles and zeros (some ) Complicated pole/zero pattern

Ha j( ) 2 = 1

1+2TN (

sp)

TN (s )

2

zeros on imaginary axis

constant

~1/TN(1/ΩΩ) 0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

gain

/ dB

N

N

peak ofstopband

ripples

Page 23: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

gain

/ dB

N N peakSB

ripples

PBrippledepth

23

Elliptical (Cauer) Filters Ripples in both passband and stopband

Complicated; not even closed form for Ν

very narrow transition band

Ha j( ) 2 = 11+2RN

2 ( p)

function; satisfiesRN(ΩΩ-1) = RN(ΩΩ)-1

zeros for ΩΩ<1 → poles for ΩΩ>1

Page 24: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 24

Analog Filter Types Summary

N = 6

r = 3 dB

A = 40 dB

0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

11c

gain

/ dB

1

gain

/ dB

1

gain

/ dB

1

gain

/ dB

Butterworth Chebyshev I

Chebyshev II Elliptical

1s

1p

r

r

A A

1p

Page 25: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 25

Analog Filter Transformations All filters types shown as lowpass;

other types (highpass, bandpass..)derived via transformations

i.e.

General mapping of s-planeBUT keep LHHP & jΩΩ → jΩΩ; poles OK, frequency response ‘shuffled’

HLP s( )ˆ s = F1 s( )

HD ˆ s ( )

Desired alternateresponse; still arational polynomiallowpass

prototype

^

Page 26: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 26

Lowpass-to-Highpass Example transformation:

take prototype HLP(s) polynomial replace s with

simplify and rearrange → new polynomial HHP(s)

H HP ˆ s ( ) = HLP s( ) s=p ˆ p

ˆ s

p ˆ pˆ s

^

Page 27: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 27

Lowpass-to-Highpass What happens to frequency response?

Frequency axes inverted

s = j ˆ s = p ˆ pj = j p ˆ p

( )

ˆ = p ˆ p

= p ˆ = ˆ p

< p ˆ < ˆ pLP passband HP passband

> p ˆ > ˆ pLP stopband HP stopband

imaginary axisstays on self...

...freq.→freq.

p

^

p^

LPF

HPF

Page 28: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 28

Transformation Example Design a Butterworth highpass filter

with PB edge -0.1dB @ 4 kHz (ΩΩp)and SB edge -40 dB @ 1 kHz (ΩΩs)

Lowpass prototype: make ΩΩp = 1

Butterworth -0.1dB @ ΩΩp=1, -40dB @ ΩΩs=4

^

^

s = ( )p ˆ pˆ s

= ( )4

N 12log10 A 21

2( )log10

sp( )

p@ 0.1dB1

1+ (p

c)10

=100.110

c = p /0.6866 =1.4564 N=5, 2N=10

Page 29: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 29

Transformation Example LPF proto has

Map to HPF:

p =cej N +21

2N Res

ImsΩΩc×

×

××

HLP s( ) = c

N

s p( )=1N

H HP ˆ s ( ) = HLP s( ) s=p ˆ p

ˆ s

H HP ˆ s ( ) = cN

p ˆ pˆ s p( )=1

N= c

N ˆ s N

p ˆ p p ˆ s ( )=1

N

N zeros@ s = 0^

new poles @ s = ΩΩpΩΩp/pl^ ^

Page 30: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 30

Transformation Example In Matlab:[N,Wc]=buttord(1,4,0.1,40,'s');[B,A] = butter(N, Wc, 's');[U,D] = lp2hp(B,A,2*pi*4000);

ΩΩp ΩΩs Rp Rs

-2 -1 0 1x 104

-1.5

-1

-0.5

0

0.5

1

1.5x 104

Res

Ims

0 1000 2000 3000 4000 5000-60

-50

-40

-30

-20

-10

0

/ Hz

gain

/ dB

Page 31: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 31

3. Analog Protos → IIR Filters Can we map high-performance CT

filters to DT domain? Approach: transformation Ha(s)→G(z)

i.e. where s = F(z) maps s-plane ↔ z-plane:

G z( ) = Ha s( ) s=F z( )

s-plane

Res

Ims

z-plane

Rez

Imz

1

Ha(s0) G(z0)Every value of G(z)is a value of Ha(s)somewhere on the s-plane & vice-versa

s = F(z)z = F-1(s)

Page 32: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 32

CT to DT Transformation Desired properties for s = F(z):

s-plane jΩΩ axis ↔ z-plane unit circle → preserves frequency response values

s-plane LHHP ↔ z-plane unit circle interior→ preserves stability of poles

s-plane

Res

Ims

jΩΩ

z-plane

Rez

Imz

1

ej!

LHHP↔UCI

Im↔u.c.

Page 33: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 33

Bilinear Transformation Solution:

Hence inverse:

Freq. axis?

Poles?

BilinearTransform

z = 1+ s1 s

unique, 1:1 mapping

s = j z = 1+ j1 j

|z| = 1 i.e.on unit circle

s = + j z = 1+( )+ j1( ) j

z 2 = 1+ 2 + 2 +2

1 2 + 2 +2σ < 0 ↔ |z| < 1

s =1 z1

1 + z1=

z 1z + 1

Page 34: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4

34

Bilinear Transformation How can entire half-plane fit inside u.c.?

Highly nonuniform warping! “Moebius Transformations Revealed”

http://www.youtube.com/watch?v=G87ehdmHeac

s-plane z-plane

Page 35: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 35

Bilinear Transformation What is CT↔DT freq. relation ΩΩ↔! ?

i.e.

infinite range of CT frequency maps to finite DT freq. range

nonlinear; as ! → º

z = e j s = 1e j1+e j

= 2 j sin /22 cos /2 = j tan 2u.circle im.axis

= tan 2( )

= 2 tan1

< <

< <

dd pack it all in!

(CT)

(DT)

-5 0 5-

-0.5

0

0.5

Page 36: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 36

Frequency Warping Bilinear transform makes

for all !, ΩΩ

G e j( ) = Ha j( )=2 tan1

Same gain & phase (", A...), in same ‘order’, but with warped frequency axis

0 1 2 3 4 5 6-60

-40

-20

0

-60 -40 -20 00

0.2

0.4

0.6

0.8

/

1

1

|Ha(j1)|

|G(ejt)|

t = 2tan<1(1)

tt

Page 37: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 37

Design Procedure Obtain DT filter specs:

general form (LP, HP...), ‘Warp’ frequencies to CT:

Design analog filter for

→ Ha(s), CT filter polynomial Convert to DT domain:

→ G(z), rational polynomial in z Implement digital filter!

p , s, 11+ 2, 1A

p = tan p

2

s = tan s2

p ,s, 11+ 2, 1A

G z( ) = Ha s( ) s=1z11+z1

Old-style

Page 38: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 38

Bilinear Transform Example DT domain requirements:

Lowpass, 1 dB ripple in PB, !p = 0.4º, SB attenuation ≥ 40 dB @ !s = 0.5º,attenuation increases with frequency

PB ripples,SB monotonic→ Chebyshev I

0.4 0. 15

-40

-10

|G(e

j)|

/ dB

Page 39: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 39

Bilinear Transform Example Warp to CT domain:

Magnitude specs:1 dB PB ripple

40 dB SB atten.

p = tan p

2 = tan 0.2 = 0.7265 rad/sec

s = tan s2 = tan 0.25 =1.0 rad/sec

11+ 2

=101/20 = 0.8913 = 0.5087

1A =1040 /20 = 0.01 A =100

Page 40: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

0 0.5 1 1.5 2-60

-50

-40

-30

-20

-10

0

0 0.2 0.4 0.6 0.8 1-60

-50

-40

-30

-20

-10

0

Ha(j)

/ dB

/

G(ej)

/ dB

CT DT

40

Bilinear Transform Example Chebyshev I design criteria:

Design analog filter, map to DT, check:

N cosh1 A 21

( )cosh1 s

p( )= 7.09 i.e. need N = 8

>> N=8;>> wp=0.7265;>> pbripple = 1.0;>> [B,A] = cheby1(N,pbripple,wp,'s');>> [b,a] = bilinear(B,A,.5);

M

freqs(B,A) freqz(b,a)

Page 41: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 41

Other Filter Shapes Example was IIR LPF from LP prototype For other shapes (HPF, bandpass,...):

Transform LP→X in CT or DT domain...

DTspecs

CTspecs

HLP(s)

HD(s)

GLP(z)

GD(z)

Bilinearwarp

Analogdesign

CTtrans

DTtrans

Bilineartransform

Bilineartransform

Page 42: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 42

DT Spectral Transformations Same idea as CT LPF→HPF mapping,

but in z-domain:

To behave well, should: map u.c. → u.c. (preserve G(ej!) values) map u.c. interior → u.c. interior (stability)

i.e. in fact, matches the definition of an

allpass filter ... replace delays with

z = F ˆ z ( )

GD ˆ z ( ) = GL z( ) z=F ˆ z ( ) = GL F ˆ z ( )( )

F ˆ z ( ) =1 ˆ z =1

F ˆ z ( ) < 1 ˆ z < 1

F ˆ z ( )

F ˆ z ( )1

Page 43: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 43

DT Frequency Warping Simplest mapping

has effect of warping frequency axis:

z = F ˆ z ( ) = ˆ z 1ˆ z

tan 2( ) = 1+

1 tan ˆ 2( )

Æ > 0 :expand HF

Æ < 0 :expand LF

ˆ z = e j ˆ z = e j = e j ˆ

1 e j ˆ

0 0.2 0.4 0.6 0.8 ^0

0.2

0.4

0.6

0.8 = 0.6

= -0.6

Page 44: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 44

Another Design Example Spec:

Bandpass, from 800-1600 Hz (SR = 8kHz) Ripple = 1dB, min. stopband atten. = 60 dB 8th order, best transition band→ Use elliptical for best performance

Full design path: prewarp spec frequencies design analog LPF prototype analog LPF → BPF CT BPF → DT BPF (Bilinear)

Page 45: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis

Another Design Example Frequency prewarping

800 Hz @ SR = 8kHz= 800/8000 x 2 rad/sample→ L =0.2 , U =1600/8000 x 2 =0.4

L = tan L/2 = 0.3249, U = 0.7265 Note distinction between:

application’s CT domain (800-1600 Hz)and

CT prototype domain (0.3249-0.7265 rad/s)

45

Page 46: Analog filters and IIR filter design - Columbia Universitydpwe/e4810/lectures/L08-iirdesign.pdf · Dan Ellis 2013-11-11 1 ELEN E4810: Digital Signal Processing Topic 8: Filter Design:

2013-11-11Dan Ellis 46

Another Design Example Or, do it all in one step in Matlab:[b,a] = ellip(8,1,60, [800 1600]/(8000/2));

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-1000

-500

0

500

1000

Normalized Frequency ( rad/sample)

Phas

e (d

egre

es)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-80

-60

-40

-20

0

Normalized Frequency ( rad/sample)

Mag

nitu

de (d

B)