signalbehandling og matematik 2 (tidsdiskrete signaler og systemer)
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 PresentationTRANSCRIPT
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/
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:
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
Definitioner på filter
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
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
Stabile systemer in z og s domænet
• Z: Poler skal være i enhedscirklen
Re
Im
1
1
*1/2*1/3
7
σ
jΩ
1
1
*1/2*1/3
s: Poler skal være i venstre halvdel
3 metoder til konvertering af analoge IIR filtre til digitale IIR filtre
• Approksimation af afledte• Impuls invarians• Bilineær Transformation
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
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
σ
jΩ
1
1
Karakteristika ved Bilineær Transformation (3)
• Sammenhæng mellem ΩT og ω
2tan2
2tan2
)cos(1sin21
,)cos(21
sin22
1
2
T
TT
rhvisrr
rT
Karakteristika ved Bilineær Transformation (4)
Re
Im
1
1
12
σ
jΩ
1
1
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
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
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)()(
jΩ
σ
Ωc
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)
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
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
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
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
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
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
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
Eksempel
• Konstruer et digitalt butterworth lavpas filter (fc=40 Hz, Fs=200 sps. og δ2=20dB dæmpning ved fs=60Hz)
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
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
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(
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
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
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
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
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]
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
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
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
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
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)
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
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
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
Transformation i det digitale domæne
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
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)
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
Update til næste år
• Mere fokus på transformation mellem filter typer
• Mere fokus på Butterworth poler • Ny opgaver mindre bi linear