SigProc-7-IIR 1
IIR-Filter
FIR IIR
SigProc-7-IIR 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Normalized Frequency ( ×π rad/sample)
Mag
nitu
de
Magnitude ResponseIIR-Filter haben kompliziertere Block-diagramme, sind schwerer zu entwerfen und analysieren, haben keine lineare Phase, aber sie sind selektiver!
–– HammingTP 20. Ordnung--- Butterworth 5. Ordnung
SigProc-7-IIR 3
1 2 11
1
1 2
0 1 2 1
1
0
0 1 1
[ ]
[ ] [ 1]
[ ] [ 1] [
[ 1] [ 2][ ] [ 1] [ 2] [ 1 ]
[ ]
[
[ 1]
[ ]
] 1
MM
m
L
L
kk m
T
TT
M
L
T
b x n b x n b x na y
b x n Ln a y n a y n M
a y n m
a
b x n k
b
y n
n n
xb b
a
n n x n L
a
x
b y
a
b x
ax
1 [ 1] [ 1] [ 2] [ 1 Tn y n y n x n My
SigProc-7-IIR 4
DF I
SigProc-7-IIR 5
1 1
1 2 11 2 1
0 01
01
01 1
0 1 11 2 1
1 2
10 1 1
1
1( ) ( )
( )
( ) ( )
( )( )( ) 1
=1
L Mk m
k mL
k
kM
m
m
L
MM
L
m
LL
MM
k
m
k
Y z X z
Y z
X z z
b b z
a z a z a
Y z z
zY zH zX z
z
a
a z
b b z b za z a z a z
b z
b
b
(L – 1) Nullstellen und (M – 1) Polstellen
SigProc-7-IIR 6
Frequenzgang
1
01
0
( ) ( )1
( ) ( ) gerade( ) ( ) ungerade
j
Lj k
kk
Mz ej m
mm
b eH H z
a e
H H
SigProc-7-IIR 7
b = [1 0.5]a = [1 -0.5 0.2]
-1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Part
Imag
inar
y Pa
rt
0 2 4 6 8 10-0.2
0
0.2
0.4
0.6
0.8
1
1.2
n (samples)
Am
plitu
de
Impulse Response
0 0.2 0.4 0.6 0.8 1-100
-50
0
Normalized Frequency (×π rad/sample)
Phas
e (d
egre
es)
0 0.2 0.4 0.6 0.8 1-20
-10
0
10
Normalized Frequency (×π rad/sample)M
agni
tude
(dB
)
impz(b,a)
SigProc-7-IIR 8
IIR-Filterstrukturen• Direkte Form I• Direkte Form II
weniger Speicherbedarf als Form I, aber gleicher Rechenaufwand
• Transponierte Form I und II
Transponierte und direkte Form I & II reagieren sehr empfindlich auf Quantisierungsfehler, da die Quantisierungsfehler rückgekoppelt und summiert werden.
SigProc-7-IIR 9DF I DF II1 1
( ) ( )( ) ( )
B z B zA z A z
SigProc-7-IIR 10
x(n)y(n)
^
<
<
<
<
>
>
>
<>
^
^
v
v
v
v
v
v
v
v
Transponierte Form• Eingang Ausgang• Pfeile umdrehen• Verzweigung Addierer• Addierer Verzweigung
SigProc-7-IIR 11Transponierte DF II
Achtung!
SigProc-7-IIR 12
In der Literatur werden die IIR-Filter oft in der Form
dargestellt.Die Koeffizienten a in den Blockdiagrammen nehmen dann negatives Vorzeichen an!
1
01
0
( )( )( ) 1
Lk
kk
Mm
mm
b zY zH zX z a z
SigProc-7-IIR 13
Kaskaden• Kaskadierung weil Kaskaden nur zweiter Ordnung:
– einfacher zu entwerfen– weniger anfällig für Quantisierungsfehler– weniger anfällig für Stabilitätsprobleme
1 2 1 2
1 2
1 20 1 2
1 21 1 1 2
( ) ( ) ( ) ( ) ( ) ( )[ ] [ ] [ ]
( ) ( )1
kask kask
kask
K Kk k k
kk k k k
H z H z H z H H Hh n h n h n
b b z b zH z G H z Ga z a z
Aber …
… die Aufteilung der Pole und Nullstellen auf die Subsysteme 2. Ordnung nicht trivial
SigProc-7-IIR 14
1 2
1 2
( )( ) ( )( )( )( ) ( )
n
m
z z z z z zH z kz p z p z p− − −
=− − −
1. Suche des dem Einheitskreis nächstgelegenen Poles oder Polpaares
2. Suche der dem Einheitskreis nächstgelegenen Nullstelle oder Nullstellenpaares
3. Zusammenfassen der gefundenen Pole und Nullstellen in eine Sektion zweiter Ordnung
4. Fortsetzen von 1 bis 3, bis alle Pole und Nullstellen in abnehmenden Abstand von Einheitskreis geordnet sind
5. Implementierung der gefundenen Sektionen
Aufteilung der Pole und Nullstellen
SigProc-7-IIR 15
1 2
1 2
( )( )( )( )( )
z z z zH zz p z p− −
=− −
SigProc-7-IIR 16
Kaskadierte Biquads 4. Ordnung
SigProc-7-IIR 17
Matlabunterstützung für KaskadenSecond Order Sections (SOS)Umwandlungsfunktionen aus der Polynom- und der PN-Darstellung
[z,p,k] = tf2zp(b,a)
1 2
1 2
( )( ) ( )( )( )( ) ( )
n
m
z z z z z zH z kz p z p z p− − −
=− − −
z, p … Vektor der Null- und Polstellen, k … Konstante
SigProc-7-IIR 18
01 11 21 11 21
02 12 22 12 22
0 1 2 1 2 6
11
1K K K K K K
b b b a ab b b a a
sos
b b b a a×
=
Achtung Matlab stellt das Polynom mit positiven a dar. Die Vorzeichen von a müssen daher für unsere Darstellung umgekehrt werden.
[sos,G] = zp2sos(z,p,k)
1 201 11 21
1 211 21
( )1b b z b zH z
a z a z
− −
− −
+ +=
+ +
1 20 1 2
1 21 2
( )1k k k
k k
b b z b zH za z a z
SigProc-7-IIR 19
Realisierung durch parallele IIR-Filter 2. Ordnung
10 1
1 21 1 1 2
( ) ( )1
K Kk k
kk k k k
b b zH z G H z Ga z a z
Die Parallelstruktur kann durch Partialbruch-zerlegung der Systemfunktion gewonnen werden.
[r,p,k] = residuez(b,a)
SigProc-7-IIR 20
SigProc-7-IIR 21
Stabilität
( ) ( )1 2 1 11 21 2
1 1 ( )1
2. Ordnung:1 1
H zz z p z p zaa − − − −
= =− − − −
1
1 ( ) stabil, wenn a1. Ordnung: 11
H zaz−= <
−
1 1 2 2 1 2
1
12
2
1 22
stabil, wenn p 1 und p 1
1 1
a p p a p p
p apa a
= −
<
< <
<
+
− =
=
a2
a1
BESTIMMUNG DER KOEFFIZIENTEN
SigProc-7-IIR 22
Methoden
• Platzieren von Polen und Nullstellen• Invarianz der Impulsantwort• Bilineare Transformation
SigProc-7-IIR 23
Platzieren von PN
SigProc-7-IIR 24
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Normalized Frequency (×π rad/sample)
Mag
nitu
de
Magnitude Response
-1 -0.5 0 0.5 1
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real PartIm
agin
ary
Part
Pole/Zero Plot
Bandpass zweiter Ordnung
SigProc-7-IIR 25
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
0
0.2
0.4
0.6
0.8
1
1.2
Normalized Frequency (×π rad/sample)
Mag
nitu
de
Magnitude Response
Bandsperre (Notch-/Kerbfilter) 2. Ordnung
SigProc-7-IIR 26
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-80
-70
-60
-50
-40
-30
-20
-10
0
Normalized Frequency (×π rad/sample)
Mag
nitu
de (d
B)
Magnitude Response (dB)
-1.5 -1 -0.5 0 0.5 1 1.5
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real Part
Imag
inar
y Pa
rt
Pole/Zero Plot
Elliptisches Filter 5. Ordnung
Invariante Impulsantwort
SigProc-7-IIR 27
Analoger TP 1. Ordnung
SigProc-7-IIR 28
( ) i
ia
i
p tia a
i
AH
s pA
h t H s Aes p
-1 -1L L
[ ] ( ) , 1,2,ip nT
d a ih n h nT Ae n
Abtasten im Zeitbereich
1
10 0
( ) ( )1
i
i
p nTn ia i pT
n n
AH z h nT z Ae z
e z
z-Transformation
SigProc-7-IIR 29
11 i
i ipT
i
A A
s p e z
Bei Filtern höhere Ordnung Partialbruchzerlegung
2 2
2 2
2 2
2
2 2
( )( )
sin( )
2 cos
( )( )
cos( )
2 cos
a
T
d T T
a
T
d T T
H ss
ze TH z
z ze T e
sH s
sz ze T
H zz ze T e
SigProc-7-IIR 30
Diese Methode kann nur für scharf begrenzte Tief- oder Bandpässen angewandt werden und verlangt kleines T, um die Impulsantwort genau abzutasten.
Die Methode kann nicht angewandt werden, wenn das analoge Filter ein Hochpass oder eine Bandsperre ist, da ja das Spektrum digitaler Filter periodisch fortgesetzt wird und es zu Aliasing kommt.
SigProc-7-IIR 31
Dieses Verfahren ist invariant für die Impulsantwort, aber nicht invariant für die Sprungantwort.Die Sprungantwort ist
1
1
1
1 1 1( )
( ) Laplace-Tr
( ) 1
ansfor
( ) 1 ( )
( ) 1 ( )
mat
)
i n
(
o
i
i
i
i iastep a
i i i
p tiaste
p nTiast
pi
p tiast
epi
epi
A AY H s
s s s p p s s p
Ay t e t
pA
y t e
Ay nT e
p
p
t
t
SigProc-7-IIR 32
Berechnen wir die Sprungantwort für dieses (Impuls-invariante) Filter im z-Bereich müssen wir mit der z-Transformierten der Sprungantwort multiplizieren und erhalten
11 1
( 1
1
1
)
1
1( )
11 1 1 Transformation
1 [ ]
1
1
( ) 1 [ ]11
i
i i i
i
i
i
i
i
pTi i
dstep pT pT pT
pT p pT nTn idst
ip pe pTT
z
Ay
A A eY z
ze z e e zz
Ae e nn e n
e e
SigProc-7-IIR 33
(
1
1
1)
( ) 1 ( )
( ) 1 [ ]1
i
i
i
p nTiastep
i
pT nidstep pT
Ay n
Ay n e n
p
e
T e t
Invarianz der Sprungantwort
SigProc-7-IIR 34
1
1 11
11
1 1
Konstante
( ) 1 ( )
nach der z-Transformation wird
1 1 1Y ( ) ( )
1
1
1111
( ) 11 1
( )
i
i
i
i
i i
p nTiastep
i
iastep pT
ipT
i ipT T
iT
i
pi
p
i
Ay nT e t
p
Az H z
p z ze ze zA Az
H zp p
A ez
z z
Hp
e e
1
1
1
1
1
p T
i
z e
pT
z
e z
SigProc-7-IIR 35
1
1
1
Impulsinvarianz ( )1
1Sprunginvarianz ( )
1
i
i
i
ipT
pT
i
pTi
AH z
e zA e
H zz
zp e
SigProc-7-IIR 36
3π/T
π/T
-π/T
-3π/T
σ
jω Im z
Re z-1 1
s-Ebene z-Ebene
Bilineare Transformation• Darstellung der DGL am »Analogrechner«
–Addierer–Multiplikation mit Konstante–Integrierer
SigProc-7-IIR 37
Digitaler Integrierer
SigProc-7-IIR 38
( 1)
Anfangsbedingung
( ) ( )
( ) 1 ( )
1 ( ) ( )2
a a
nT
a a an T
a a a
y t x t dt
y nT y n x t dt
Ty n x nT x n T
Trapezregel
SigProc-7-IIR 39
1
1
Transformati
( ) ( 1) ( ) ( 1)2
( ) 1 1(
o
) 2 1
n
Ty n y n x n x n
Y zX z z
z
z
Analoger Integrierer 1/s
1
1
1
1
1
1
2 1
1
1 1 12 1
2 1
1
( ) ( ) zd a sT z
zs z
zs
T z
H z H s
Von der s- in die z-Ebene
SigProc-7-IIR 40
12
12
sT
zsT
s j
0
00
12
12
Tj
zT
j
Imaginäre Achse im s-Bereich |z| = 1wird zum Einheitskreis im z-Bereich
SigProc-7-IIR 41
2 20
2 0 0
02 2
0 00
1 01 / 2 / 2
1 01 / 2 / 2 1 0
T Tz
T T
σ
jω Im z
Re z-1 1
s-Ebene z-Ebene
SigProc-7-IIR 42
Die Abbildung umfasst die gesamtes-Ebene, es werden also Pol- und Nullstellen in die z-Ebene abgebildet, es kann daher kein Aliasing auftreten.
Die einzige Abweichung vom analogen Filter liegt in der numerischen Berechnung der Integration.
Punkte auf der imaginäre Achse
SigProc-7-IIR 43
1
1
2
2
2 1
1
2 sin2 1 2 21 2cos
22
tan , 2arctan2 2
jj
jj
zs
T z
je ej
T Tee
TT
SigProc-7-IIR 44
0 2 4 6 8 100
0.5
1
1.5
2
2.5
3
ω π
SigProc-7-IIR 45
Ω
SigProc-7-IIR 46
ApproximationenPotenz oder Butterworth
Tschebyscheff Typ I & II
Elliptisch oder Cauer
Ω
log
SigProc-7-IIR 47
SigProc-7-IIR 480 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-14
-12
-10
-8
-6
-4
-2
0
Normalized Frequency (×π rad/sample)
Con
tinuo
us P
hase
(rad
ians
)
Continuous Phase Response
Filter #1Filter #2Filter #3Filter #4
Cauer
Tschebyscheff I
Butterworth
Tschebyscheff II
SigProc-7-IIR 49
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
-400
-350
-300
-250
-200
-150
-100
-50
0
Normalized Frequency (×π rad/sample)
Mag
nitu
de (d
B)
Magnitude Response (dB)
ButterworthTschebyscheff II
Cauer
Tschebyscheff I
SigProc-7-IIR 50
Matlab-Funktionen
SigProc-7-IIR 51
FIR 79!
SigProc-7-IIR 52
Eigenschaft IIR FIR# Multiplikationen am niedrigsten am höchstenEmpfindlichkeit Koeffizienten Quantisierung
hoch (24-bit für HIFI Audio)
sehr niedrig, 16-bit in der Regel ausreichend
Auftreten von Overflow-Fehlern
hoch (besser Kaskaden- oder Parallelstruktur)
sehr niedrig
Stabilität Entwurfskriterium garantiert
Lineare Phase nein ja, bei Symmetrie
Größe Koeffizienten-speicher
minimal maximal
Analyse Quantisierungs-rauschen
sehr schwierig weniger schwierig