Infinite Impulse Response-Filter Rekursivfilter

57 downloads 245 Views 909KB Size Report
DSP-8-IIR. 2. IIR-Filter 1. Ordnung. 1. 1. [ ]. [ 1]. [ ]. [ 1] o yn ayn bxn bxn. .  . . . . FIR-Teil z-1 x x. +. + x z-1 b. 0 b. 1 a. 1 v[n] x[n].
Infinite Impulse Response-Filter

Rekursivfilter

DSP-8-IIR

1

IIR-Filter 1. Ordnung y[n]  a1 y[n 1]  b b1 x[n 1] o x[ n]   FIR-Teil b0

x[n]

x

v[n] +

y[n] +

z-1

z-1 b1

a1

x Feed-forward Teil (FIR-Filter)

x

y[n-1]

Feed-back Teil DSP-8-IIR

2

Beispiel y[n]  0.8 y[n 1]  5 x[n]

(b1  0)

x[n]  2[n]  3[n 1]  2[n  3] Anfangsbedingungen: Der Wert y[n] zum Zeitpunkt n = -1 ist nicht bekannt !

Wir nehmen an, dass die Eingangsgröße x[n] plötzlich angelegt wird und dass sie vorher Null war: x[n] = 0 für n < n0 Wir nehmen weiters an, dass das System vor der Anfangszeit im Ruhezustand war, d.h. y[n] = 0 für n < n0 (Initial rest) DSP-8-IIR

3

y[0]  0.8 y[1]  5(2)  0.8 (0)

 5 (2)

 10

y[1]  0.8 y[0]  5 x[1]  0.8 (10) y[2]  0.8 y[1]  5 x[2]  0.8 (7) y[3]  0.8 y[2]  5 x[3]  0.8 (5.6)

  

 7   5.6  5.52

5 (3) 5 (0) 5 (2)

y[4]  0.8 y[3]  5 x[4]  0.8 (5.52)  5 (0) y[5]  0.8 y[4]  5 x[5]  0.8 (4.4416)  5 (0) y[6]  0.8 y[5]  5 x[6]  0.8 (3.5328)  5 (0) y[n]  0.8 y[n 1]  5 x[n] 10

10

8

8

6

6

4

4

2

2

0

0

-2

-2

-4

-4

-6

-6

-8

-8

  

n  3 (Eingang Null) y[ n]  0.8 y[ n 1] y[ n]  y[3](0.8) n3

B = [5]; A = [1 -0.8] filter(B,A,x) DSP-8-IIR

0

5 Eingang

10

15

4.4416 3.5328 2.8262

0

4 5 Ausgang

10

15

N

M

l 1

k 0

y[n]   al y[n  l ]   bk x[n  k ] Output ist f(Output)

FIR: Output ist f(Input)

Feed-back

Feed-forward

Bei FIR-Filtern ist M die Ordnung des Filters, bei IIR-Filtern ist N die Ordnung des Filters. DSP-8-IIR

5

Linearität, Zeitinvarianz IIR-Filter

N

M

l 1

k 0

y[n]   al y[n  l ]   bk x[n  k ] sind linear und zeitinvariant.

DSP-8-IIR

6

Impulsantwort IIR-System 1. Ordnung Die Antwort auf einen Einheitsimpuls charakterisiert ein LTI-System vollständig. Da jedes Eingangssignal als Überlagerung von gewichteten, zeitverzögerten Einheitspulsen dargestellt werden kann, können die entsprechenden Ausgangssignale von gewichteten und zeitverzögerten Versionen der Impulsantwort gebildet werden:

y[n] 



 x[k ]h[n  k ]

k 

DSP-8-IIR

7

y[n]  a1 y[n 1]  bo x[n] Differenzengleichung Impulsantwort h[n]  a1h[n 1]  bo[n]

1.

Die Lösung dieser Diffenzengleichung ist: n   ( ) für n  0 b a 1 o  h[n]    für n  0   0 Beweis durch Einsetzen: h[0]  a1h[1]  b0[0]  (a1 )(0)  b01  b0 für n  1

2.

0

h[n]  a1h[n 1]  b0[n] bo (a1 ) n  a1 bo a1n1   b0 a1n DSP-8-IIR

8

Schreibweise mit Einheitssprung

1 für n  0 1[n]   0 für n  0 dann wird

h[n]  bo (a1 ) 1[n] n

DSP-8-IIR

9

Lösung der Differenzengleichung y[n]  a1 y[n 1]  bo x[n]  b1 x[n 1] Da LTI-System, Impulsantwort Summe von zwei Termen h[n]  bo (a1 ) 1[n]  b1 (a1 ) n

 0    b0  b  b a1 a n 1 1 1  o DSP-8-IIR

n1

1[n 1]

n0 n0 n 1

10

Sprungantwort y[n]  a1 y[n 1]  bo x[n]

Berechnen der Sprungantwort durch Einsetzen in die Differenzengleichung und punktweises Berechnen des Ausgangsignals:

n x[n] y[n] 0 1 b0 1 1

b0  b0 (a1 )

2 1

b0  b0 (a1 )  b0 (a1 )

2

3 1

b0 1  a1  a  a



DSP-8-IIR

2 1

3 1

11

n

y[n]  bo (1  a1  a  ...  a )  b0  a 2 1

n 1

k 1

k 0

Es ist L 1  1 r L  k r   1 r   k=0  L  1 n 1 1 a1 y[n]  b0 1 a1

r 1 r 1 für n  0, wenn a1  1 DSP-8-IIR

12

Wir müssen drei Fälle unterscheiden:

 

n 1 1

Wenn a1  1 , dann dominiert a

1 a1n1 y[n]  b0 1 a1

und y[n] wächst

über alle Grenzen ==> Instabilität Wenn a1  1 , dann geht a1n1 für n   gegen Null. Abklingen ==> Stabilität

b0 lim  y[n]  1 a1 n

a 1 y[n]  (n  1)bo für n   geht y[n]    a  1 y[n]  bo wenn n gerade y[n]  0

DSP-8-IIR

wenn n ungerade

13

Step Response

2

100

1.5

Amplitude

Amplitude



Step Response

1

 50

0.5 0 0

5 a = 0.5 ... stabil Step Response

0 0

10



0.5

0 0

20

5 a = 1 ... instabil

10 14

10

Amplitude

Amplitude

1

10 a = 1.1 ... instabil Step Response

5 a = -1 ... Grenzfall

10DSP-8-IIR

5

0 0

Systemfunktion n  Domain y[n]  h[n]  x[n]

 

z  Domain Y ( z)  H ( z) X ( z)

Die Systemfunktion von FIR-Systemen ist immer ein Polynom in z -1. Durch die Rückkoppelung wird die Systemfunktion von IIR-Systemen immer ein Verhältnis von zwei Polynomen (gebrochen rationale Funktion). DSP-8-IIR

15

y[n]  a1 y[n  1]  bo x[n]  b1 x[n  1] 1

1

1

1

Y ( z )  a1 z Y ( z )  bo X ( z )  b1 z X ( z ) Y ( z )  a1 z Y ( z )  bo X ( z )  b1 z X ( z ) 1

Y ( z ) bo  b1 z B( z ) H ( z)    1 X ( z ) 1  a1 z A( z ) Zählerpolynom: Feed-forward Koeffizienten Nennerpolynom: 1 + negative Feed-back Koeffizienten DSP-8-IIR

16

Blockdiagramm 1.Direktform

  1  bo  b1 z 1  1 1        ( ) H ( z)  b b z B z     o 1  1  1  1 a z   A( z )  1 a1 z 1 DSP-8-IIR

17

Blockdiagramm 2.Direktform

 1   1    B( z )  B( z )     A( z )   A( z )  DSP-8-IIR

18

Delay-Elemente kombiniert

DSP-8-IIR

19

Pole und Nullstellen 1

bo  b1 z bo z  b1 H ( z)   1 z  a1 1 a1 z b1 z  bo

Nullstelle

z  a1

Polstelle DSP-8-IIR

20

Pole und Stabilität Die Systemfunktion bo ( z  ) bo  b1 z  H ( z)  1 z  a1 1  a1 z b1 b0

1

hat die Impulsantwort h[n ]  bo ( a1 ) 1[n ]  b1 ( a1 ) n

 0    b0  bo  b1a11 a1 n  DSP-8-IIR

n1

1[n  1]

n0 n0 n 1

21

Die Impulsantwort ist proportional a1  für n  1. n

Für a1  1 klingt dieser Ausdruck ab, wenn n  . Wenn a1  1 steigt dieser Ausdruck exponentiell an. Die Lage der Pole zeigt also an, ob die Impulsantwort abklingt oder ansteigt. Systeme mit abklingenden Impulsantworten sind stabile Systeme. Bounded Input Bounded Output Bibo - Stabilität Für stabile Systeme liegen die Pole innerhalb des Einheitskreises der z-Ebene ! DSP-8-IIR

22

Frequenzgang eines IIR-Filters y[n]  H(ˆ )e jˆ n 16

jˆ

H(ˆ )  H (e )  H ( z ) ze jˆ 14 12

H(z)

10 8 6 4 2 0 -1

1 H ( z)  1 0.8 z 1

-0.5 0

1 0.5

0.5

0 -0.5

1 -1 Re

Im

Sinusfolge trifft auf Pol auf dem Einheitskreis: bounded input  unbounded output (Resonanz) DSP-8-IIR

23

Frequenzbereich (lin)

z-Bereich

Zeitbereich

DSP-8-IIR

24

h[n] H ( z )

jˆ

H (e )

Pole, Nullstellen

?

Zeitbereich Eingang, Ausgang

H(z)

{ak , bk } Frequenzbereich

h(n)

H (e jˆ )

DSP-8-IIR

25

y[n ]  a1 y[n  1]  a2 y[n  2]  b0 x[n ]  b1 x[n  1]  b2 x[n  2] b0  b1 z1  b2 z2 H ( z)  1  a1 z1  a2 z2

Lösung DGL?

 jˆ  j 2 ˆ   b b e b e jˆ 1 2 H (e )  0  jˆ  jˆ 1  a1e  a2e

DSP-8-IIR

26

Inverse z-Transformation Einführung am Beispiel eines Systems 1. Ordnung b0  b1 z 1 H ( z)  1 1 a1 z

Y ( z)  H ( z) X ( z)

1. Bestimmung der z  Transformation X( z ) 2. Muliplikation von H ( z ) X ( z ) 3. Bestimmung der Rücktransformation von Y ( z ) DSP-8-IIR

27

Wir bestimmen die Sprungantwort eines Systems 1. Ordnung. h[n]  a n1[n] 

H ( z)   a z

n n

n0

für az

1

a 1[n]

 az n0



1 n

 1 ist diese Summe endlich

1 H ( z)  1 az 1 n







 xk  k 0

1 1 x

für x  1

... für a  z 1 1 az 1

Einheitssprung für a  1 DSP-8-IIR

28

Partialbruchzerlegung 1 bo  b1 z1 bo  b1 z1 Y ( z)  H ( z) X ( z)    1 2 1 1 1  (1  a1 ) z  a1 z 1 a1z  1 z  

A B  1  a1 z1 1  z1

(Berechnung durch Koeffizientenvergleich)

oder schneller über 1 1 (1 ) b b z B   a z 1 1 Y ( z )(1  a1 z1 )  o A   1  z1 1  z1 1 1 b  b z B ( 1  a z ) 1 1 Y ( z )(1  a1 z1 )  o  A  A 1 1   z a1 1 z 1 z z a z a 1

bo  b1 z1 A 1  z1

z a1

bo  b1a11  1  a11

1

DSP-8-IIR

29

b0  b1 B  Y ( z ) (1 z )  z 1 1 a1 1

 bo  b1a11  n  b0  b1     [ ] [ ]  y[n]   a  n  n   1 1 1  1    1 a     1 a  1

A 1 1 az

1

 DSP-8-IIR

Aa 1[n] n

30

Rücktransformation (M