signalbehandling og matematik 2 (tidsdiskrete signaler og systemer)

45
Signalbehandling og matematik 2 (Tidsdiskrete signaler og systemer) Session 12. Design of digital IIR filters Ved Samuel Schmidt [email protected] http://www.hst.aau.dk/~sschmidt/Mat1/ 1

Upload: qiana

Post on 24-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Signalbehandling og matematik 2 (Tidsdiskrete signaler og systemer) . Session 12. Design of digital IIR filters Ved Samuel Schmidt [email protected]. http://www.hst.aau.dk/~sschmidt/Mat1/. IIR og FIR filtre. IIR - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

1

Signalbehandling og matematik 2(Tidsdiskrete signaler og systemer)

Session 12.Design of digital IIR filters

Ved Samuel [email protected]

http://www.hst.aau.dk/~sschmidt/Mat1/

Page 2: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

IIR og FIR filtre

• IIR– Systemer med uendelige impuls respons har altid

mindst en betydende pol (det vil sige ikke nul poler eller ophævede poler)

• FIR – Systemer med endelige impuls respons har ingen

betydende poler (det vil sige ikke nul poler eller ophævede poler)

111)(

az

zH

11)( bzzH

M

k

kk zbzH

0

)(

M

kk knxbnh

0

][)(

General form:

Invers transformation:

Eksempel:

Page 3: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

IIR vs FIR filter

• Hvorfor IIR filtre?– IIR filter har stejlere ”sidelobes” end et FIR filter med

samme antal koefficienter.– Dermed hurtigere og mindre hukommelses krævende

• Hvorfor ikke ?– Et IIR filter har ikke lineær fase– Et IIR filter kan være ustabilt– ET IIR filter er mere sensitivt i for hold til afrundingsfejl

Page 4: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Definitioner på filter

Page 5: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Navne af frekevnes variabler i kontinuær og diskret domæne

Kontinuer signaler Diskrete signaler

Frekvens: F (Hz) f=F/Fs (Normaliseret frekvens)

Vinkel hastighed : Ω=2πF (Radianer / sekund) ω=2πf (Radianer / sample)Konvertering Ω=ω/T Ω=ΩTAfgrænsning -∞<Ω<∞ -π/T<ω<π/T

T= samplings perioden

Page 6: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Design af digitale IIR filtre ved hjælp af IIR analoge filtre

Specifikation af filteret i digitalt domæne

Design filteret i det analoge domæne

Implementer filteret i det digital domæne

Konverter specifikationer til analogt

Konverter det analoge filter til det digitale domæne

Page 7: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Stabile systemer in z og s domænet

• Z: Poler skal være i enhedscirklen

Re

Im

1

1

*1/2*1/3

7

σ

1

1

*1/2*1/3

s: Poler skal være i venstre halvdel

Page 8: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

3 metoder til konvertering af analoge IIR filtre til digitale IIR filtre

• Approksimation af afledte• Impuls invarians• Bilineær Transformation

Page 9: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bilineær Transformation

• Ved den Bilineær Transformation sættes s lig med

• Det betyder at:

1

1

112

zz

Ts

1

1

112)(zz

THzH a

Page 10: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Karakteristika ved Bilineær Transformation

• Poler fra højre side i s-planet ligger udenfor enhedscirkelen.• Modsat poler fra venstre side i s-planet som ligger indenfor

enhedscirklen

Re

Im

1

1

10

σ

1

1

Page 11: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Karakteristika ved Bilineær Transformation (3)

• Sammenhæng mellem ΩT og ω

2tan2

2tan2

)cos(1sin21

,)cos(21

sin22

1

2

T

TT

rhvisrr

rT

Page 12: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Karakteristika ved Bilineær Transformation (4)

Re

Im

1

1

12

σ

1

1

Page 13: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Agend Design of Digital IIR filters

• Design af lowpass filtre– Design af digitale Butterworth filtre– Design af digitale Chebyshev filtre– Design af digitale Elliptic filtre

Page 14: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Analogt lavpas Butterworth filter

• Er et ”all pole” filter– Kvadreret frekvens amplitude respons

• N:filter orden• Ωc: 3dB knæk frekvens

• Ωp: Anden knæk frekvens• ε: relateret til dæmpning

ved knæk frekvens se figur.• Laplace transformation

Nc

H 22

/11)(

NcssHsH

22 /11)()(

Np

H 22

2

/11)(

eller

Page 15: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Poler fra analogt Butterworth filter

Polerne vil ligge spejlet omkring både den imaginære akse og den reelle akse.

N

N

N

kjjcpk

kjjc

c

kjN

c

Nc

ees

ees

es

s

22

2

)12(

)12(2

2

)12(/12

2

22

)1(

0/1

Ncs

sHsH22 /1

1)()(

σ

Ωc

Page 16: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Design af digitalt lavpass Butterworth filter

• Steps:1. Konverter specifikationer fra digitale til analoge

specifikationer (ω til Ω) Formel 7.26 2. Beregn nødvendig filter orden. Formel 7.29-3. Dan overførselsfunktionen H(s) ud fra poler i venstre

halvplan4. Bestem Gain ved Ω=05. Transformer til z domænet med bilineær

transformation. Formel 7.18 6. Omskriv til simple rationel form (bk og ak koefficienter)

Page 17: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Konverter specifikationer fra digitale til analoge specifikationer (Step 1)

• Hvis specifikationen er opgivet i Hz find den normaliserede vinkel hastighed

• ωc=2πFc/Fs

• Omdan knækfrekvensen ωc til Ωc

• Samme procedure for andre vinkel hastigheder. F.eks.– Stopbånds frekvenser (ωs )

2tan2

T

Page 18: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem filter orden (Step 2) Ωc kendt

• Hvis filter orden (N) er forud defineret forsæt til næste slide.

• Hvis en given dæmpning (δ2) er påkrævet ved Ωs og Ωc findes N ved:

Nc

H 22

/11)(

Ncs

Ncs

Ncs

/log2

11log

/11

/11

22

222

222

δ2: dæmpning i stopbånd et ved Ωc

Obs: Hvis N ikke er et hel tal rundes op

Ωc =3 dB cut off frequency

Page 19: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem filter orden (Step 2) Ωc ukendt

• Ωs: Stop bånd knæk frekvens• Ωp: Pass bånd knæk frekvens• δ1: dæmpning i stopbånd et ved Ωp

• δ2: dæmpning i stopbånd et ved Ωs

• Løs for Ωc

• Ωc kan findes fra

Nc

H 22

/11)(

2

22

22

2

/11)(

/11)(

cNcs

s

pNcp

p

H

H

22

2

/11)( pN

cppH

Obs: Hvis N ikke er et hel tal rundes op

Page 20: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem overførselsfunktionen fra poler i venstre side af s-planet (Step 3)

• Beregn poler:

• Opstil system funktion fra poler i venstre halv plan altså dem fra H(s)

)())()()((1

)(

1)(4321

1

pNppppN

kpk

sssssssssssssH

NcssHsH

22 /11)()(

1....2,1,022 )12( Nkees Nkjjcpk

Page 21: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem gain (Step 4)

• Normalt ønskes i gain på 1 ved DC.• Find G så H(0)=1;

)())()()((

1)0()0)(0)(0)(0(

)0(

4321

4321

pNpppp

pNpppp

sssssG

sssssGH

Page 22: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Fra s domæne til z domæme (Step 5)

• Brug bilinear transformation

1

1

112

zz

Ts

pNppppN

kpk

sssssssssssssH

4321

1

1

)(

1)(

N

N

kk s

zz

Ts

zz

Ts

zz

Ts

zz

Ts

zz

Ts

zz

T

zH

1

1

41

1

31

1

21

1

11

1

11

1

112

112

112

112

112

1

)112(

1)(

Bilinear transformation

Page 23: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Fra kompleks z transformation til tidsdomæne filter (Step 6)

N

N

kk s

zz

Ts

zz

Ts

zz

Ts

zz

Ts

zz

Ts

zz

T

zH

1

1

41

1

31

1

21

1

11

1

11

1

112

112

112

112

112

1

)112(

1)(

NN

NN

N

k

kk

N

k

kk

zazazazazbzbzbzbb

za

zbzH

33

22

11

33

22

110

0

0

1)(

Simplificer

][]3[]2[]1[][][]3[]2[]1[][ 3210321 NnxbnxbnxbnxbnxbNnyanyanyanyany NN

Invers z-transformation

Page 24: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Eksempel

• Konstruer et digitalt butterworth lavpas filter (fc=40 Hz, Fs=200 sps. og δ2=20dB dæmpning ved fs=60Hz)

Page 25: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Eksempel step 1

• Normaliserede vinkel hastighed:– Knækfrekevns

– Stopbåndets hjørne frekvens

• Fra digital til analog vinkel hastighed (T=1)

ωc=2πFc/Fsωc=2π 40/200=0.4 π

ωs=2π 60/200=0.6 π

2tan2

T

sradT

sradT

s

c

/2.752826.0tan2

/4531.124.0tan2

Page 26: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Eksempel: Bestem filter orden (Step 2)

• Ønsket dæmpning ved Ωs 20dB

Ncs

/log2

11log 22

sradsrad

s

c

/2.7528/4531.1

46.3312.753/1.45log2

101.01log

N

1.01020 2020

2

dB

Filter orden N=4

Page 27: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem overførselsfunktionen fra poler i venstre side af s-planet (Step 3)

• Beregn poler:

• Absolut værdi: • Vinkeler:

3,2,1,04531.1 82 )12( kees kjjpk

1....2,1,022 )12( Nkees Nkjjcpk

82 )12( k

4531.1

-1.5 -1 -0.5 0 0.5 1 1.5

-1

-0.5

0

0.5

1

j

S-Plane

85

82 )10*2(

8

782 )11*2(

Page 28: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Tip: multiplikation af kompleks konjugerede

Bestem overførselsfunktionen fra poler i venstre side af s-planet

(Step 3 forsat)

-1.5 -1 -0.5 0 0.5 1 1.5

-1

-0.5

0

0.5

1

j

S-Plane

Opstil system funktion fra poler i venstre halvplan

)0.556072 j 1.322475()1.342475 j 0.556072(

4 poler i venstre halvplan:

4 poler i venstre halvplan:

))0.556072 j 1.322475())(0.556072 j 1.322475())(1.342475 j 0.556072())(1.342475 j 0.556072(()(

ssssGsH

222 a + b + sa2 -s()( jbasjbas

)2.11145 + 2.68495s + s)(2.11145 + s 1.11214 + s()( 22

GsH

Page 29: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem gain (Step 4)

• Find G så H(0)=1;

4.4582

1)2.11145 )(2.11145 (

)0(

G

GH

)2.11145 + 2.68495s + s)(2.11145 + s 1.11214 + s(4582.4)( 22sH

Page 30: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Fra s domæne til z domæme (Step 5)

• Bilinear transformation

1

1

1

1

112

112

zz

zz

Ts

Bilinear transformation

)2.11145 + 2.68495s + s)(2.11145 + s 1.11214 + s(4582.4)( 22sH

2.11145 + 1122.68495 +

1122.11145 +

112 1.11214 +

112

4582.4)(

1

12

1

1

1

12

1

1

zz

zz

zz

zz

zH

Page 31: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Fra kompleks z transformation til tidsdomæne filter (Step 6)

NN

NN

zazazazazbzbzbzbbzH

33

22

11

33

22

110

1)(

2.11145 + 1122.68495 +

1122.11145 +

112 1.11214 +

112

4582.4)(

1

12

1

1

1

12

1

1

zz

zz

zz

zz

zH

211121211121

41

12.11145 +112 2.684951 + 1212.11145 +112 1.11214 + 1214582.4)(

zzzzzzzzzzH

2122-1-2122-1-

41

212.11145 +22 2.684951 +4z8z4212.11145 +22 1.11214 + 4z8z414582.4)(

zzzzzz

zzH

212-1-

41

741554.077709.348136.11 3.887169z3.777088z8.335742014582.4)(

zz

zzH

2.8825z + 17.483z - 65.078z74.851z -95.706

14582.4)( 4-3-2-1-

41

zzH

0.0301187z + 0.182675z - 679976z.0z 0.7820923 -1

14582.4*0.0104)( 4-3-2-1-

41

zzH

Mål:

0.03011z + 0.18267z - 67997z.0z 0.78209 -1 0.04636z + 0.18546z +0.27819z + 0.18546z0.04636)( 4-3-2-1-

-4-3-2-1

zH

Page 32: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Test af eksempel

• Test i matlab

• Sammenlign med ”butter” i matlab

b=[0.0464 0.1855 0.2782 0.1855 0.0464];a=[1.0000 -0.7821 0.6800 -0.1827 0.0301];freqz(b,a,1000,200)

[b a]=butter(4,[40/100])b =[0.0466 0.1863 0.2795 0.1863 0.0466]a =[1.0000 -0.7821 0.6800 -0.1827 0.0301]

Page 33: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Chebyshev filter type I

• Overførselsfunktion

• Hvor ε er relateret til ripples i pasbåndet

• Hvor TN er et N ordens polynomium

pNTH

/1122

2

11

)coshcosh()coscos(

)(1

1

xx

xNxN

xTN

Page 34: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Chebyshev filter type IPoler

• Polerne ligger på en ellipse

Hvor β er relateret til ε

• Polernes location:

Nk k )12(2

)cos(2 kk rx

)sin(1 kk ry

Hvor vinklen φk er:

212

2

pr

212

1

pr

N/12 11

Page 35: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Chebyshev filter type II

• Overførselsfunktion

• Bemærk indeholder også nulpunkter

• Hvor ε er relateret til ripples i stopbåndet

• Hvor TN er samme Chebyshev polynomium

///11

222

2

sNpsN TTH

11

)coshcosh()coscos(

)(1

1

xx

xNxN

xTN

Page 36: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Bestem filter orden (N) på Chebyshev filter

1//log

/111log2

222

222

psps

N

• Hvor • N: filter orden• ε: Ripple i pass bånd• δ2 : Dæmpning i stopbåndet

• Ωs : Knæk frekvens

• Ωp: Start på stopbånd

• Hvor TN er samme Chebyshev polynomium

Page 37: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Transformationaf lavpas filtre til andre filter typer.

• Transformer et eksisterende filter til ønskede egenskaber.

-1 -0.5 0 0.5 1-1

-0.5

0

0.5

1

4

Real Part

Imag

inar

y P

art

-1 0 1-1

-0.5

0

0.5

1

4

Real Part

Imag

inar

y P

art

Simple transformationSpejl poler omkring IMG. aksen

0 0.2 0.4 0.6 0.8 1-250

-200

-150

-100

-50

0

Normalized Frequency ( rad/sample)

Mag

nitu

de (d

B)

0 0.2 0.4 0.6 0.8 1-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (d

B)

Page 38: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Transformation i analogt domæne

Filter type Transformation Ny knæk frekvens

Lavpas>Lavpas

Lavpas>Højpas

Lavpas>Båndpas

Lavpas>Stopbånd

ssp

p

'

p'

ss pp '

p'

)(

2

lu

ulp sss

ul

lup sss

2

)(

ul ,

ul ,

Laveste knækfrekvens

Højeste knækfrekvens::

u

l

p

Ny knæk frekvensp'

Oprindelig knæk frekvens

Page 39: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Eksempel

• Konverter vores lavpas filter til et højpas filter med knæk frekvens ved ωc=0.5 π

)2.11145 + 2.68495s + s)(2.11145 + s 1.11214 + s(4582.4)( 22sH lp

ss

ss pp

5.5056

'

sradp /2.7528

sradTp /2

25.0tan2'

918.696 + 632.855s + 218.362s + 44.0858s + 4.45822s4582.4

30.3116 14.7550s +2.11145s 30.31166.1244s2.11145s4582.4)(

2.11145 + 5.50562.68495 + 5.50562.11145 + 5.5056 1.11214 + 5.5056

4582.4)(

234

4

22

4

22

sssH

ssss

sH

hp

hp

Page 40: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Test af eksempel i Matlab

918.696 + 632.855s + 218.362s + 44.0858s + 4.45822s4582.4)( 234

4ssH hp

b=[4.4582 0 0 0 0];a=[4.4582 44.0858 218.3620 632.8550 918.6960];freqs(b,a)

10-2

10-1

100

101

102

10-15

10-10

10-5

100

Frequency (rad/s)

Mag

nitu

de

Page 41: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Transformation i det digitale domæne

Page 42: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Eksempel digitalt• Konverter vores lavpas filter til et højpas filter med knæk

frekvens ved ωc=0.5 π

• Oprindelig knækfrekvens ωp=0.4π• Ny knækfrekvens ω’p=0.5π• Transformation:

0.1584

2/'cos2/'cos

,1 1

11

pp

ppahvorazazz

0.0301187z + 0.182675z - 679976z.0z 0.7820923 -1 0.046365z + 0.18546z +0.27819z + 0.18546z0.046365)( 4-3-2-1-

-4-3-2-1

zH

1584.01

1584.00.0301187 + 1584.01

1584.00.182675 - 1584.01

1584.0679976.01584.01

1584.0 0.7820923 -1

1584.01

1584.00.046365 + 1584.01

1584.00.18546 +1584.01

1584.00.27819 + 1584.01

1584.00.185460.046365)( 4

1

13

1

12

1

1

1

1

4

1

13

1

12

1

1

1

1

zz

zz

zz

zz

zz

zz

zz

zz

zH

1584.00.0301187 +1584.01 1584.00.182675 - 1584.011584.0679976.01584.011584.0 0.7820923 -1

1584.00.046365 + 1584.01 1584.00.18546 +1584.011584.00.27819 +1584.011584.00.185460.046365)( 411312121311

411312121311

zzzzzzz

zzzzzzzzH

4- 3-2-1-

-4-3-2-1

0.0419z 0.4071z 1.0437z 0.9342z 1.00000.0197z- 0.1045z- 0.1131z z 0.0801- 0.0754 )(

zH

Page 43: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Test af digitalt eksempel i Matlab

0 10 20 30 40 50 60 70 80 90 100-400

-200

0

200

Frequency (Hz)

Pha

se (d

egre

es)

0 10 20 30 40 50 60 70 80 90 100-60

-40

-20

0

Frequency (Hz)

Mag

nitu

de (d

B)

Ups: lille fejl

4- 3-1-1-

-4-3-2-1

0.0419z 0.4071z 1.0437z 0.9342z 1.00000.0197z- 0.1045z- 0.1131z z 0.0801- 0.0754 )(

zH

b=[0.0754 -0.0801 0.1131 -0.1045 -0.0197];a=[1.0000 0.9342 1.0437 0.4071 0.0419];freqz(b,a,1000,200)

Page 44: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Sammenligning mellem filtre• 4. ordens filter (fc=40 Hz, fs =80 Hz ,Fs=200 sps)

0 10 20 30 40 50 60 70 80 90

-100

-90

-80

-70

-60

-50

-40

-30

-20

-10

0

Frequency (Hz)

Magni

tude (d

B)

Magnitude Response (dB)

ButterOptimal f ilterChev 1EllipticChev 2

Page 45: Signalbehandling  og matematik 2 (Tidsdiskrete signaler og systemer)

Update til næste år

• Mere fokus på transformation mellem filter typer

• Mere fokus på Butterworth poler • Ny opgaver mindre bi linear