ggfrtdds

72
Sustavi digitalnog upravljanja Auditorne vježbe Sadržaj 1. Auditorne vježbe ............................................................................................................................. 1 Z-transformacija .......................................................................................................................... 1 Inverzna Z-transformacija ........................................................................................................... 6 2. Auditorne vježbe ........................................................................................................................... 14 Z-transformacija sustava u kaskadi s ekstrapolatorom ............................................................. 14 Stabilnost................................................................................................................................... 21 Točnost ...................................................................................................................................... 28 3. Auditorne vježbe ........................................................................................................................... 32 Prijelazna karakteristika – metoda krivulje mjesta korijena ..................................................... 32 Diskretni sustavi opisani varijablama stanja ............................................................................. 40 4. Auditorne vježbe ........................................................................................................................... 54 Analiza diskretnih sustava u prostoru stanja ............................................................................. 54 Regulacija sustava povratnom vezom varijabli stanja .............................................................. 65

Upload: andro-stanicic

Post on 20-Feb-2016

9 views

Category:

Documents


2 download

DESCRIPTION

+

TRANSCRIPT

Page 1: ggfrtdds

Sustavi digitalnog upravljanja

AAuuddiittoorrnnee vvjjeežžbbee

Sadržaj

1. Auditorne vježbe ............................................................................................................................. 1

Z-transformacija .......................................................................................................................... 1

Inverzna Z-transformacija ........................................................................................................... 6

2. Auditorne vježbe ........................................................................................................................... 14

Z-transformacija sustava u kaskadi s ekstrapolatorom ............................................................. 14

Stabilnost ................................................................................................................................... 21

Točnost ...................................................................................................................................... 28

3. Auditorne vježbe ........................................................................................................................... 32

Prijelazna karakteristika – metoda krivulje mjesta korijena ..................................................... 32

Diskretni sustavi opisani varijablama stanja ............................................................................. 40

4. Auditorne vježbe ........................................................................................................................... 54

Analiza diskretnih sustava u prostoru stanja ............................................................................. 54

Regulacija sustava povratnom vezom varijabli stanja .............................................................. 65

Page 2: ggfrtdds
Page 3: ggfrtdds

1

Sustavi digitalnog upravljanja

11.. AAuuddiittoorrnnee vvjjeežžbbee

~ DISKRETNI SIGNALI I SUSTAVI ~

Z-transformacija

Pri matematičkom opisivanju kontinuiranih signala i sustava koristimo diferencijalne jednadžbe, a kako bi što lakše računali i baratali tako opisanim signalima i sustavima služimo se Laplaceovom transformacijom. Analogno tome za diskretne sustave koristimo jednadžbe diferencija i Z-tansformaciju.

Na slici možemo uočiti da je Z-transformacija definirana za diskretne signale odnosno nizove ili sekvence. Diskretne signale najčešće dobijamo diskretiziranjem (otipkavanjem) kontinuiranih signala pri čemu je najvažniji parametar vrijeme uzorkovanja T [s].

Definirajmo Z-transformaciju diskretiziranjem same Laplaceove transformacije:

( ) ( ) ( ) �( )t kT

st sT k

k

F s f t e dt f kT T ez

f k

∞ ∞=− −

=−∞−∞

= = ⋅ ⋅

∑∫ ��������� (1.1)

dobijamo: ( ) [ ] k

k

F z f k z∞

=−∞

= ⋅∑ (1.2)

što je upravo definicija Z-transformacije diskretne funkcije f [k].

Z-transformaciju možemo promatrati i kao poopćenu Fourierovu transformaciju ili kao operator koji transformira niz u funkciju.

Računanje Z-transformacije provodimo na dva načina: 1. Pomoću same definicije uz pomoć formula za sume konvergirajućih redova (P1) 2. Pomoću tablica Z-transformacije (P2)

Na kraju ovih auditornih vježbi možete naći tablicu Z-transformacije nekih učestalih funkcija i tablicu sa svojstvima Z-transformacije i formule za sume konvergirajućih redova.

Kao i kod Laplaceove transformacije područje konvergencije dobivene funkcije X(z) u z domeni ovisi o vremenskom području definicije signala. Za naša razmatranja podrazumijeva se da su signali različiti od nule samo za t≥0 odn. k≥0, pa je područje konvergencije vanjština kružnice definirane s polom s najvećom apsolutnom vrijednosti.

MATLAB

Da bi odredili Z-transformaciju potrebno je najprije definirati simboličke varijable uz pomoć naredbe syms i samu željenu funkciju f, zatim Z-transformaciju tako definirane funkcije provodimo korištenjem naredbe ztrans(f).

Page 4: ggfrtdds

2

>> Primjeri

P1 Odredite Z-transformaciju funkcije ( ) atf t e−=

Prvo što uočavamo je da je zadana funkcija definirana u kontinuiranom vremenu, dok je Z-transformacija definirana za nizove, diskretne signale odn. signale u diskretnom vremenu. Prema tome, prije same transformacije zadanu funkciju (signal) treba diskretizirati s vremenom uzorkovanja T.

( )( )t kT

akTf t f kT e=

−= = (1.3)

Rezultat je niz:

[ ] akTf k e−= (1.4)

Sada možemo na dobivenom nizu izvršiti Z-transformaciju:

{ }

( ) ( )

( )

0

1 2

1

( )

1 ...

1

1

aTk aTk k

k

aT aT

aT

aT

F z e e z

e z e z

e z

z

z e

∞− − −

=

− −

= =

= + + +

=−

=−

∑Z

konvergirajući red (tablice)

(1.5)

Uočite: Z-transformacija zadane funkcije definirane u kontinuiranom vremenu ovisi o vremenu

diskretizacije T. Rješenje u MATLABu: >> syms a k T; >> f=exp(-a*k*T); >> F=ztrans(f); >> pretty(F); z ----------------------- / z \ exp(-a T) |-------- - 1| \exp(-a T) /

P2 Odredite Z-transformaciju diskretne funkcije [ ] 1 1

2 3

k k

f k = +

Podsjetimo se da su funkcije (signali) koje obrađujemo u ovim vježbama različiti od nule samo za k>0 pa smo iz gornje jednadžbe izostavili diskretnu step funkciju [ ]S k .

Iz svojstva linearnosti Z-transformacije i konzultiranjem tablice sa Z-transformacijama možemo pisati:

1

12

2

kz

z

↔ −

(1.6)

1

13

3

kz

z

↔ −

(1.7)

Page 5: ggfrtdds

3

( )

52

12

1 1 1 1

2 3 2 3

z zz z

F z

z z z z

− = + =

− − − −

(1.8)

Page 6: ggfrtdds

4

>> syms k T; >> f=(1/2)^k+(1/3)^k; >> F=ztrans(f); >> pretty(F); z z 2 ------- + 3 ------- 2 z - 1 3 z - 1

>> Zadaci za vježbu

Z1 Odredite Z-transformaciju funkcije ( ) 1f t = uz pomoć definicije

(Skripta: primjer 4.1) Rješenje:

1

1( )

11

zF z

zz−= =

−−

napomena: koristiti f=1∧k umjesto f=1. Z2 Odredite Z-transformaciju funkcije ( )f t t= uz pomoć definicije

(Skripta: primjer 4.2) Rješenje:

2( )

( 1)

zF z T

z=

Z3 Odredite Z-transformaciju funkcije ( ) sin( )f t tω= uz pomoć definicije, zatim za vrijeme

uzorkovanja T uvrstiti vrijednosti a)1 2

10T

πω

= b)1 2

4T

πω

= i c)1 2

2T

πω

= te diskutirati dobivene

rezultate (Skripta: primjer 4.4) Rješenja:

2

sin( )( )

2 cos( ) 1

z TF z

z z T

ωω

=− +

; a) 2

0.5875( )

1.618 1

zF z

z z=

− +; b)

2( )

1

zF z

z=

+; c) ( ) 0F z =

napomena: kako bi MATLAB "znao" da je k varijabla, a ω i T parametri potrebno je koristiti oblik funkcije ztrans(f,k,z), gdje je k varijabla u vremenskoj domeni, a z u z domeni (pogledajte: help ztrans) Z4 Odredite Z-transformaciju funkcije ( ) 3cos(7 )f t tπ= uz pomoć tablica

Rješenje: 2

2

cos(7 )( ) 3

2 cos(7 ) 1

z z TF z

z z T

ππ

−=

− +

Z5 Odredite Z-transformaciju funkcije ( ) atf t te−= uz pomoć tablica

Rješenje: 2

( )( )

aT

aT

zeF z T

z e

−=−

Z6 Odredite Z-transformaciju funkcije ( ) sin( )f t t tω ϕ= ⋅ + uz pomoć tablica

(Skripta: primjer 1.d) Rješenje: 2 2

2 2

( 1) sin( ) cos( ) ( 1) cos( )sin( ) 2 sin( )( )

( 2 cos( ) 1)

z T z T zF z Tz

z z T

ϕ ω ϕ ω ϕω

+ + − −= − +

napomena: kao oznaku simboličke varijable ϕ nemojte koristiti "fi" jer je to rezervirana riječ u MATLABu. *sve zadatke dodatno rješiti uz pomoć MATLABa

Page 7: ggfrtdds

5

Dodatno: Odredite z-transformaciju Fibonaccievog reda. Koristite formulu iz tablica za pomak u vremenu u lijevo. Rješenje:

( )( )2( )

1 1.6 0.6

z zF z

z z z z= =

− − − +

Page 8: ggfrtdds

6

~ DISKRETNI SIGNALI I SUSTAVI ~

Inverzna Z-transformacija

Nakon što smo obavili proračun u Z-domeni potrebno je dobiti natrag niz odnosno diskretizirani signal. To radimo inverznom Z-transformacijom koja je matematički definirana sa:

[ ] 11( )

2

k

C

f k F z z dzjπ

−= ∫� (1.9)

Ovaj integral nije jednostavan za rješavanje, ali srećom kao i kod inverzne Laplaceove transformacije možemo se poslužiti rastavljanjem izraza na parcijalne razlomke i primjenom tablica (P3). U nekim slučajevima kada nije lako odrediti korijene nazivnika odnosno rastaviti izraz na parcijalne razlomke, a npr. potrebno je naći samo nekoliko uzoraka diskretne funkcije, koristimo se:

• Razvojem u Laurentov red (P4) • Juryijevim koeficijentima (P5) • Za odziv sustava opisanog sa G(z) rekurzivnim postupkom (P6)

>> Primjeri

P3 Odredite inverznu Z-transformaciju funkcije 0.5

( )( 0.5)( 0.7)

zF z

z z=

− −

Funkciju prvo dijelimo sa z i zatim rastavljamo na parcijalne razlomke bilo kojom od naučenih metoda:

( ) 0.5 2.5 2.5

( 0.5)( 0.7) 0.5 0.7

F z

z z z z z

−= = +

− − − − (1.10)

zatim množimo sa z da bi sa desne strane dobili oblike koje možemo pronaći u tablicama:

( ) 2.5 2.50.5 0.7

z zF z

z z= − +

− − (1.11)

Iz oblika u (1.11) možemo odrediti diskretnu funkciju:

[ ] 2.5 (0.5) 2.5 (0.7)k kf k = − ⋅ + ⋅ (1.12)

Uočite: dobivena diskretna funkcija definira vrijednosti samo za određene točke (uzorke). >> syms z k; >> F=0.5*z/((z-0.5)*(z-0.7)); >> f=iztrans(F,k); >> pretty(f); k k - 5/2 (1/2) + 5/2 (7/10)

P4 Uz pomoć razvoja u Laurent-ov red naći prvih nekoliko uzoraka (k=0...5) niza predstavljenog u Z-domeni sa funkcijom:

a) 2

3 2

1( )

2 3 1

zF z

z z z

+=

+ + +

Page 9: ggfrtdds

7

b) 0.5

( )( 0.5)( 0.7)

zF z

z z=

− −

a) U ovom primjeru nije trivijalno naći korijene nazivnika kako bi rastavili funkciju na parcijalne razlomke te da bi našli nekoliko (prvih) uzoraka diskretne funkcije jednostavno dijelimo brojnik sa nazivnikom:

( ) ( )2 3 2 1 2 3 4 5

2 1

1

1 2

1 2

1 2 3

1 2 3

1 2 3 4

2 3 4

1 : 2 3 1 2 2 6 ...

2 3

2 2

2 4 6 2

2 5 2

2 4 6 2

4 2

2 3

6 5

...

z z z z z z z z z

z z z

z z

z z z

z z

z z z

z z z

z z z z

z z z

− − − − −

− −

− −

− − −

− − −

− − − −

− − −

+ + + + = − + + −

+ + +

− − −

− − − −

+ +

+ + +

− −

+ + +

− − −

(1.13)

Rezultantni polinom se uz pomoć svojstva linearnosti i teorema o pomaku može prebaciti u domenu diskretnog vremena. Koeficijent uz z-1 je u diskretnoj vremenskoj domeni vrijednost prvog uzorka funkcije odnosno f [1], koefinijent uz z-2 je uzorak f [2] itd. Dobijamo niz prvih nekoliko uzoraka diskretne funkcije:

{ }0,1, 2,2,1, 6...− −↑

(1.14)

U MATLABu možemo uočiti da nam klasični postupak daje specifični oblik rješenja: >> syms z k; >> F=(z^2+1)/(z^3+2*z^2+3*z+1); >> f=iztrans(F,k); >> pretty(f) charfcn[0](k) + 1/23 / / / 1 \k\\ | ----- | |------| || | \ | / 1 \k / 1 \k \_alpha/ || | ) |16 |------| + 21 |------| _alpha + 4 ---------|| | / \ \_alpha/ \_alpha/ _alpha /| | ----- | \_alpha = %1 / 2 3

%1 := RootOf(1 + 2 _Z + 3 _Z + _Z )

ipak možemo evaluirati dobivenu funkciju za prvih nekoliko uzoraka i provjeriti dobiveni niz naredbom: >> subs(f,0:5) ans = [ 0, 1, -2, 2, 1, -6]

prvih desetak uzoraka možemo i iscrtati naredbom: >> stem(double(subs(f,0:10)),'filled');

Page 10: ggfrtdds

8

1 2 3 4 5 6 7 8 9 10 11-30

-20

-10

0

10

20

30

*probajte istim naredbama iscrtati nizove zadatku Z3 za različita vremena uzorkovanja i bolje uočiti dobivene razlike

Page 11: ggfrtdds

9

b) U ovom primjeru funkcija je ista kao i u primjeru P1:

2

0.5 0.5( )

( 0.5)( 0.7) 1.2 0.35

z zF z

z z z z= =

− − − + (1.15)

Vršimo dijeljenje:

2 1 2 3 4 5

1

1

1 2

1 2

1 2 3

2 3

2 3 4

(0.5 ) : ( 1.2 0.35) 0.5 0.6 0.545 0.444 0.342 ...

0.5 0.6 0.175

0.6 0.175

0.6 0.72 0.21

0.545 0.21

0.545 0.654 0.19

0.444 0.19

0.444 0.532 0.1554

0.3

z z z z z z z z

z z

z

z z

z z

z z z

z z

z z z

− − − − −

− −

− −

− − −

− −

− − −

− + = + + + +

− +

− +

− +

− +3 442 0.1554

...

z z− −−

(1.16)

Dobijamo niz:

{ }0,0.5,0.6,0.545,0.444,0.342...

↑ (1.17)

koji je istovjetan nizu definiranom funkcijom (1.12) što možemo provjeriti i u MATLABu naredbom >> pretty(f); %iz primjera P1 k k - 5/2 (1/2) + 5/2 (7/10)

>> subs(f,0:5) ans = 0 0.5000 0.6000 0.5450 0.4440 0.3420

P5 Uz pomoć Juryevih koeficijenata naći prvih nekoliko uzoraka (k=0...5) niza predstavljenog u Z-

domeni sa funkcijom: 2

3 2

1( )

2 3 1

zF z

z z z

+=

+ + +

Zadana ista prijenosna funkcija kao i u P4a, tako da možemo usporediti dobivene rezultate. Metoda kojom se koristimo u ovom slučaju za dobijanje vrijednosti uzoraka u vremenskoj domeni je računski manje zahtjevna od dijeljenja polinoma s polinomom.

Za opći oblik funkcije u Z-domeni:

1 2

0 1 2

1 2

0 1 2

...( )

...

p p z p zF z

q q z q z

− −

− −

+ + +=

+ + + (1.18)

vrijedi u diskretnoj vremeskoj domeni:

[ ] [ ] { }10

10,

k

k i

i

f k p f k i q kq =

= − − ∀ ∈ ∞

∑ za (1.19)

Prema tome prvo moramo prilagoditi funkciju obliku prikazanom u (1.18) tako da podijelimo brojnik i nazivnik sa z3:

1 3

1 2 3( )

1 2 3

z zF z

z z z

− −

− − −

+=+ + +

(1.20)

Iz ovog oblika možemo odrediti koeficijente p i q:

Page 12: ggfrtdds

10

0 1 2 3

0 1 2 3

0, 1, 0, 1

1, 2, 3, 1

p p p p

q q q q

= = = =

= = = = (1.21)

Page 13: ggfrtdds

11

Zatim računamo uzorke:

[ ]

[ ] [ ]

[ ] [ ] [ ]

[ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ]

[ ] [ ] [ ] [ ] [ ] [ ]

0

0

1 1

0

2 2 1

0

3 3 2 1

0

4 4 3 2 1

0

5 5 4 3 2 1

0

10 0

11 0 1

12 0 1 2

13 0 1 2 2

14 0 1 2 3 1

15 0 1 2 3 4 6

f pq

f p f qq

f p f q f qq

f p f q f q f qq

f p f q f q f q f qq

f p f q f q f q f q f qq

= =

= − ⋅ =

= − ⋅ − ⋅ = −

= − ⋅ − ⋅ − ⋅ =

= − ⋅ − ⋅ − ⋅ − ⋅ =

= − ⋅ − ⋅ − ⋅ − ⋅ − ⋅ = −

(1.22)

koji nam se kako vidimo slažu sa prethodno dobivenim rezultatima. P6 Ispitati rekurzivnim postupkom odziv sustava (za k=0...5) na step funkciju ako je prijenosna

funkcija sustava dana sa 2

1( )

0.7 0.1

zG z

z z

−=

− −.

Prijenosnu funkciju možemo napisati kao jednadžbu diferencija:

1 2

2 1 2

( ) 1( )

( ) 0.7 0.1 1 0.7 0.1

Y z z z zG z

U z z z z z

− −

− −

− −= = =

− − − − (1.23)

[ ] [ ] [ ] [ ] [ ]1 2 0.7 1 0.1 2u k u k y k y k y k− − − = − − − − (1.24)

[ ] [ ] [ ] [ ] [ ]0.7 1 0.1 2 1 2y k y k y k u k u k= − + − + − − − (1.25)

Sada rekurzivnim postupkom možemo računati uzorke izlaznog signala kao odziv sustava na step funkciju u[k].

k u[k] y[k]

-1 0 0.7⋅0+0.1⋅0+0-0= 0 0 1 0.7⋅0+0.1⋅0+0-0= 0 1 1 0.7⋅0+0.1⋅0+1-0= 1 2 1 0.7⋅1+0.1⋅0+1-1= 0.7 3 1 0.7⋅0.7+0.1⋅1+1-1= 0.59 4 1 0.7⋅0.59+0.1⋅0.7+1-1= 0.483 5 1 0.7⋅0.483+0.1⋅0.59+1-1= 0.3971

Za odziv na step funkciju u MATLABu se koristimo naredbom tf za generiranje prijenosne funkcije i naredbom step: >> Gz=tf([1 -1],[1 -0.7 -0.1],-1); >> [y,k]=step(Gz,0:5); >> y y = 0 1.0000 0.7000 0.5900 0.4830 0.3971

Page 14: ggfrtdds

12

>> Zadaci za vježbu

Z7 Odredite inverznu Z-transformaciju slijedećih funkcija uz pomoć rastava na parcijalne razlomke

a) 2

( )( 0.9)( 0.9)( 1)

zF z

z z z=

− + −

(Skripta: primjer 4.6)

Rješenje: [ ] 5 (0.9) 0.263 ( 0.9) 5.263k kf k = − ⋅ − ⋅ − +

b) ( 3)( 5)

( )( 0.4)( 0.6)( 0.8)

z z zF z

z z z

+ +=

− − −

(Skripta: zadatak 2.a)

Rješenje: [ ] 229.5 (0.4) 504 (0.6) 275.5 (0.8)k k kf k = ⋅ − ⋅ + ⋅

c) ( 0.2)( 0.4)

( )( 0.1)( 0.5)( 0.9)

z z zF z

z z z

+ +=

− − −

(Skripta: zadatak 2.b)

Rješenje: [ ] 0.4688 (0.1) 3.9375 (0.5) 4.4688 (0.9)k k kf k = ⋅ − ⋅ + ⋅

d) ( 1)( 0.2)

( )( 0.5)( 0.6)

z zF z

z z

+ +=

− −

(Skripta: zadatak 2.c)

Rješenje: [ ] [ ]0.66 21 (0.5) 21.33 (0.6)k kf k kδ= ⋅ − ⋅ + ⋅

Z8 Uz pomoć razvoja u Laurentov red naći prvih nekoliko uzoraka (k=1...5) diskretne funkcije predstavljene u Z-domeni sa:

a) 2

( )( 1)( 0.3)

zF z

z z=

− −

Rješenje: { }1, 1.3, 1.39, 1.417, 1.4251, 1.4275...

b) ( )( 2)( 0.7)

zF z

z z=

− −

Rješenje: { }0, 1, 2.7, 5.89, 12.123, 24.4861...

Z9 Uz pomoć Juryevih koeficijenata naći prvih nekoliko uzoraka (k=1...5) diskretne funkcije

predstavljene u Z-domeni sa: 3 2

3 2

3 2 3( )

2 8 2

z zF z

z z z

+ −=

− + +

Rješenje: { }3, 8, 8, 89, 130, 468...− − −↑

Z10 Ispitati rekurzivnim postupkom odziv sustava (za k=0...5) na step funkciju ako je prijenosna

funkcija sustava dana sa 2

3

3( )

2 0.1

zG z

z z

−=

− −

Rješenje: { }0, 1, 1, 0, 0.1, 1.9...−↑

Page 15: ggfrtdds

13

Dodatno pitanje: Rješenje ovih zadataka su nizovi. Na koji način možemo uz pomoć njih rekonstruirati signal u kontinuiranom vremenu? Koja nam ključna informacija pri tome nedostaje?

Page 16: ggfrtdds

14

Sustavi digitalnog upravljanja

22.. AAuuddiittoorrnnee vvjjeežžbbee

~ DISKRETNI SIGNALI I SUSTAVI ~

Z-transformacija sustava u kaskadi s ekstrapolatorom

Diskretni signal nastao impulsnom modulacijom odn. otipkavanjem ili uzorkovanjem kontinuiranog signala u(t) označavamo u*(t). Takav signal, još uvijek prikazan u kontinuiranom vremenu sastoji se od δ impulsa razmaknutih za vrijeme uzorkovanja T, amplitude u(kT) te ga se kao takvog nikada ne dovodi direktno na kontinuirani sustav jer bi na izlazu dobili odziv čija bi amplituda izravno ovisila o (u pravilu) maloj energiji tog signala – koja ovisi o T.

Kako bi riješili ovaj problem koristimo element koji smo upoznali na predavanjima i u uvodnoj laboratorijskoj vježbi – ekstrapolator nultog reda (engl. zero order hold – zoh) Gh0. Njegova je karakteristika "vraćanje" energije impulsno moduliranom (informacijskom) signalu te ga obično vežemo u kaskadu sa samim kontinuiranim sustavom.

Naša želja u ovom dijelu viježbe je naći što vjerniju prijenosnu funkciju kontinuiranog sustava G(s) u kaskadi s ekstrapolatorom 0-tog reda u z-domeni G(z). Na predavanjima je izvedena formula kojom to možemo učiniti, a koja diskretizira sustav tako da ima što točniji odziv na step funkciju (engl. step invariant):

1 ( )( ) (1 )

G sG z z

s

− = − ⋅

Z (1.26)

s tim da funkciju G(s)/s iz s-domene u z-domenu prebacujemo razvojem na parcijalne razlomke i korištenjem tablica (u prilogu) prelaska iz s u z područje, ovaj postupak je korišten i u predavanjima (P7)

Osim ovog na raspolaganju nam je još nekoliko načina koji su prilagođeni aproksimaciji u frekevencijskoj domeni, a od kojih obrađujemo slijedeća dva:

• Tustinova transformacija (P8): Kod Tustinove aproksimacije signal u kontinuiranoj domeni aproksimiramo povratnim trapeznim pravilom. Drugim riječima izjednačavamo vrijednost integrala (površinu ispod krivulje) između točaka 0 i kT u s domeni sa aproksimacijom te površine u z domeni preko trapeza kao što to prikazuje slijedeća slika.

Slijedi usporedni razvoj integrala za s domenu i trapezne aproksimacije za z domenu:

Page 17: ggfrtdds

15

0( ) ( )

1( ) ( )

( ) 1

( )

t

p t u t

P s U ss

P s

U s s

=

=

=

∫ L

( )( )( )

( )1 1

( ) 1( ) ( 1)

2

( ) ( ) ( ) ( )2

( ) 1

( ) 2 1

u kT u k Tp kT p k T T

TP z z P z U z z U z

P z T z

U z z

− −

+ −= − +

= + +

+= ⋅

Z

(1.27)

Konačno izjednačavanjem dobivenih prijenosnih funkcija možemo uvesti supstituciju:

2 1

1

zs

T z

−= ⋅

+ (1.28)

• Metoda poklapanja polova i nula prema jednakosti z=eTs (P9 i P10)

Page 18: ggfrtdds

16

>> Primjeri

P7 Odredi prijenosnu funkciju u z domeni sustava koji se sastoji od serijskog spoja ekstrapolatora

0-tog reda i kontinuiranog sustava zadanog sa: 2( ) 1/ 10 21G s s s s= + + + za vrijeme diskretizacije

0.1T = .

Prema formuli (1.26) najprije izračunavamo prijenosnu funkciju u z domeni za sustav

2

( ) 1 1 1

10 21 ( 3)( 7)

G s s s

s s s s s s s

+ += ⋅ =

+ + + + (1.29)

rastavom na parcijalne razlomke bilo kojom od naučenih metoda

( ) 1 1 1 1 3 1

21 6 3 14 7

G s

s s s s= + −

+ + (1.30)

i na kraju pregledom odgovarajućih oblika u tablici dobijamo:

3 7

( ) 1 1 3

21 1 6 14T T

G s z z z

s z z e z e− −

= + − − − −

Z (1.31)

Ostaje nam još samo da rezultat pomnožimo sa (1-z-1):

1

3 7

( ) 1 1 1 3 1( ) (1 )

21 6 14T T

G s z zG z z

s z e z e

−− −

− − = − ⋅ = + − − −

Z (1.32)

sad možemo uvrstiti vrijeme diskretizacije T=0.1 i izračunati konačnu prijenosnu funkciju:

2

0.06468 0.05846( )

1.237 0.3679

zG z

z z

−=

− + (1.33)

Prijenosnu funkciju kontinuiranog sustava u z domeni možemo dobiti koristeći naredbu c2d(sys,Ts,method): >> Gs=tf([1 1],[1 10 21]); >> Gz=c2d(Gs,0.1,'zoh') Transfer function: 0.06468 z - 0.05846 ---------------------- z^2 - 1.237 z + 0.3679 Sampling time: 0.1

Ako želimo naći prijenosnu funkciju G(s) u kontinuranom području, a poznata nam je prijenosna funkcija tog sustava u kaskadi sa ekstrapolatorom nultog reda u diskretnom području koristimo se slijedećom naredbom: >> d2c(Gz,'zoh') Transfer function: s + 1 --------------- s^2 + 10 s + 21

Dodatno: rastav na parcijalne razlomke možemo u MATLABu dobiti naredbom residue na slijedeći način: >> [r,p,k]=residue([1 1],[1 10 21 0]) r = -0.2143 0.1667 0.0476 p = -7 -3 0 k = []

Page 19: ggfrtdds

17

P8 Odredi prijenosnu funkciju u z domeni sustava koji se sastoji od serijskog spoja ekstrapolatora

0-tog reda i kontinuiranog sustava zadanog sa: 2( ) 1/ 10 21G s s s s= + + + za vrijeme diskretizacije

0.1T = koristeći se Tustinovom aproksimacijom.

22 1

1

2

2 2 2 2

2 2 2 2

0.1

2

2

1( )

10 21

2 11

1

2 1 2 110 21

1 1

(2 ) 2 ( 2 )

(4 20 21 ) ( 8 42 ) (4 20 21 )

0.0338 0.00332 0.0306

1.221 0.356

zsT z

T

sG z

s s

z

T z

z z

T z T z

z T T z T T T

z T T z T T T

z z

z z

−= ⋅

+

=

+=

+ +

−⋅ ++=

− − ⋅ + ⋅ + + +

⋅ + + ⋅ + −=

⋅ + + + ⋅ − + + − +

+ −=

− +

(1.34)

>> Gs=tf([1 1],[1 10 21]); >> Gz=c2d(Gs,0.1,'tustin') Transfer function: 0.03382 z^2 + 0.003221 z - 0.0306 --------------------------------- z^2 - 1.221 z + 0.3559 Sampling time: 0.1

Pogledajmo razliku između ove dvije aproksimacije tako što ćemo ispisati odziv na step funkciju: >> step(Gs); >> hold on; >> step(c2d(Gs,0.1,'zoh')); >> step(c2d(Gs,0.1,'tustin')); >> legend('G(s)','G(z) - zoh','G(z) - tustin');

0 0.5 1 1.5 2 2.5 30

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

G(s)G(z) - zohG(z) - tustin

Step Response

Time (sec)

Amplitude

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

0.065

0.07

0.075

0.08

0.085

G(s)G(z) - zohG(z) - tustin

Step Response

Time (sec)

Amplitude

Vidimo kako Tustinova aproksimacija uzorak x[k] računa na način da površina ispod krivulje u kontinuiranoj i diskretnoj rekonstruiranom bude ista. Bitno je naglasiti da Tustinovom transformacijom informacija o stabilnosti ostaje u potpunosti sačuvana i u diskretnom području te da je preslikavanje iz s u z domenu jednoznačno - cijela lijeva poluravnina u s domeni je preslikana u unutrašnjost kružnice u z domeni. Zbog takvog preslikavanja gdje je beskonačni spektar frekvencija u kontinuiranom području preslikan u konačnu unutrašnjost kružnice, dolazi do pomaka frekvencija, pa se za projektiranje digitalnih filtara mora koristiti tzv. prewarp Tustinova transformacija.

Page 20: ggfrtdds

18

P9 Odredi prijenosnu funkciju u z domeni sustava koji se sastoji od serijskog spoja ekstrapolatora

0-tog reda i kontinuiranog sustava zadanog sa: 2( ) 1/ 10 21G s s s s= + + + za vrijeme diskretizacije

0.1T = koristeći se metodom poklapanja polova i nula.

Analizom prijenosne funkcije dolazimo do vrijednosti polova p1=-3 i p2=-7 i nule n1=-1 i n2=∞. Koristeći prije navedenu vezu između varijabli z i s možemo izračunati ekvivalentne polove i nule u z domeni:

1

2

1

3

1

7

2

1

0.74

0.49

0.9

Tp T

z

Tp T

z

Tn T

z

p e e

p e e

n e e

= = =

= = =

= = =

(1.35)

pa možemo napisati prijenosnu funkciju:

( 0.9)

( )( 0.74)( 0.49)

zG z K

z z

−= ⋅

− − (1.36)

Ostaje nam još definirati pojačanje K što činimo izjednačavanjem istosmjernog pojačanja kontinuiranog i diskretnog sustava odnosno za ω=0 ⇒ G(s=0) = G(z=1)

( ) ( )1 0.10 1

21 0.26 0.51G s G z K= = = = = ⋅

⋅ (1.37)

0.063K = (1.38) slijedi konačna prijenosna funkcija u z području:

2

0.063 0.057( )

1.23 0.362

zG z

z z

−=

− + (1.39)

za koju primjećujemo da je slična onoj dobivenoj uz pomoć parcijalnih razlomaka. >> Gs=tf([1 1],[1 10 21]); >> Gz=c2d(Gs,0.1,'matched') Transfer function: 0.06529 z - 0.05908 ---------------------- z^2 - 1.237 z + 0.3679 Sampling time: 0.1

P10 Odredi prijenosnu funkciju u z domeni sustava koji se sastoji od serijskog spoja ekstrapolatora 0-tog reda i kontinuiranog sustava zadanog sa: ( ) 6 /(2 1)( 1)G s s s= + + za vrijeme diskretizacije

0.1T = koristeći se metodom poklapanja polova i nula.

Ako sustav prebacimo u formu iz koje možemo očitati polove i nule:

3

( )( 0.5)( 1)

G ss s

=+ +

(1.40)

primjećujemo da su sve nule kontinuiranog sustava u beskonačnosti, u tom slučaju se u diskretnom području nule postavljaju u z=-1, a njihov broj je za jedan manji od broja polova (ako bi npr. stavili jednak broj onda nebi imali kašnjenje u odzivu).

0.5 0.1 0.1

1 1( )

( )( ) ( 0.95)( 0.9)

z zG z K K

z e z e z z− ⋅ −

+ += = ⋅

− − − −⋅ (1.41)

Izjednačavanjem istosmjernog pojačanja kao u prethodnom primjeru dobivamo K=0.015 pa je konačna prijenosna funkcija:

2

0.015 0.015( )

1.85 0.855

zG z

z z

+=

− + (1.42)

Page 21: ggfrtdds

19

>> Zadaci za vježbu

Z11 Odredite prijenosnu funkciju u z domeni sustava koji se sastoji ekstrapolatora 0-tog reda u kaskadi sa sustavima opisanim slijedećim funkcijama prijenosa:

a) 8

( )( 4)

G ss

=+

(Skripta: zadatak 3.a)

Rješenja: Parcijalni razlomci Tustin Poklapanje polova i nula

4

4

2 2( )

T

T

eG z

z e

−=

8 8

2 4 2 4( )4 2

2 4

T Tz

T TG zT

zT

++ +=

−+

+

4

4

2 2( )

T

T

eG z

z e

−=

b) 4

( )( 2)( 5)

sG s

s s

+=

+ +

(Skripta: zadatak 3.b)

Rješenja: Parcijalni razlomci Tustin

( )

2 5 7 5 2

2 2 5 7

1 1 1 1 4 1 1

3 15 3 15 10 3 15( )

T T T T T

T T T

z e e e e e

G zz z e e e

− − − − −

− − −

+ − − + − − =

− + +

2 2 2

2

2 2 2

2 22

2 2

2 4 2

2 7 5 2 7 5 2 7 5( )10 4 2 7 5

2 7 5 2 7 5

T T T T Tz z

T T T T T TG zT T T

z zT T T T

+ −+ +

+ + + + + +=− − +

+ ++ + + +

Poklapanje polova i nula

( )2 5 74

4 2 2 5 7

41

10( )1 ( )

T T TT

T T T T

e e ez e

G ze z z e e e

− − −−

− − − −

− − + −= ⋅

− − + +

c) 2

2 13( )

4 13

sG s

s s

+=

+ +

(Skripta: zadatak 3.e)

Rješenja: Parcijalni razlomci Tustin ( )4 2 2

2 4 2

cos(3 ) 1 cos(3 )( )

2 cos(3 ) 1

T T T

T T

z e e T e TG z

z e z e T

− + −=

− + 2 2 2 2

2 2 2 2

(4 13 ) 26 4 13( )

(4 8 13 ) ( 8 26 ) 4 8 13

z T T z T T TG z

z T T z T T T

+ + +=

+ + + − + + − +

Poklapanje polova i nula 2 4 6.5

6.5 2 2 4

1 cos(3 )( )

1 2 cos(3 )

T T T

T T T

e T e z eG z

e z z e T e

− − −

− − −

− + −= ⋅

− − +

*zadatke riješiti za vremena diskretizacije T=0.01, 0.25, 0.5, 0.8 i 1 koristeći se metodama iz primjera te dodatno provjeriti dobivena rješenja uz pomoć MATLABa Z12 Uz pomoć MATLABa odredite prijenosnu funkciju u z domeni sustava koji se sastoji ekstrapolatora 0-tog reda u kaskadi sa sustavima opisanim slijedećim funkcijama prijenosa:

a) ( 1)( 2)

( )( 3)( 4)

s sG s

s s s

+ +=

+ + (Skripta: zadatak 3.c)

b) 2

27( )

( 2)( 4 13)G s

s s s=

+ + + (Skripta: zadatak 3.d)

c) 2

10( )

( 2)( 12 61)G s

s s s s=

+ + + (Skripta: zadatak 3.e)

*zadatke riješiti za vremena diskretizacije T=0.01, 0.25, 0.5, 0.8 i 1.

Page 22: ggfrtdds

20

Tablice

Laplaceove i Z-transformacija nekih funkcija: Eulerove formule:

F(S) f(t) F(z)=Z{f(kT)} cos sinj te t j tω ω ω± = ±

1 ( )tδ 1 ( )1

cos2

j t j tt e eω ωω −= +

1

s ( )S t

1

z

z −

( )1

sin2

j t j tt e ej

ω ωω −= −

2

1

s t 2( 1)

Tz

z −

Sume konvergentnih redova:

1

s a+ ate− aT

z

z e−−

1

0

1, 1

1

, 1

N

Nn

n

N

αα

αα

α

=

−≠ −=

=

1

1lns a

T−

t

Ta z

z a−

0

1, 1

1

n

n

α αα

=

= <−∑

2

1

( )s a+ atte− 2( )

aT

aT

Tze

z e

−−

, 1

1

n

n k

kαα α

α

=

= <−∑

( )

a

s s a+ 1 ate−−

(1 )

( 1)( )

aT

aT

z e

z z e

−− −

20 (1 )

n

n

αα

=

=−∑

2 2s

ωω+

sin( )tω 2

sin( )

2 cos( ) 1

z T

z z T

ωω− +

2 2

s

s ω+ cos( )tω

2

2

cos( )

2 cos( ) 1

z z T

z z T

ωω

−− +

Tablica nekih važnijih svojstava Z-transformacije, za F(z)=Z{f[k]}

linearnost [ ] [ ]1 1 2 2a f k a f k+ 1 1 2 2( ) ( )a F z a F z+

pomak u vremenu desno, kašnjenje [ ]f k a− ( )az F z−

pomak u vremenu lijevo, prethođenje

[ ]f k a+ [ ]1

0

( )a

a a k

k

z F z f k z−

=

−∑

množenje sa ak [ ]ka f k⋅ z

Fa

množenje sa eak [ ]ake f k⋅ ( )aF e z−

množenje sa k [ ]k f k⋅ ( )dF z

zdz

konvolucija [ ] [ ]1 2*f k f k 1 2( ) ( )F z F z⋅

Page 23: ggfrtdds

21

~ ANALIZA DISKRETNIH SUSTAVA ~

Stabilnost

Najbitnije svojstvo pri analizi diskretnih sustava je naravno stabilnost. Poznavajući kriterij stabilnosti kontinuiranih sustava i načine preslikavanja s-domene u z-domenu sa svim karakteristikama/ograničenjima koje takvo preslikavanje donosi možemo definirati kriterije stabilnosti diskretnih sustava.

Preslikavanje s-domene u z-domenu zasniva se na odnosu između kompleksnih varijabli s i z što je dan sa formulom (1.1) te na tehnikama opisanim u prvim auditornim vježbama.

( ) (cos sin ) ( , )sT j T T j T Tz e e e e e T j T rσ ω σ ω σ ω ω ϕ+= = = ⋅ = ⋅ + = (1.43) Radi sumiranja zaključaka detaljno izloženih u predavanjima na slijedećim slikama prikazan je niz preslikavanja karakterističnih krivulja i područja između te dvije domene:

11

2

2

4

4

33

-1 -1

2 /3?

2 /3?

-2 /3?

2 /6?

-2 /6?

jω /2s jω /2s

j 3ω /s

s domena s domenaz domena z domena

-jω /2s -jω /2s

-j 3ω /s

1 1

1 1

2 2

4 45

5

5 5

3 3

1

-1 -1

jω /2s jω /2s

j 3ω /s

-j 3ω /s

j 6ω /s

-j 6ω /s

s domena s domenaz domena z domena

-jω /2s -jω /2s

1 1

1

2

2

1 1

-1 -1

jω /2s jω /2s

s domena s domenaz domena z domena

-jω /2s -jω /2s

1 1

1

1

2 2

2

2

Kriterij stabilnosti sustava opisanog s prijenosnom funkcijom u z-domeni je da se njegovi polovi nalaze unutar jedinične kružnice koja predstavlja dio lijeve stabilne poluravnine s-domene što možemo vidjeti na danim slikama. Naglašeno je da se radi o dijelu lijeve poluravnine jer je poznata činjenica da z-transformacija nije jednoznačna i ne preslikava cijelu s-ravninu. Ta činjenica nam može donijeti probleme kako pri interpretaciji određenih signala – što smo već dobro upoznali pod nazivom aliasing, ali i pri diskretizaciji sustava.

Kod prijenosnih funkcija kod kojih lako možemo doći do polova kriterij stabilnosti se provjerava direktnim računanjem apsolutnih vrijednosti polova kao u primjeru P1.

Kod kontinuiranih sustava za određivanje stabilnosti prijenosne funkcije sa složenim polinomom nazivnika kod kojeg ne možemo izravno doći do vrijednosti polova koristimo Routhov kriterij. Isto tako kod diskretnih sustava koristimo Juryijev kriterij koji je opisan u primjeru P2.

U primjerima P3 i P4 prikazano je kako kriterij stabilnosti može izravno postaviti uvjet za vrijeme diskretizacije kontinuiranog sustava ili pojačanje diskretnog sustava. Uvjeti koji se postavljaju na pojačanje detaljnije su obrađeni u zadnjem dijelu u kojem se govori o metodi krivulje mjesta korijena.

Page 24: ggfrtdds

22

>> Primjeri

P1 Odredite je li sustav s prijenosnom funkcijom zatvorenog kruga G(z) stabilan.

2

10( )

1.36 0.95G z

z z=

− +

Stabilnost sustava ovisi isključivo o polovima prijenosne funkcije pa ih računamo kao korijene karakteristične jednadžbe:

2

1,2

1.36 1.36 3.80.68 0.7

2 2z j

−= ± = ±

Kriterij stabilnosti je da se polovi u z-domeni nalaze unutar jedinične kružnice, što provjeravamo računajući apsolutnu vrijednost:

2 2

1,2 0.68 0.7 0.975 1z = + = < .

Sustav je stabilan.

Rješenje u MATLABu: >> Gz=tf(10,[1 -1.36 0.95],-1); >> r=pole(Gz); >> max(abs(r)) ans = 0.9747

P2 Uz pomoć Jury-evog kriterija stabilnosti provjerite stabilnost sustava zadanog s prijenosnom funkcijom:

2

3 2

8 20( )

0.1 0.12 0.4

z zG z

z z z

+ −=

− − −

Juryijev kriterij stabilnosti koristimo kada nam je nezgodno tražiti eksplicitno polove prijenosne funkcije, a želimo ispitati stabilnost. Promatramo nazivnik prijenosne funkcije u obliku:

3 2

0 1 2 3( )D z a z a z a z a= + + +

pazeći da nam je vodeći član pozitivan 0a > 0 .

Za sustav trećeg reda pišemo slijedeću tablicu:

0 1 2 3

33 2 1 0 1

00 1 2

22 1 0 2

00 1

11 0 3

0

0

0

0

0

a a a aa

a a a a ka

b b bb

b b b kb

c cc

c c kc

d

− ⋅ =

⋅ =−

⋅ =−

s tim da je 2. redak čine inverzno napisani članovi prvog retka. Treći redak dobijemo tako da od članova prvog retka oduzmemo članove drugog retka pomnožene sa koeficijentom 1k . Na isti način računamo i

sve ostale članove. Prema Jury-evom kriteriju sustav je stabilan ako su vodeći članovi 0 0 0, ,a b c i 0d

pozitivni. Za zadan sustav pišemo tablicu:

Page 25: ggfrtdds

23

1

2

3

1 0.1 0.12 0.4

0.40.4 0.12 0.1 1 0.410.84 0.148 0.16 00.16

0.16 0.148 0.84 0.19050.84

0.8096 0.176 00.176

0.2170.176 0.80960.8096

0.771 0

k

k

k

− − −−− − −− ⋅ = = −

− −−− − ⋅ = = −−

−−

⋅ = = −−−

Kako su svi vodeći članovi pozitivni možemo zaključiti da je sustav stabilan.

Provjeravamo u MATLABu: >> Gz=tf([1 8 -20],[1 -0.1 -0.12 -0.4],-1); >> max(abs(pole(Gz))) ans = 0.8281

P3 Zadan je sustav na slici:

Ako je prijenosna funkcija sustava:

20( )

5G s

s=

+

potrebno je odrediti za koje vrijednosti vremena uzorkovanja je sustav stabilan.

Najprije računamo prijenosnu funkciju otvorenog sustava odnosno sustava u seriji s ekstrapolatorom: 5

1 1

5 5

20 4 4 1 4(1 )( ) (1 ) (1 ) 4 4

( 5) 5

T

o T T

z eG z z z

s s s s z e z e

−− −

− −

− − = − = − − = − = + + − −

Z Z�

.

Zatim računamo prijenosnu funkciju zatvorenog sustava:

5

5

( ) 4(1 )( )

1 ( ) 5 4

T

oz T

o

G z eG z

G z z e

−= =+ − +

Slijedi da je pol zatvorenog sustava 55 4Te− − , a da bi sustav bio stabilan on se mora nalaziti u jediničnoj kružnici pa postavljamo uvjet:

55 4 1Te− − <

i dalje računamo: 51 5 4 1Te−− < − <

53 5 1Te−< <

ln(3 5)0

5T> >

0.102 0T> >

Zaključujemo da vrijeme diskretizacije mora biti manje od 0.102 sekunde odnosno frekvencija uzorkovanja veća od cca 10 Hz da bi sustav bio stabilan.

Rješenje u MATLABu: >> Go=tf(20,[1 5]); >> for T=0.01:0.001:0.5 % sa ovim vrijednostima eksperimentiramo >> Gz=c2d(Go,T,'zoh'); >> Tz=feedback(Gz,1); >> r=pole(Tz); >> rm=max(abs(r)); >> if rm>=1;

Page 26: ggfrtdds

24

>> T=T-0.001; % da bi pol bio još uvijek unutar kružnice >> % vracamo se na prethodnu vrijednost od T >> break; >> end >> end >> T T = 0.1020

Page 27: ggfrtdds

25

P4 Zadan je sustav oblika kao u prethodnom zadatku s tim da je prijenosna funkcija:

( )( 1)

KG s

s s=

+

Provjerite stabilnost sustava ako je vrijeme diskretizacije T=0.1 i pojačanje K=10. Dali je sustav stabilan i za K=100?.

Tražimo prijenosnu funkciju u kaskadi s ekstrapolatorom 0-tog reda:

1

2 2

( 1 ) 1( ) (1 )

( 1) (1 )

T T T

o T T

K z T e Te eG z z K

s s z z e e

− − −−

− −

− + + − −= − =

+ − + + Z

Karakteristična jednadžba zatvorenog sustava je: 2 ( 1) 0T T T T Tz z KT K Ke e K KTe Ke e− − − − −+ − + − − + − − + =

Ako uvrstimo zadano vrijeme diskretizacije i pojačanje K=10 karakteristična jednadžba je: 2 1.864 0.96 0z z− + =

njena rješenja su polovi:

1,2 0.932 0.3z j= ±

čija apsolutna vrijednost je:

1,2 0.979 1z = <

pa je sustav stabilan. Za K=100 slijedi:

2 1.421 1.3727z z− +

1,2 0.71 0.931z j= ±

1,2 1.171z =

sustav je nestabilan.

Zaključak je da isto kao i kod vremena diskretizacije promjena (povećanje) proporcionalnog pojačanja u pravilu dovodi do nestabilnosti sustava.

Detaljnije o tome u zadnjem dijelu ovih vježbi kada se u primjeru P7 na istom ovom sustavu obrađuje postupak krivulje mjesta korijena kojim pratimo kretanje polova zatvorene petlje u z domeni u ovisnosti o pojačanju. Rješenje u MATLABu: >> Go=tf(1,[1 1 0]); >> Gz=c2d(Go,0.1,'zoh'); >> Tz=feedback(10*Gz,1); >> max(abs(pole(Tz))) ans = 0.9755

>> Go=tf(1,[1 1 0]); >> Gz=c2d(Go,0.1,'zoh'); >> Tz=feedback(100*Gz,1); >> max(abs(pole(Tz))) ans = 1.1716

Page 28: ggfrtdds

26

>> Zadaci za vježbu

Z1 Odredite je li sustav s prijenosnom funkcijom zatvorenog kruga G(z) stabilan.

a) 2

0.11( )

1.67 0.78G z

z z=

− +

(Skripta: primjer 6.1) Rješenje:

1,2 0.88 1z = < sustav je stabilan

b) 3 2

1( )

1.7 0.72

zG z

z z z

+=

− +

Rješenje: 1 0.8 1z = < i

2 0.9 1z = < sustav je stabilan.

c) 2

3( )

2.3 2.1

zG z

z z

+=

+ −

Rješenje: 1 0.7 1z = < sustav je stabilan.

napomena: kako bi MATLAB "pokratio" zajedničke polove i nule koristite funkciju minreal(Gz).

d) 2

0.8( )

1.9 0.88

zG z

z z

−=

− +

Rješenje: 1 1.1 1z = > sustav je nestabilan.

Z2 Uz pomoć Jury-evog kriterija stabilnosti provjerite dali je stabilan sustav zadan s prijenosnom funkcijom.

a) 3 2

10( )

3 3.6 2.82 1.044

zG z

z z z

+=− + − +

Rješenje: koeficijenti su 1 0.348k = − ,

2 0.5944k = i 3 0.6229k = − , a vodeći članovi

0 1a = , 0 0.8789b = ,

0 0.5684c = i

00.3478d = su svi pozitivni, sustav je stabilan.

b) 4 3 2

1( )

1.6 1.26 0.976 0.2145

zG z

z z z z

+=

− + − +

Rješenje: koeficijenti su 1 0.2145k = ,

2 0.6633k = − , 3 0.1259k = i

4 1.2205k = − , a vodeći članovi 0 1a = ,

0 0.9540b = ,

00.5342c = ,

0 0.5258d = i 0 0.2574e = − nisu svi pozitivni, sustav je nestabilan.

c) 4 3 2

0.3( )

0.93 0.544 0.078

zG z

z z z z

+=

− + − +

Rješenje: koeficijenti su 1

0.078k = , 2 0.4689k = − ,

30.5268k = i

4 0.4692k = − , a vodeći članovi 0 1a = ,

0 0.9939b = ,

00.7754c = ,

0 0.5602d = i 0

0.4369e = su svi pozitivni, sustav je stabilan.

d) 5 4 3 2

0.2( )

2 1.5 0.53 0.01 0.01

zG z

z z z z z

+=

− + − + −

Rješenje: koeficijenti su 1

0.01k = − , 2

0.01k = − , 3 0.5351k = − ,

4 0.612k = i 5 1.041k = − , a vodeći članovi

0 1a = ,

00.9999b = ,

00.9998c = ,

0 0.7135d = , 0

0.4462e = i 0

0.03735f = − od kojih je posljednji negativan pa je sustav

nestabilan.

Page 29: ggfrtdds

27

Z3 Za zadanu prijenosnu funkciju sustava G(s) potrebno je odrediti za koje vrijednosti vremena uzorkovanja je sustav stabilan. Sustav je u kaskadi s ekstrapolatorom 0-tog reda i s jediničnom negativnom povratnom vezom.

a) 10

( )1

G ss

=+

(Skripta: primjer 6.3) Rješenje: 0.2T <

b) 3

( )6

G ss

=+

Rješenje: stabilan za bilo koje vrijeme uzorkovanja

c) 9

( )( 3)

G ss s

=+

*

Rješenje: 1.307T <

d) 10( 7)

( )( 1)( 3)( 4)( 5)

sG s

s s s s

+=

+ + + +*

Rješenje: 3.365T < *zbog složenog analitičkog proračuna primjere c) i d) rješiti isključivo uz pomoć MATLABa s tim da graničnu vrijednost vremena uzorkovanja tražite između vrijednosti 0.01 i 6 sek sa točnošću 0.01 sek, a zatim smanjite raspon oko dobivene vrijednosti i povećate točnost na 0.001 sek. Z4 Zadan je sustav oblika kao u prethodnom zadatku s tim da je prijenosna funkcija:

27( )

( 27)G s K

s s=

+

Provjerite stabilnost sustava ako je vrijeme diskretizacije T=0.1 i pojačanje K=20. Dali je sustav stabilan i za K=100?. (Skripta: primjer 6.2) Rješenje:

1,220 0.79 1K z= ⇒ = < sustav je stabilan.

1100 4.89K z= ⇒ = >1 sustav je nestabilan.

*sve zadatke dodatno rješiti i uz pomoć MATLABa

Page 30: ggfrtdds

28

~ ANALIZA DISKRETNIH SUSTAVA ~

Točnost

Nakon što smo utvrdili da je sustav stabilan slijedeća informacija koju želimo utvrditi je točnost tog sustava odn. koliko točno izlaz sustava prati pobudu. Razlikujemo dvije vrste točnosti dinamičku i statičku točnost. U ovim vježbama kao i na predavanjima obrađujemo samo statičku točnost za zatvoreni sustav prikazan na slici:

G (s)h0 G(s)Tu(t) e (t)

*u (t)h y(t)

Statičku točnost nazivamo još i točnost ustaljenog stanja jer se promatra sustav za t→∞ , a procjenjujemo je računajući regulacijsko odstupanje sustava na temelju impulsne prijenosne funkcije sustava u z-području i standardnih ispitnih pobudnih signala. Matematički izračun se temelji na teoremu o konačnoj vrijednosti:

1

1lim ( ) lim(1 ) ( )k z

x kT z X z−

→∞ →= −

koji računamo za signal pogreške sustava sa gornje slike:

0

( ) ( )( )

1 ( ) ( ) 1 ( )h o

U z U zE z

G z G z G z= =+ +

* 1

1

( )lim ( ) ( ) lim(1 )

1 ( )k zo

U ze kT e z

G z

→∞ →= ∞ = −

+

Standardni ispitni pobudni signali su step, rampa i parabola. Pripadajuće greške se nazivaju regulacijska odstupanja po položaju, brzini i ubrzanju, a najčešće se izražavaju preko koeficijenata pK , vK i aK .

Formule za njihov izračun pregledno su dane u slijedećoj tablici:

Ispitni signal Koeficijent Regulacijsko odstupanje

Step: ( )1

zU z

z=

1lim ( )p oz

K G z→

= * 1( )

1 p

eK

∞ =+

Rampa: 2

( )( 1)

TzU z

z=

1

1lim( 1) ( )v o

z

K z G zT

= − * 1( )

v

eK

∞ =

Parabola: 2

3

( 1)( )

2( 1)

T z zU z

z

+=

2

2

1

1lim( 1) ( )a o

z

K z G zT

= − * 1( )

a

eK

∞ =

Slično kao što se u kontinuiranim sustavima dodavanjem integratora odn. pola u ishodištu svodi regulacijsko odstupanje na nulu tako i u diskretnim sustavima dodavanjem pola u 1z = činimo istu stvar.

Ovo objašnjavamo time što se ishodište u s domeni preslikava u 0 1Tz e= = u z domeni. S obzirom na broj članova ( 1)z − u nazivniku razlikujemo tri tipa sustava i njihova regulacijska

odstupanja prema slijedećoj tablici:

Ispitni signal Tip 0 Tip 1 Tip 2

Step 1/( 1)pK + 0 0

Rampa ∞ 1/ vK 0

Parabola ∞ ∞ 1/ aK

Page 31: ggfrtdds

29

>> Primjeri

P5 Zadan je sustav na slici:

G (s)h0 G(s)T

u(t) e (t)*

u (t)h y(t)

Za sva tri standardna ispitna signala izračunajte koeficijente i iznose regulacijskih odstupanja ako je zadana prijenosna funkcija sustava:

20( 3)( )

( 4)( 5)

sG s

s s

+=

+ +.

Zadatak riješite za 0.1T = i za 0.5T = .

Najprije računamo prijenosnu funkciju u kaskadi s ekstrapolatorom:

1 1

4 5

20( 3) 3/ 20 1/ 4 2 / 5 5( 1) 8( 1)( ) (1 ) 20(1 ) 3

( 4)( 5) 4 5o T T

s z zG z z z

s s s s s s z e z e

− −− −

+ − − = − = − + − = + − + + + + − −

Z Z

Za 0.1T = provjeravamo stabilnost zatvorenog sustava:

2

( ) 1.5 1.109( )

1 ( ) 0.222 0.6272

oz

o

G z zG z

G z z z

−= =+ + −

Proizvoljnom metodom utvrđujemo da je sustav stabilan, pa prema navedenim formulama računamo koeficijente i regulacijska odstupanja:

*

1lim ( ) 3 ( ) 0.25p oz

K G z e→

= = ⇒ ∞ =

*

1

1lim( 1) ( ) 0 ( )v oz

K z G z eT →

= − = ⇒ ∞ = ∞

2 *

2 1

1lim( 1) ( ) 0 ( )a oz

K z G z eT →

= − = ⇒ ∞ = ∞

Za 0.5T = zatvoreni sustav je:

2

( ) 3.02 0.6383( )

1 ( ) 2.802 0.6272

oz

o

G z zG z

G z z z

−= =+ + −

polovi su 1 0.208z = i 2 3.01z = − , pa je sustav nestabilan, a računanje regulacijskih odstupanja nema

smisla. Rješenje u MATLABu: >> Gs=tf([20 60],[1 9 20]) >> T=0.1; >> Go=c2d(Gs,T,'zoh') >> Kp=dcgain(Gz) Kp = 3.0000 >> GoKv=Go*(1/T)*tf([1 -1],[1],T); >> GoKv=minreal(GoKv,0.00001); >> Kv=dcgain(GoKv) Kv = 0 >> GoKa=Go*(1/T^2)*tf([1 -2 1],[1],T); >> GoKa=minreal(GoKa,0.00001); >> Ka=dcgain(GoKa) Ka = 0

Page 32: ggfrtdds

30

Prijenosne funkcije GoKv i GoKa dobijamo množenjem prijenosne funkcije otvorene petlje sa 1

( 1)zT

odnosno sa ( )2

2

11z

T− . One su međukorak u rješavanju, a služe nam samo da bi pripradajuće

koeficijente mogli dobiti funkcijom dcgain koja je u ovom slučaju ekvivalent 1

lim ( )z

G z→

.

P6 Za sva tri standardna ispitna signala izračunajte koeficijente regulacijskog odstupanja i statičke pogreške zatvorene petlje s jediničnom povratnom vezom ako je zadana prijenosna funkcija otvorene petlje:

0.3( )

0.7oG z

z=

−.

Zadatak riješite za 0.1T = . Izračunajte prijenosnu funkciju regulatora tako da regulacijsko odstupanje po brzini bude jednako 0.2.

Sustav nema nijedan pol u 1z = pa odgovara tipu 0 iz tablice. To znači da su mu koeficijenti vK i aK

jednaki nuli, a pripadajuća regulacijska odstupanja po brzini i ubrzanju beskonačna. Računamo koeficijent pK i regulacijsko odstupanje po položaju:

1

0.3lim ( ) 1

1 0.7p o

zK G z

→= = =

* 1( ) 0.5

1 p

eK

∞ = =+

što znači da nakon što prođu sve prijelazne pojave sustav se zaustavlja na 50% vrijednosti ulaza. Slijedeće što želimo je projektirati regulator koji eliminira regulacijsko odstupanje po položaju, a da regulacijsko odstupanje po brzini iznosi 0.2. Traženi sustav odgovara tipu 1 što znači da regulator treba imati jedan pol u 1 odnosno treba imati integracijsko ponašanje. Projektiramo PI regulator čija je prijenosna funkcija u z domeni:

( )1

r i

zG z K K

z= +

Nova prijenosna funkcija otvorene petlje je:

( )'

0.30.3( ) ( ) ( )

1 0.7 ( 1)( 0.7)

i

o r o i

K K z KzG z G z G z K K

z z z z

+ − ⋅ = ⋅ = + ⋅ = − − − −

i ima pol u 1z = pa je regulacijsko odstupanje po položaju jednako 0, a regulacijsko odstupanje po brzini je jednako:

( )*

1 '

1

1

( ) 0.2lim(1 ) ( )

lim 0.3( 0.7)

o iiz

z

T T Te

z G z KK K z K

z z

∞ = = = =− + −

0.10.5

0.2 0.2i

TK = = =

slijedi zaključak da regulacijsko odstupanje ne ovisi o proporcionalnoj konstanti regulatora K već samo o vremenu diskretizacije T i integracijskoj konstanti iK s time da moramo paziti da se ona ne povećava

iznad granice za koju sustav postaje nestabilan.

Page 33: ggfrtdds

31

>> Zadaci za vježbu

Z5 Zadan je sustav na slici:

G (s)h0 G(s)T

u(t) e (t)*

u (t)h y(t)

(napomena: za zadatke c) i d) vrijedi Go(z)=Gh0(s)G(s) uz vrijeme diskretizacije T). Za sva tri standardna ispitna signala izračunajte koeficijente i iznose regulacijskih odstupanja ako je zadana prijenosna funkcija sustava i vrijeme uzorkovanja.

a) 10

( )( 1)

G ss s

=+

i 0.1T =

(Skripta: primjer 7.1) Rješenje: , 10, 0p v aK K K= ∞ = =

b) 21.81

( ) 0.1986( 0.866)

sG s

s s

−= −

+ i 0.8T =

Rješenje: 2

1( )

0.5 1.5z

zG z

z z

+=

− + sustav je nestabilan

c) 2

2.1( )

( 1) ( 0.7)oG z

z z=

− − i 3T =

Rješenje: 3 2

2.1( )

2.7 2.4 1.4zG z

z z z=

− + + sustav je nestabilan

d) 3

( )( 1)( 0.2)

o

zG z

z z

+=

− − i 0.2T =

Rješenje: 2

3( )

0.2 3.2z

zG z

z z

+=

− + sustav je nestabilan

*sve zadatke dodatno rješiti i uz pomoć MATLABa Z6 Za navedene sustave, a prema slici iz prethodnog zadatka, izračunajte koeficijente regulacijskih odstupanja i prijenosne funkcije regulatora tako da regulacijsko odstupanje po ubrzanju sustava s regulatorom se svede na 0.1.

a) 14.1 51.6

( )( 12)

sG s

s s

+=

+, 0.1T =

Rješenje: , 4.28, 0p v aK K K= ∞ = = , ( ) 0.2331

r

zG z

z=

− sustav je stabilan

b) 2

4.47 115( )

10.73 138

sG s

s s

+=

+ +, 3T =

Rješenje: 0.83, 0, 0p v aK K K= = = , 2

2( ) 108

( 1)r

zG z

z=

− sustav je nestabilan, potrebno je promijeniti vrijeme

diskretizacije, probajte riješiti sa T=0.3: 0.83, 0, 0p v aK K K= = = , 2

2( ) 0.108

( 1)r

zG z

z=

− sustav je stabilan

c) 2

2.1 ( 0.6)( )

( 1) ( 0.1)o

z zG z

z z

−=

− −, 0.03T =

Rješenje: , , 1037p v aK K K= ∞ = ∞ = , ( ) 0.00967rG z = sustav je stabilan

d) 0

0.6( )

( 1)( 0.2)

zG z

z z

−=

− −, 0.2T =

Rješenje: , 2.5, 0p v aK K K= ∞ = = , ( ) 0.81

r

zG z

z=

− sustav je stabilan

Page 34: ggfrtdds

32

Sustavi digitalnog upravljanja

33.. AAuuddiittoorrnnee vvjjeežžbbee

~ ANALIZA DISKRETNIH SUSTAVA ~

Prijelazna karakteristika – metoda krivulje mjesta korijena

Pri analizi diskretnih sustava prijelaznu karakteristiku odn. vremenski odziv možemo dobiti rješavanjem jednadžbi diferencija. Iako takav postupak daje precizan uvid u ponašanje sustava on nije uvijek lagan, a još veća teškoća je određivanje parametara sustava koje treba izmjeniti da bi se zadovoljili određeni zahtjevi.

Do sada o sustavu znamo dali je stabilan i koliko je njegovo regulacijsko odstupanje na standardne pobudne signale, ali primjerice neznamo ništa o stupnju stabilnosti, npr. postotak nadvišenja, vrijeme smirivanja, vrijeme prvog maksimuma i dr.

Tehnika kojom izbjegavamo rješavanje jednadžbi diferencija i koja nam u isto vrijeme omogućava nalaženje parametara koje treba podesiti ili kompenzirati da bi sustav poprimio željene karakteristike, a u prvom redu tu se misli na karakteristike odziva na poznatu pobudu (step) je metoda krivulje mjesta korijena.

Ako je opći oblik prijenosne funkcije otvorenog diskretnog sustava u z-domeni:

1 2

1 2

( )( ) ( )( )

( )( ) ( )

mo

n

z z z z z zG z K

z p z p z p

− − −=

− − −⋯

tada je krivulja mjesta korijena krivulja u kompleksnoj ravnini (z domeni) po kojoj se "kreću" polovi (korijeni karakteristične jednadžbe) pripadajućeg zatvorenog diskretnog sustava s jediničnom povratnom vezom dok se mijenja pojačanje K otvorenog sustava od 0 do ∞ .

Pravila crtanja su identična kao i za kontinuirane sustave, pa ih u ovim vježbama nećemo posebno obrađivati. Razlike postoje pri analizi dobivene krivulje primjerice sustav je stabilan za pojačanja K za koja se polovi nalaze unutar jednične kružnice, a ne na lijevoj strani ravnine kao u kontinuiranim sustavima.

Ostala karakteristična područja i točke dobivaju se preslikavanjem karakterističnih krivulja iz s-domene u z-domenu na način kako je to obrađeno u predavanjima, a kako to opisuju slike na prvoj stranici ovih vježbi.

Na zadnjoj stranici ovih vježbi možete naći dijagram u z-ravnini sa precizno ucrtanim krivuljama konstantnog stupnja prigušenja ξ , konstantne frekvencije neprigušenih oscilacija nω krivulje

konstantnog vremena smirivanja sT i vremena prvog maksimuma pT kao funkcije vremena

diskretizacije T .

>> Primjeri

P7 a) Zadan je sustav na slici:

G (s)h0 G(s)KT

u(t) e (t)*

u (t)h y(t)

Odrediti područje vrijednosti koeficijenta pojačanja K tako da sustav bude stabilan, ako je zadana prijenosna funkcija sustava:

1( )

( 1)G s

s s=

+.

Page 35: ggfrtdds

33

Zadatak riješite za 0.1T = .

Sustav je isti kao u primjeru P4 samo što sada osim provjere za dva pojačanja moramo naći točno područje vrijednosti za K za koje je sustav stabilan.

Nakon što izračunamo prijenosnu funkciju otvorenog sustava u z- domeni:

2

0.1

( 1 ) 1 0.967( ) 0.00483

(1 ) ( 1)( 0.904)

T T T

o T T

T

z T e Te e zG z K K

z z e e z z

− − −

− −=

− + + − − += = ⋅ ⋅

− + + − −

računamo točke u kojoj krivulja siječe realnu os:

21 1 10 1.934 2.745 0

1 0.904 0.967z z

z z z+ − = ⇒ + − =

− − +

1,2 0.967 1.918z = − ±

1 22.885 0.951z z= − =

Page 36: ggfrtdds

34

Uz poznata pravila za crtanje krivulje mjesta korijena crtamo:

-1-2.885 0.9041 1

0.9510.9+j0.45

U presjecištu krivulje mjesta korijena sa jediničnom kružnicom definirana je granična vrijednost pojačanja Kgr do koje je sustav stabilan. Drugim riječima za sva pojačanja veća od Kgr polovi zatvorenog sustava nalaze se izvan jedinične kružnice te je sustav nestabilan. Presjecište možemo odrediti grafički preciznim crtanjem ili računski:

2 2( 0.967)x y+ + 2 23.678 x y− = + 1−

2x 21.934 0.935 3.678x x+ + − = 1−

20.901 1 0.432x y x= ⇒ = − + =

Precizno izračunato presjecište se lijepo slaže sa onim određenim grafičkim putem i iznosi:

0.901 0.432prz j= +

Nakon čega računamo vrijednost pojačanja K u toj točki:

1 2

1

0.1910.00483 0.0998

1.917

pr pr

gr

pr

z p z pK

z z

− −⋅ = = =

0.099820.67

0.00483grK = =

što odgovara rezultatima iz primjera P4 - za K=20 stabilno i K=100 nestabilno. >> Gs=tf(1,[1 1 0]); >> Gz=c2d(Gs,0.1,'zoh'); >> rlocus(Gz);

-6 -5 -4 -3 -2 -1 0 1-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

System: Gz Gain: 20.7

Pole: 0.897 + 0.432i Damping: 0.00914

Overshoot (%): 97.2 Frequency (rad/sec): 4.48

Root Locus

Real Axis

Imaginary Axis

Page 37: ggfrtdds

35

b) Zadan je sustav na slici:

G(z)Ku(t) y(t)

Odrediti područje vrijednosti koeficijenta pojačanja K tako da sustav bude stabilan, ako je zadana prijenosna funkcija sustava:

0.5( )

( 0.25)( 0.75)

zG z

z z

+=

− −.

Koliko mora biti pojačanje da koeficijent prigušenja bude veći od 0.5?

Na sličan način kao u prošlom zadatku dolazimo do presjecišta krivulje s realnom osi: 1 1.468z = − i

2 0.468z = te nakon toga i do same krivulje:

Presjecište s kružnicom stabilnosti određujemo grafički ili računski, a ono iznosi:

0.313 0.95 1.63pr grz j K= − + ⇒ =

Presjecište sa krivuljom konstantnog koeficijenta prigušenja 0.5ξ = dobijamo precizno crtanjem krivulja na dijagram na kraju ovih vježbi. Dio dijagrama sa superponiranom krivuljom prikazan je na slijedećoj slici:

Granično pojačanje ( za točku presjecišta) određujemo na isti način kao i u prethodnim primjerima:

( 0.5) 0.31grK ξ > <

>> Gz=tf([1 0.5],[1 -1 0.1875],-1); >> rlocus(Gz); >> zgrid(0.5,0);

Page 38: ggfrtdds

36

-2 -1.5 -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

0.5

System: Gz Gain: 1.63

Pole: -0.313 + 0.95i Damping:

Overshoot (%): Frequency (rad/sec):

System: Gz Gain: 0.31 Pole: 0.344 + 0.472i Damping: Overshoot (%): Frequency (rad/sec):

System: Gz Gain: 0.307 Pole: 0.345 + 0.47i Damping: Overshoot (%): Frequency (rad/sec):

Root Locus

Real Axis

Imaginary Axis

P8 Za sustav u primjeru P7 b) naći vrijednost pojačanja K takvu da je nadvišenje bude 4.6%. Dodatno naći vrijednost pojačanja K tako da se za 10. uzorak odziv "smiri" na ±±±±2% konačne vrijednosti.

Nadvišenje je izravno vezano uz koeficijent prigušenja ξ tako da računamo:

2 2

ln0.7

ln ( )

m

m

σξ

π σ= − =

+

i dalje računamo na isti način kao u prethodnom zadatku, a rješenje je:

0.173K = .

Za drugi dio zadatka uvjet je 10sT T = te se za nalaženje polova zatvorenog sustava koristimo

dijagramom na zadnjoj strani.

Dolazimo do vrijednosti dominantnog pola 0.67z = s tim da moramo biti svjesni da i drugi pol koji je na realnoj osi bliže ishodištu također ima utjecaj na vrijeme smirivanja, pa ako zanemarimo njegov utjecaj kao u ovom primjeru radimo određenu pogrešku. Konačna vrijednost pojačanja koju dobijamo ovom metodom je:

0.67 0.25 0.67 0.750.0287

0.67 0.5K

− −= =

+

Rješenje u MATLABu:

>> Gz=tf([1 0.5],[1 -1 0.1875],-1); >> rlocus(Gz); >> zgrid(0.7,0);

-2 -1.5 -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

0.7

System: Gz

Gain: 0.173

Pole: 0.412 + 0.321i

Damping:

Overshoot (%):

Frequency (Hz):

Root Locus

Real Axis

Imaginary Axis

drugi dio rješavamo uz pomoć rltool alata:

Page 39: ggfrtdds

37

>> rltool(Gz)

Uz pomoć tog alata može se izravno pratiti vrijeme smirivanja pomičući polove zatvorenog sustava po krivulji mjesta korijena na način da uključimo aktivno praćenje odziva na step zatvorenog sustava u izborniku Analysis > Response to Step Command.

U novootvorenom prozoru desnim klikom i izborom Systems > Closed Loop: r to u (green) ostavljamo odziv koji nas zanima te nakon toga sa Characteristics > Settling time, klikom na plavu točkicu i označavanjem "Real-Time Update" dobijamo mogućnost praćenja promjene odziva i vrijednosti Ts u realnom vremenu.

Kako je ovo diskretni sustav cijeli niz pojačanja od K=0.0361 do K=0.0468 nam daje odgovarajući odziv, ali zanimljivo je da se za prethodno izračunatu vrijednost K=0.0287 dobija smirivanje u 11. uzorku, što je posljedica već spomenutog nedominantnog pola prijenosne funkcije zatvorenog sustava.

Page 40: ggfrtdds

38

>> Zadaci za vježbu

Z7 Zadan je sustav na slici:

G(z)Ku(t) y(t)

(napomena: za zadatke b) i d) vrijedi G(z)=Gh0(s)G(s) uz vrijeme diskretizacije T). Odrediti područje vrijednosti koeficijenta pojačanja K tako da sustav bude stabilan, ako je zadana prijenosna funkcija sustava:

a) 1

( )( 1)( 0.5)

zG z

z z

+=

− −

(Skripta: primjer 8.2) Rješenje: 0.5grK =

b) 1

( )( 1)( 3)

G ss s

=+ +

, 0.1T =

Rješenje: 86grK =

c) 1

( )( 0.2)( 0.3)( 0.6)

G zz z z

=+ − +

Rješenje: 0.416grK =

d) 2

( )( 1)( 3)

sG s

s s s

+=

+ +, 1T =

Rješenje: 4.47grK =

Z8 Za sustave iz zadatka Z7 odrediti vrijednosti K tako da se postignu slijedeće karakteristike odziva: a) Koeficijent prigušenja 0.7.

(Skripta: primjer 8.3) Rješenje: ( )0.7 0.06K ξ = =

b) Postotak nadvišenja 16.3%.

Rješenje: ( )16.3% 9.43mK σ = =

c) Smirivanje na ±2% konačne vrijednosti u 20. uzorku izlaza

Rješenje: ( )20 0.15sK T T = = MATLAB: ( )20 0.163sK T T = =

d) Vrijeme prvog maksimuma 7 sekundi.

Rješenje: ( )7 0.582pK T T = = MATLAB: ( )7 0.563pK T T = =

*sve zadatke dodatno rješiti i uz pomoć MATLABa

Page 41: ggfrtdds

39

>> Dijagram karakterističnih krivulja u z domeni i formule

0 0 0( )j T jsT j Tz e e e e reσ ω σ ω− + − Θ= = = =

Kontinuirani sustav Diskretni sustav

Koeficijent prigušenja: 0

n

σξ

ω=

02

01T

j Tz e e

ξω

ξ ω−

−=

Vrijeme prvog maksimuma: 0

pTπω

= 0

pT

T

π=Θ

Vrijeme smirivanja (2%): 0

4sT σ=

4

ln

sT

T r= −

Nadvišenje: ( )

21

2 2

ln

ln

mm

m

e

ξπ

ξ σσ ξ

π σ

−− −

= ⇒ =+

Page 42: ggfrtdds

40

~ DISKRETNI SUSTAVI U PROSTORU STANJA ~

Diskretni sustavi opisani varijablama stanja

Linearni vremenski nezavisan diskretan sustav sa jednim ulazom i jednim izlazom (SISO - engl. single-input single-output) opisujemo linearnom vremenski nezavisnom jednadžbom diferencija čiji opći oblik glasi:

[ ] [ ]0 0

n s

i j

i j

p y k i q u k j= =

− = −∑ ∑ . (2.1)

Ovom jednadžbom opisan je odnos između ulaza u i izlaza y pri čemu se vrijednost izlaza u diskretnom trenutku k odn. uzorak y[k] sastoji od vremenski nepromjenjive težinske sume (kombinacije) n prethodnih uzoraka izlaza i s prethodnih uzoraka ulaza te trenutne vrijednosti ulaza u[k] što možemo predstaviti i slijedećom slikom:

Ovakve SISO sustave do sada smo analizirali i riješavali uz pomoć prijenosnih funkcija u z domeni. Iako je takav način rješavanja jednostavan i učinkovit on ima i nekoliko velikih nedostataka:

• prikaz sustava samo uz pomoć odnosa ulaza i izlaza u nekim slučajevima (npr. kad sustav nije upravljiv ili osmotriv kao u primjeru P6) ne daje nam pravu sliku sustava i njegovog unutarnjeg ponašanja

• nije primjenjiv za sustave s više ulaza i izlaza (MIMO – engl. multiple-input multiple-output) • nije primjenjiv za sustave s nelinearnim parametrima • zbog premalog broja podesivih parametara teško upravljanje sa svim polovima zatvorene petlje • upravljanje se vrši kompenzacijom što povećava red sustava • nije prikladan za jednostavnu primjenu u računalima

Svi navedeni nedostatci skoro u potpunosti se rješavaju opisivanjem sustava varijablama stanja. Tako opisani sustavi sadrže dodatne podesive parametre te su razvijene tehnike za pronalaženje vrijednosti tih parametara kojima upravljamo položajima svih polova zatvorenog sustava.

Također potrebno je naglasiti postojanje široke računalne podrške za linearnu algebru koja je potrebna u primjeni tehnika analize, projektiranja i upravljanja sustava opisanih varijablama stanja odnosno kako to još možemo reći: sustava u prostoru stanja.

Nastavimo s analizom jednadžbe (2.1) te, za početak, podsjetimo se izraza kojim smo je opisivali uz pomoć prijenosne funkcije:

0

0

( )( )

( )

sj

j

j

ni

i

i

q zY z

G zU z

p z

=

=

= =∑

∑. (2.2)

Drugi način na koji je možemo analizirati je rastav na n jednadžbi diferencija prvog reda oblika:

[ ] [ ] [ ]0 0

1n m

i i i j j

i j

x k p x k q u k= =

+ = +∑ ∑ (2.3)

gdje je n broj stanja sustava, a to je isti onaj n iz jednadžbe (2.1) dok je m broj ulaza u sustav. Ovih n jednadžbi diferencija možemo zapisati i u matričnom obliku koji nazivamo jednadžba stanja:

[ ] [ ] [ ]1k k k+x = Px +Qu (2.4)

Da bi u potpunosti definirali sustav odn. njegov izlaz y potrebna nam je još jedna matrična jednadžba:

[ ] [ ] [ ]k k ky = Cx +Du (2.5)

koju nazivamo jednadžba izlaza.

Page 43: ggfrtdds

41

Sustav opisan na ovaj način možemo pregledno prikazati slično kao i kontinuirani sustav u prostoru stanja s tim da je integrator zamjenjen sklopom za kašnjenje:

Kako smo već napomenuli ovakvim modelom sustava možemo prikazati sustave sa više ulaza i izlaza (MIMO). S obzirom na broj ulaza m, broj izlaza r i broj stanja n, dimenzije matrica poprimaju različite vrijednosti koje radi preglednosti i lakšeg pamćenja prikazujemo slijedećom slikom sa 2 primjera: za SISO i MIMO sustav:

Rješenje jednadžbi stanja

Kako bi dobili odziv sustava na poznatu pobudu u[k] i uz poznata početna stanja x[0] moramo riješiti sustav odn. jednadžbe stanja. Iterativnim postupkom počevši od k=0 možemo pisati jednadžbe stanja redom:

[ ] [ ] [ ][ ] [ ] [ ] [ ] [ ]{ } [ ]

[ ] [ ] [ ]

1 0 0

2 1 1 0 0 1

0 0 12

x = Px +Qu

x = Px +Qu = P Px +Qu +Qu

= P x +PQu +Qu

(2.6)

iz čega slijedi opća formula za vektor stanja x[k]:

[ ] [ ] [ ] [ ] [ ] [ ]-1

-1 -1-

0

0 0 -1 0k

k k k k i

i

k k i=∑x = P x + P Qu + +Qu = P x + P Qu⋯ (2.7)

Sada uz pomoć izlazne jednadžbe možemo izravno napisati rješenje odn. izlazni vektor y[k]:

[ ] [ ] [ ] [ ]-1

-1-

0

0k

k k i

i

k i k=∑y = CP x + CP Qu +Du

��������������������������������slobodni odziv

prisilni odziv

(2.8)

Matricu Pk nazivamo temeljna matrica sustava i označavamo sa:

[ ] kkΦ = P (2.9)

Njene elemente možemo računati na više načina od kojih su neki opisani u primjeru P1.

Page 44: ggfrtdds

42

Diskretna matrica prijenosa otvorenog i zatvorenog sustava opisanog jednadžbama stanja

Sukladno definiciji prijenosne funkcije definiramo i matricu prijenosa u z domeni za sustave opisane varijablama stanja:

( )

( )( )

zz

z=o

YG

U (2.10)

Iz z transformacije jednadžbi stanja (opisanih na predavanjima) i uz uvjet da su početna stanja jednaka nuli odn. X(0)=0 slijedi:

[ ] 1

( )

( ) ( )

( ) ( ) ( )

z z

z z z

z z z

−= ⋅ − ⋅ ⋅

= ⋅ + ⋅Φ

X I P Q U

Y C X D U

����������� (2.11)

Uz pomoć navedenih izraza možemo matricu prijenosa otvorenog sustava izraziti kao:

[ ] 1( )z z

−= ⋅ − +

oG C I P Q D (2.12)

a zatvorenog kao:

[ ] 1( ) ( ) ( )z z z z

−= + ⋅

o oG I G G (2.13)

Ovaj zatvoreni sustav sa jediničnom povratnom vezom po izlazu ne smije se miješati sa zatvorenim sustavom koji kasnije opisujemo kada projektiramo povratnu vezu po varijablama stanja.

Diskretizacija kontinuiranih sustava

Ono što smo napomenuli kod opisa diskretnih sustava uz pomoć prijenosne funkcije ponavljamo i u ovom slučaju: veliki broj diskretnih sustava nastaje diskretizacijom kontinuiranih sustava (u seriji s ekstrapolatorom nultog reda). Diskretizaciju u prostoru stanja vršimo preko temeljne matrice sustava.

Ako su poznate matrice A i B kontinuiranog sustava u prostoru stanja tada matrice diskretnog sustava P i Q možemo izračunati preko slijedećih izraza:

[ ]

0 0

( ) 1

( )

T

T T

t

e T

e dt t dt

= = =

= ⋅ = ⋅∫ ∫

A

A

P Φ Φ

Q B Φ B (2.14)

Kao što vidimo osnovni zadatak je izračunati temeljnu matricu kontinuiranog sustava za koju postoje slične metode kao i za temeljnu matricu diskretnog sustava, a neke od njih opisane su u primjeru P3. Matrice C i D ostaju iste u diskretnom sustavu.

Page 45: ggfrtdds

43

>> Primjeri

P1 Odredi temeljnu matricu i odziv varijabli stanja na step diskretnog sustava zadanog sa jednadžbom stanja i početnim uvjetima:

[ ] [ ] [ ] [ ]1 6 1 9 0 1

1 , 01 2 2 3 1 3

k k k

+ = + = − x x u x

Prvi zadatak je pronalazak temeljne matrice ΦΦΦΦ[k] odnosno prema jednadžbi (2.9) Pk. Za izračun Pk kako smo napomenuli postoji više metoda od kojih ćemo upoznati nekoliko: a) Primjenom Cayley-Hamiltonovog teorema

Ako je matrica P reda n i ima n različitih svojstvenih vrijednosti 1, , nλ λ… dobivenih kao rješenja

karakteristične jednadžbe odn. polinoma n-tog reda 1

1 1 0 0n n

nc c cλ λ λ λ−−− = + + + + =I P ⋯ tada se

temeljna matrica može odrediti slijedećom metodom.

Po Cayley-Hamiltonovom teoremu matrica P zadovoljava svoju karakterističnu jednadžbu, odnosno vrijedi:

1

1 1 0 0n n

nc c c−−+ + + + =P P P I⋯ (2.15)

iz čega slijedi:

1

1 1 0

n n

nc c c−−= − − − − ⋅P P P I P⋯ (2.16)

množenjem sa P i zamjenom člana Pn u dobivenom izrazu izrazom u (2.16) dobijamo:

1 1

0 1 1

n n

nb b b+ −−= + + +P I P P⋯ . (2.17)

Iterativno, daljnjim množenjem sa P do proizvoljne potencije k možemo pokazati da vrijedi:

1

0 1 1

k n

nα α α −−= + + +P I P P⋯ (2.18)

Koeficijente 0 1, , nα α −… računamo iz sustava od n nezavisnih jednadžbi, po jednu za svaku od n

svojstvenih vrijednosti 1, , nλ λ… jer svojstvene vrijednosti također zadovoljavaju izraz (2.18):

0 1 1 1,2, ,k

i i n i i nλ α α λ α λ−= + + + =⋯ … (2.19)

Najprije računamo svojstvene vrijednosti matrice P:

12

2

1 31 6 1 9 5 10

1 21 2 2 3 6 6

λλλ λ λ

λλ

=− −− = = − + = ⇒

=−I P

te zatim i koeficijente 1α i 2α iz sustava jednadžbi prema jednadžbi (2.19):

( )( )

0 1

0 1

1 3 1 3

1 2 1 2

k

k

α αα α+ =+ =

slijedi:

( ) ( )( ) ( )

0

1

2 1 2 3 1 3

6 1 2 6 1 3

k k

k k

αα= − += −

Temeljnu matricu računamo prema izrazu (2.18):

[ ] ( ) ( )( ) ( ) ( )( )0 1

1 0 1 6 1 92 1 2 3 1 3 6 1 2 6 1 3

0 1 1 2 2 3

k k k kkk α α

= = + = − + + − − Φ P I P

[ ]( ) ( ) ( ) ( )( ) ( ) ( ) ( )1 2 2 1 3 2 3 1 2 2 3 1 3

3 1 2 3 1 3 2 1 2 1 3

k k k k

k k k kk

− + − = − + −

Φ

Page 46: ggfrtdds

44

b) Dijagonalizacijom matrice P

Ako se n realnih svojstvenih vrijednosti 1, , nλ λ… , izračunatih na način opisan pod a, postave na

dijagonalu dobijamo dijagonalizirani oblik matrice P:

1

2

0 0

0 0

0 0 n

λ

λ

λ

=

Λ

⋮ ⋮ ⋱ ⋮

(2.20)

čime pojednostavljujemo potenciranje, a izračun temeljne matrice svodimo na izraz:

[ ]

1

2

0 0

0 0

0 0

k

k

k

k

n

k

λλ

λ

= =

-1Φ P T T

⋮ ⋮ ⋱ ⋮

(2.21)

pri čemu je matrica T (matrica dijagonalizacije) sastavljena od svojstvenih vektora x1,…,xn:

[ ]1 2 n=T x x x⋯ (2.22)

koji su definirani slijedećim izrazom: 1,2, ,i i i i nλ= =Px x … (2.23)

iz kojega svojstvene vektore za pripadajuće svojstvene vrijednosti iλ možemo izračunati preko

jednadžbe:

( )i iλ − =I P x 0 (2.24)

Svojstvene vrijednosti smo našli pod a) pa možemo odmah prijeći na izračunavanje pripadajućih svojstvenih vektora preko izraza (2.24), prvo za 1 1 3λ = :

1 1 1

1 3 1 6 1 9 1 6 1 9 2 3

1 2 1 3 2 3 1 2 1 3 1

− − − = = ⇒ = − −

x x 0 x

zatim za 2 1 2λ = :

2 2 2

1 2 1 6 1 9 1 3 1 9 1 3

1 2 1 2 2 3 1 2 1 6 1

− − − = = ⇒ = − −

x x 0 x .

Slijedi da je matrica dijagonalizacije jednaka:

2 3 1 3

1 1

=

T

te možemo izračunati i njezin inverz:

11 1 3 3 11 1

adj1 2 3 3 2det 1 3

− − − = = = − −

T TT

Sada imamo sve potrebno za izračun temeljne matrice prema jednadžbi (2.21):

[ ]( )

( )

( ) ( )( ) ( )

( ) ( ) ( ) ( )( ) ( ) ( ) ( )

1 3 02 3 1 3 3 1

1 1 3 20 1 2

2 3 1 3 1 3 1 2 3 1

3 21 3 1 2

1 2 2 1 3 2 3 1 2 2 3 1 3

3 1 2 3 1 3 2 1 2 1 3

k

k

k k

k k

k k k k

k k k k

k − = −

− = −

− + − = − + −

Φ

što odgovara prethodno dobivenom rješenju.

Page 47: ggfrtdds

45

c) Spektralnom dekompozicijom P

Već smo u prve dvije metode primjetili da se rješenje sastoji od kombinacije k-tih potencija svojstvenih vrijednosti. Ova metoda iskorištava tu činjenicu, a temelji se na spektralnoj dekompoziciji matrice P, drugim riječima kada su sve svojstvene vrijednosti matrice različite tada matricu možemo izraziti preko slijedeće sume:

1

n

i i

i

λ=

=∑P E (2.25)

pri čemu se matrice iE (engl. constituent matrices) računaju preko slijedeće formule:

( )

( )

1

1

n

m

mm i

i n

i m

mm i

λ

λ λ

=≠

=≠

=−

P I

E (2.26)

Tada se temeljna matrica računa u obliku s izlučenim potencijama svojstvenih vrijednosti:

[ ]1

nk k

i i

i

k λ=

= =∑Φ P E (2.27)

Kako već poznajemo svojstvene vrijednosti preko (2.26) izravno računamo:

1

1 6 1 2 1 9

2 2 31 2 2 3 1 2

3 11 3 1 2E

− −− − = = −−

2

1 6 1 3 1 9

1 2 31 2 2 3 1 3

3 21 2 1 3E

− −− − = = −−

te već sad možemo napisati rješenje u obliku:

[ ] ( ) ( )2 2 3 1 2 3

1 3 1 23 1 3 2

k kkk− −

= = + − − Φ P

što kad do kraja izmnožimo i zbrojimo odgovara prethodno dobivenim rješenjima. d) Z transformacijom

Slijedeća metoda temelji se na pronalaženju rješenja jednadžbi stanja njihovom transformacijom u z domenu. Z transformacijom jednadžbi stanja dobijamo:

[ ]( ) 0 ( ) ( )

( ) ( ) ( )

z z z z U z

Y z z U z

− = +

= +

X x PX Q

CX D. (2.28)

Ako iz prve jednadžbe izrazimo z transformaciju vektora stanja dobijamo:

( ) [ ] ( )1 1( ) 0 ( )z z z z U z

− −= − + −X I P x I P Q (2.29)

te sada inverznom z transformacijom možemo izračunati vektor stanja:

[ ] ( ){ } [ ] ( ){ }1 11 10 ( )k z z z U z− −− −= − + −x I P x I P QZ Z . (2.30)

Rješenje sustava dobijamo uvrštanjem (2.30) u jednadžbu izlaza:

[ ] ( ){ } [ ] ( ){ } [ ]1 11 10 ( )y k z z z U z U k− −− −= − + − +C I P x C I P Q DZ Z . (2.31)

Ovako dobiveno rješenje možemo usporediti s rješenjem dobivenim iterativnim postupkom u jednadžbi (2.8) i zaključiti da je temeljna matrica jednaka:

[ ] ( ){ }11kk z z−−= = −Φ P I PZ (2.32)

Najprije računamo inverz matrice ( )z −I P :

Page 48: ggfrtdds

46

( )1 2 2

1

2

2 2

2 3 1 9 2 3 1 9

1 6 1 9 5 6 1 6 5 6 1 61 2 1 6

1 2 2 3 1 2 1 65 6 1 6

5 6 1 6 5 6 1 6

z z

z z z z zzz

z zz z

z z z z

−−

− − − − − + − +− − − = = = − − −− +

− + − +

I P .

Zatim nakon što je pomnožimo sa z i rastavimo na parcijalne razlomke:

( )( ) ( )( )

( )( ) ( )( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

2

2

2 3 1 9 2 22

1 3 1 2 1 3 1 2 1 3 1 2 3 1 3 3 1 2( )

1 2 1 63 3 2

1 3 1 2 1 3 1 21 3 1 2 1 3 1 2

z z z z z z z

z z z z z z z zz

z z z zz z z

z z z zz z z z

− − − + − − − − − − − − = = − − − − + − − − −− − − −

Φ

nad svakim elementom vršimo inverznu z transformaciju i dobijamo konačno rješenje:

[ ]( ) ( ) ( ) ( )( ) ( ) ( ) ( )

2 1 3 1 2 2 3 1 3 2 3 1 2

3 1 3 3 1 2 1 3 2 1 2

k k k k

k k k kk

− − + = − − +

Φ

koje odgovara prethodno dobivenim rješenjima. Slijedeći zadatak je izračunati odziv varijabli stanja na step pobudu. To postižemo uvrštenjem zadanih matrica i dobivene temeljne matrice u jednadžbu rješenja za varijable stanja dobivenu preko z transformacije (2.29):

1 0( )( ) ( )

3 1 1

4 11

1 2 1 3 3 1 2 3 1

3 53 4

1 2 2 1 3 1 2 2 1

1 11

1 3 3 1 2 3 1

3 5

2 1 3 1 2 2 1

z zz z

z z

z z z z

z z z z

z z z z

z z z z

z z z

z z z

z z z

z z z

= + −

− + − − − − = +

− + − − − −

− + − − − =

− + − − −

ΦX Φ

Inverznom z transformacijom slijedi:

[ ]( ) ( )( ) ( )

1 3 1 3 1 2 1 3

3 2 1 3 1 2 5 2

k k

k kk

− + = − +

x

Dobili smo odziv varijabli stanja, a ako uzmemo tipičan slučaj da je ulazno-izlazna matrica D=0, a izlazna matrica C takva da na izlazu dobijamo jedno od stanja sustava npr. C=[1 0] za x1 na izlazu ili C=[0 1] za x2 na izlazu, tada smo izračunali i sam izlaz sustava y[k].

Iako se u MATLABu može izračunati temeljna matrica koristeći sve navedene tehnike za primjer koristiti ćemo metodu preko dijagonalizacije: >> syms k; >> P=[1/6 1/9;-1/2 2/3]; >> Q=[0;1]; >> [T,L]=eig(P) T = -0.5547 -0.3162 -0.8321 -0.9487 L = 0.3333 0 0 0.5000 >> Fi=T*L.^k*T^-1

Page 49: ggfrtdds

47

Fi = [ 2*(1/3)^k-(1/2)^k, -2/3*(1/3)^k+2/3*(1/2)^k] [ 3*(1/3)^k-3*(1/2)^k, -(1/3)^k+2*(1/2)^k]

Za vježbu probajte naći temeljnu matricu koristeći se metodom preko z transformacije.

Page 50: ggfrtdds

48

Za odziv varijabli stanja na step pobudu koristimo slijedeću naredbu: [Y,T,X]=LSIM(SYS,U,T,X0) gdje je T vektor diskretnih koraka, U funkcija pobude (npr. step), X0 vektor početnih stanja, Y vektor izlazne veličine, a X matrica koja u stupcima sadrži odziv varijabli stanja na step pobudu. >> C=[0 1]; % nije zadana pa je proizvoljno odabrana >> D=[0]; % tipična vrijednost >> sys=ss(P,Q,C,D,-1); % kreiramo diskretni sustav u prostoru stanja >> T=0:16; % vektor diskretnih koraka >> U=ones(1,17); % vektor pobude (step) >> [Y,T,X]=lsim(sys,U,T,[1;3]); >> plot(T,X(:,1),'b.-',T,X(:,2),'g.-'); >> legend('x1[k]','x2[k]'); >> title('Odziv stanja x1 i x2 na step pobudu uz pocetno stanje x0=[1;3]') >> xlabel('T'); >> grid;

0 2 4 6 8 10 12 14 160

0.5

1

1.5

2

2.5

3Odziv stanja x1 i x2 na step pobudu uz pocetno stanje x0=[1;3]

T

x1[k]

x2[k]

Ovakav tip odziva se mogao pretpostaviti iz izračunate matrice x[k] čiji članovi teže u 0 potenciranjem svojstvenih vrijednosti koje su manje od 1 (stabilnost), jedino ostaju konstante 1/3 i 5/2 kao konačne vrijednosti varijabli stanja. Zbog odabranog oblika matrice C varijabla izlaza y[k] je jednaka varijabli stanja x2[k].

Tipičan prikaz odziva varijabli stanja (za n=2) je u ravnini čije koordinate su varijable stanja x1 i x2, a naziva se fazna ravnina. Odziv je tada trajektorija koja za stabilne sustave teži prema ravnotežnoj točki sustava (1/3,5/2). >> plot(X(:,1),X(:,2),'b.-'); >> set(gca,'xlim',[0.2 1.2],'ylim',[2.2 3.2]); >> xlabel('x1'); >> ylabel('x2'); >> grid;

Page 51: ggfrtdds

49

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.22.2

2.3

2.4

2.5

2.6

2.7

2.8

2.9

3

3.1

3.2

x1

x2

Page 52: ggfrtdds

50

P2 Odredi matricu prijenosa otvorenog diskretnog sustava iz prethodnog primjera za C=[3 -2] i D=0.

Matricu prijenosa računamo preko izraza (2.12) za koji nam je potrebno znati matrice sustava i temeljnu matricu u z domeni. Temeljnu matricu smo izračunali u prethodnom zadatku, pa možemo odmah prijeći na računanje:

[ ]( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

[ ]

1 1 2 1 2 12

1 3 1 2 3 1 3 3 1 2 0( )( ) 3 2 0

1 1 1 1 13 3 2

1 3 1 2 1 3 1 2

z z z zzz

z

z z z z

− − + − − − − = + = − + − − + − − − −

o

ΦG C Q D

0

1( ) 2

1 2G z

z

= − −

Primjećujemo da matrica prijenosa ima 1 redak i 1 stupac. To je zato jer je sustav SISO, pa se može opisati s jednom prijenosnom funkcijom. U općem slučaju matrica prijenosa je istih dimenzija kao ulazno-izlazna matrica D odnosno sastoji se od r m× prijenosnih funkcija kojima je opisan odnos između ulaza i izlaza.

Također možemo primjetiti da smo u prijenosnoj funkciji izgubili jednu svojstvenu vrijednost, odn. 1 pol (1/3) koji je u ovom slučaju stabilan, ali mogao je biti i nestabilan. O tom problemu više kada budemo govorili o kriterijima i vrstama stabilnosti.

U MATLABu sustav u prostoru stanja možemo prikazati pomoću prijenosne funkcije naredbom [num,den]=ss2tf(P,Q,C,D,iu) pri čemu je iu redni broj ulaza za koji računamo prijenosnu funkciju, a matrica num ima onoliko redaka koliko sustav ima izlaza.

>> [num,den]=ss2tf(sys.a,sys.b,sys.c,sys.d); >> Gz=tf(num,den,-1); >> minreal(zpk(Gz)) Zero/pole/gain: -2 ------- (z-0.5) Sampling time: unspecified

P3 Diskretiziraj kontinuirani sustav prikazan jednadžbom stanja:

( ) ( ) ( )2 1 6 0

3 1 2 1t t u t

− = + − −

x xɺ

uz vrijeme diskretizacije T=3s.

Promotrimo jednadžbe (2.14) po kojima diskretiziramo matricu stanja sustava i ulaznu matricu. Jasno je da je veći dio zadatka računanje temeljne matrice kontinuiranog sustava ΦΦΦΦ(t).

Kao i za temeljnu matricu diskretnog sustava, za računanje temeljne matrice kontinuiranog sustava postoji više metoda od kojih ćemo računski obraditi onu koja koristi Cayley-Hamiltonov teorem, dok se u MATLABu koristimo metodom preko Laplaceove transformacije.

Temeljna matrica kontinuiranog sustava može se izraziti kao slijedeća suma:

1

0 1 1( ) t n

nt e α α α −−= = + + +A

Φ I A A⋯ (2.33)

s time da prema Cayley-Hamiltonovom teoremu n koeficijenata 0 1, , nα α −… računamo iz sustava n

nezavisnih jednadžbi, po jedna za svaku svojstvenu vrijednost:

1

0 1 1 1,2, ,itn

i n i e i nλα α λ α λ −

−+ + + = =⋯ … (2.34)

Page 53: ggfrtdds

51

Slično kao i za diskretne sustave prvo računamo svojstvene vrijednosti matrice A:

12

2

3 22 1 6 5 30

13 1 2 2 2

λλλ λ λ

λλ

= −+ −− = = + + = ⇒

= −+I A

zatim pišemo sustav jednadžbi čija rješenja su koeficijenti 0α i 1α :

3 2

0 1

0 1

3 2 t

t

e

e

α αα α

−− =− =

⇒ 3 2

03 2

1

3 2

2 2

t t

t t

e e

e e

αα

− −

− −= −= −

Sada možemo izračunati temeljnu matricu kontinuiranog sustava: 3 2 3 2

0 1 3 2 3 2

2 1 3 1 3( )

6 6 2

t t t t

t t t t

e e e et

e e e eα α

− − − −

− − − −

− + −= + =

− + − Φ I A

iz koje uvrštavanjem vremena diskretizacije t=T=3s dobijamo matricu stanja diskretnog sustava:

0.027 0.0128(3)

0.232 0.088

− = = −

P Φ

Matricu ulaza diskretnog sustava dobijamo integriranjem: 3 2 3 2 3 2

3 2 3 2 3 2

0

02 1 3 1 3 1 9 1 3 2 9( )

16 6 2 4 3 2 2 3

T t t t t T T

t t t t T T

e e e e e eT dt

e e e e e e

− − − − − −

− − − − − −

− + − − + = = − + − − + ∫Q

0.097

1.241

=

Q

Rješenje u MATLABu preko Laplaceove transformacije: >> A=[-2 1/6;-3 -1/2]; >> B=[0;1]; >> Gss=ss(A,B,[0 1],0); >> syms s t; >> I=eye(2); >> Fis=((s*I-A)^-1); >> Fi=[ilaplace(Fis(1,1)) ilaplace(Fis(1,2));

ilaplace(Fis(2,1)) ilaplace(Fis(2,2))]; >> P=subs(Fi,t,3) P = -0.0276 0.0129 -0.2321 0.0885 >> Q=subs(int(Fi,t,0,3)*B) Q = 0.0970 1.2412

Rješenje u MATLABu preko naredbe c2d: >> Gsz=c2d(Gss,3) a = x1 x2 x1 -0.02757 0.01289 x2 -0.2321 0.08847 b = u1 x1 0.09698 x2 1.241 c = x1 x2 y1 0 1 d = u1 y1 0 Sampling time: 3 Discrete-time model.

Page 54: ggfrtdds

52

>> Zadaci za vježbu

Z1 Odredi temeljnu matricu i odziv varijabli stanja na step diskretnog sustava zadanog sa jednadžbom stanja i početnim uvjetima:

a) [ ] [ ] [ ] [ ]0 1 1 1

1 , 00.16 1 1 1

k k u k

+ = + = − − x x x

(Skripta: primjer 10.2)

Rješenje: [ ]( ) ( ) ( ) ( )( ) ( ) ( ) ( )

4 3 1 5 1 3 4 5 5 3 1 5 5 3 4 5

4 15 1 5 4 15 4 5 1 3 1 5 4 3 4 5

k k k k

k k k kk

− − − − − − = − − + − − − + −

Φ [ ]

( ) ( )( ) ( )

1 2 1 5 8 9 4 5 25 18

1 10 1 5 32 45 4 5 7 18

k k

k kk

− − − + = − − + − +

x

b) [ ] [ ] [ ] [ ]0.1 0.8 1.5 1

1 , 00 0.9 0 0.5

k k u k

+ = + = − x x x

Rješenje: [ ]( ) ( ) ( )

( )0.1 0.1 0.9

0 0.9

k k k

kk

− + =

Φ [ ]

( ) ( )( )

1 6 0.1 1 2 0.9 5 3

1 2 0.9

k k

kk

− − + = −

x

c) [ ] [ ] [ ] [ ]1 0.4 0 1.5

1 , 00.4 0 2 0.5

k k u k−

+ = + =

x x x

Rješenje: [ ]( ) ( ) ( ) ( )( ) ( ) ( ) ( )

4 3 0.8 1 3 0.2 2 3 0.8 2 3 0.2

2 3 0.8 2 3 0.2 1 3 0.8 4 3 0.2

k k k k

k k k kk

− − + = − − +

Φ [ ]

( ) ( )( ) ( )

25 3 0.8 11 6 0.2 5

25 6 0.8 11 3 0.2

k k

k kk

− − = −

x

d) [ ] [ ] [ ] [ ]0.2 0.8 1 1

1 , 00.4 1 0 1

k k u k− −

+ = + = − − x x x

Rješenje: [ ]( ) ( ) ( ) ( )( ) ( ) ( ) ( )0.6 2 0.2 2 0.6 2 0.2

0.6 0.2 2 0.6 0.2

k k k k

k k k kk

− + − = − + −

Φ [ ]

( ) ( )( ) ( )

11 2 0.6 13 2 0.2

11 2 0.6 13 4 0.2 5 4

k k

k kk

− + = − + +

x

Z2 Odredi matrice prijenosa otvorenog diskretnog sustava ako su zadane matrice sustava:

a) 0.6 0.232 0.832 0.432 0 2 0 0

, , ,0.465 0.097 0.4 0.864 1 0 0 0

− = = = = − − − −

P Q C D

(Skripta: primjer 2.13 – drugi dio)

Rješenje: ( )

( ) ( ) ( )

( ) ( ) ( )

0.367 10.8 1.728

0.368 0.135 0.135

0.0145 10.832 0.432

0.368 0.135 0.135

o

z

z z zz

z

z z z

+ − − − = − − − −

G

b) [ ] [ ]1.166 0.53 1 1

, , 1 0.5 , 1 00.53 0.166 1 0.5

− − − = = = = −

P Q C D

Rješenje: ( ) ( ) ( )( ) ( ) ( ) ( )

2.172 0.672 1.3220.75

0.9 0.1 0.9 0.1o

z z zz

z z z z

− + += −

− − − − G

c) 0.8 0.6 0.5 1.5 0 0

, , ,0 0.2 0.5 0 0.5 0

− − − = = = =

P Q C D

Rješenje: ( ) ( )( )

0.40.75

0.8 0.2

10.25

0.2

o

z

z zz

z

+ − − = −

G

Page 55: ggfrtdds

53

d) 1.1 0.4 0.5 0 1.5 1 0 1

, , ,0.8 0.1 1 1.5 0.5 1 0 0

− − = = = = − −

P Q C D

Rješenje: ( )

( ) ( )( ) ( )( )( )

( ) ( ) ( )( )

2.03 0.470.471.75

0.7 0.3 0.7 0.3

2.3 1.30.75 1.5

0.7 0.3 0.7 0.3

o

z zz

z z z zz

z z

z z z z

− −− − − − − = − −−

− − − −

G

Z3 Diskretiziraj kontinuirani sustav prikazan jednadžbom stanja uz zadano vrijeme diskretizacije:

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

2 3 0 2t t t

= + − − −

x x uɺ 1T s=

(Skripta: primjer 10.3 – prvi dio) Rješenje: 0.6 0.232 0.832 0.432

,0.465 0.097 0.4 0.864

= = − − − −

P Q

b) ( ) ( ) ( )0.7 0.8 1

1.6 1.7 1.5t t u t

− = + −

x xɺ 0.1T s=

Rješenje: 0.926 0.084 0.102,

0.168 1.178 0.155

= = −

P Q

c) ( ) ( ) ( )2.6 1.2 1.5 0

3.6 1.6 1.5 1.5t t t

− = + −

x x uɺ 0.7T s=

Rješenje: 3.55 1.2 1.69 0.56,

3.6 0.65 1.97 0.29

− − = = −

P Q

d) ( ) ( ) ( )0.1 0.27 1 1

1.2 1.1 0.5 0t t t

− = + −

x x uɺ 2T s=

Rješenje: 0.41 1.49 1.66 1.12,

6.7 6.29 1.88 4.87

− = = − − −

P Q

*sve zadatke dodatno rješiti i uz pomoć MATLABa

Page 56: ggfrtdds

54

Sustavi digitalnog upravljanja

44.. AAuuddiittoorrnnee vvjjeežžbbee

~ DISKRETNI SUSTAVI U PROSTORU STANJA ~

Analiza diskretnih sustava u prostoru stanja

Analiza sustava u prostoru stanja svodi se na postavljanje pitanja koja nas zanimaju o sustavu i odgovaranju na njih, a najpreciznije odgovore nam, kao i uvijek, daje matematika.

Upravljivost Pitanje: možemo li sustav u konačnom broju koraka dovesti u bilo koje stanje odn. bilo koju točku u faznom prostoru samo uz pomoć definiranja ulaznog niza u[k]?

Da bi odgovorili na ovo pitanje polazimo od jednadžbe (2.7) odn. rješenja jednadžbe stanja:

[ ] [ ] [ ]-1

-1-

0

0k

k k i

i

k u i=∑x = P x + P Q . (2.35)

Naša želja je utvrditi možemo li naći konačan niz vrijednosti ulaza u[k] kojima postižemo neko proizvoljno zadano stanje odnosno n-dimenzionalni vektor x[k]. Ako jednadžbu (2.35) napišemo tako da izrazimo stanje sustava upravo u n-tom koraku onda i sumu iz te jednadžbe možemo izraziti u matričnom obliku:

[ ] [ ]

[ ][ ]

[ ]

-1

1

20

0

n n

u

u n

u nn

u

− − = +

x P x Q PQ P Q

Q

U

⋯���������� ⋮

����

(2.36)

Analizirajući gornju jednadžbu možemo odmah zaključiti da zadani zadatak ne ovisi o slobodnom odzivu odn. o početnom stanju i o temeljnoj matrici Pn jer trajektorija slobodnog odziva za stabilan sustav naposlijetku završava u točki ravnoteže i ostaje u njoj, pa taj dio jednadžbe možemo zanemariti uzimanjem da je x[0]=0.

[ ] un =x Q U (2.37)

Jednadžbom (2.37) definirano je n nezavisnih jednadžbi čijim rješavanjem možemo doći do vektora U odn. niza vrijednosti na ulazu kojima sustav dovodimo u željeno stanje x[n]. Ključ leži u riječi "nezavisnih" jer ako matrica upravljivosti Qu nema rang upravo n tada jednadžbe nisu nezavisne i ne možemo doći do rješenja.

Dodatna analiza: ako matricu upravljivosti prema jednadžbi (2.37) zamislimo kao linearni operator koji preslikava n-dimenzionalni vektor ulaza U u vektor x[n] tada njeni linearno nezavisni vektor-stupci određuju bazu potprostora odn. dio prostora u kojem se može nalaziti x[n]. Zaključak je isti: ako matrica upravljivosti ima n nezavisnih vektor stupaca (rang n) tada je taj potprostor n-dimenzionalan, pa možemo izborom ulaznog vektora U sustav dovesti u bilo koje stanje. Ovakvim razmatranjem možemo si lakše predočiti (pot)prostor unutar kojega možemo upravljati stanjem sustava kada on nije u potpunosti upravljiv.

Osmotrivost Pitanje: možemo li odrediti u kojem je stanju sustav samo promatranjem izlaza?

Na ovo pitanje odgovaramo uz pomoć jednadžbe (2.8) koja nam daje rješenje za izlaz sustava:

[ ] [ ] [ ] [ ]-1

-1-

0

0k

k k i

i

y k u i u k=

= +∑CP x CP Q +D (2.38)

Page 57: ggfrtdds

55

Pretpostavimo da nam je ulaz u[k] poznat. Tada možemo zanemariti njegov utjecaj na osmatranje stanja uzevši da je u[k]=0. Pišemo jednadžbu (2.38) za n-ti korak:

[ ] [ ]0ny n =CP x (2.39)

Minimalni broj koraka koji moramo pratiti izlaz da bi odredili stanje sustava (u određenom koraku – npr. radi jednostavnosti, u koraku 0) je n, pa možemo iterativno napisati kako se prema jednadžbi (2.39) mijenja izlaz u ovisnosti o "osmatranom" stanju x[0].

[ ] [ ][ ] [ ]

[ ] [ ]1

0 0

1 0

1 0n

y

y

y n −

=

=

− =

Cx

CPx

CP x

⋮ (2.40)

Page 58: ggfrtdds

56

Ako ovaj niz jednadžbi napišemo u matričnom obliku dobijamo:

[ ][ ]

[ ]

[ ]1

0

10

1 n

M

y

y

y n −

= −

C

CPx

CP

CY

⋮ ⋮

��������

(2.41)

Matricu CM nazivamo matrica osmotrivosti, a analizirajući jednadžbu (2.41) slično kao i za upravljivost dolazimo do identičnog zaključka: sustav je osmotriv onda i samo onda ako matrica osmotrivosti ima rang n.

Stabilnost Pitanja: dali je sustav stabilan? Dali je BIBO stabilan? Dali je asimptotski stabilan?

Ponovimo ono što znamo o stabilnosti diskretnih sustava: diskretni sustavi (opisani prijenosnom funkcijom) su stabilni ukoliko njihovi polovi leže unutar jedinične kružnice.

BIBO, vanjska stabilnost

Do sada smo o stabilnosti diskretnih sustava zaključivali isključivo uz pomoć njihovih prijenosnih funkcija odnosno promatrajući vezu između ulaza i izlaza sustava, ali nismo imali uvid u ono što se događa u samom sustavu. Drugim riječima ispitivali smo vanjsku ili BIBO (engl. bounded input, bounded output) stabilnost.

Ako sada ta saznanja prenesemo na sustav opisan varijablama stanja onda u tom slučaju promatramo matricu prijenosa otvorenog sustava:

[ ] 1 adj( ) det( )( )

det( )

z zz z

z

− − + −= ⋅ − + =

−o

C I P Q D I PG C I P Q D

I P

U nazivniku stoji det(zI-P) što ako izjednačimo sa nulom je karakteristična jednadžba matrice stanja P, pa možemo zaključiti da su polovi matrice prijenosa u biti svojstvene vrijednosti matrice stanja. Slijedi zaključak: ako su sve svojstvene vrijednosti matrice stanja P apsolutno manje od 1 (|λi|<1) tada je sustav (BIBO) stabilan.

Asimptotska, unuturnja stabilnost

Preko prijenosne funkcije smo osigurali provjeru stabilnosti izlaza y[k] u odnosu na ulaz u[k], ali još uvijek ne znamo kako se ponaša sam sustav odn. dali su stabilne njegove varijable stanja x[k]. Odgovor na to daje nam provjera unutarnje (asimptotske) stabilnosti ili stabilnosti u smislu Ljapunova.

Sustav je asimptotski stabilan ako je stabilan njegov slobodni odziv (2.8), odn. promatramo stabilnost varijabli stanja za nepobuđeni sustav - na ulazu je u[k]=0. Iz jednadžbe (2.7) se vidi da je taj uvjet ekvivalentan računanju stabilnosti Pk. Prisjetimo se računanja Pk uz pomoć dijagonalizacije (2.21):

1

2

0 0

0 0

0 0

k

k

k

k

n

λλ

λ

=

-1P T T

⋮ ⋮ ⋱ ⋮

.

Članovi matrice T su konstantni odn. ne ovise o diskretnom vremenu k, pa stabilnost člana Pk ovisi isključivo o svojstvenim vrijednostima 1, , nλ λ… . Jasno je da ako je jedna ili više svojstvenih vrijednosti

apsolutno veća od 1 sustav je unutarnje (asimptotski) nestabilan, a to izravno znači i BIBO nestabilan.

Ako postoje svojstvene vrijednosti koje su na jediničnoj kružnici ali nisu višestruke sustav je marginalno stabilan, ali ako postoji barem jedna višestruka svojstvena vrijednost na jediničnoj kružnici sustav je nestabilan.

Page 59: ggfrtdds

57

Iako se definicije ove dvije stabilnosti čine ekvivalentne, kod provjere BIBO stabilnosti postoji mogućnost da se unutar sustava (matrici prijenosa) pojave nule koje bi poništile polove (svojstvene vrijednosti) koji se nalaze izvan jedinične kružnice. U tom slučaju sustav je BIBO stabilan, ali nije i asimptotski stabilan kao što je pokazano u primjeru P6. Ovakvo neslaganje unutarnje i vanjske stabilnosti pojavljuje se u sustavima koji nisu upravljivi i/ili nisu osmotrivi. Ako je sustav i upravljiv i osmotriv onda BIBO stabilan sustav je ujedno i asimptotski stabilan i obrnuto, drugim riječima tada ne dolazi do kraćenja polova i nula u matrici prijenosa.

Page 60: ggfrtdds

58

>> Primjeri

P4 Odredi dali je sustav opisan jednadžbom stanja upravljiv. Ako jest, izračunajte ulazni vektor (sekvencu) [u[n-1]...u[0]]T kojim ga vodimo od stanja xo u stanje x1.

a)

[ ] [ ] [ ]0.9 0.9 0.8 0.6

1 0.6 0.8 0.1 0.4

0.5 0.6 0.3 0.7

k k u k

+ = +

x x , [ ]0.6

0 0.8

1

=

x , 1

0.5

0.4

0.7

=

x

Najprije provjeravamo upravljivost sustava. Matrica upravljivosti jednaka je:

2

0.6 1.46 2.59

0.4 0.75 1.55

0.7 0.75 1.4

u

= =

Q Q PQ P Q

Rang matrice možemo provjeriti računanjem determinante – ako je determinanta različita od nule onda je matrica punog ranga:

( ) ( ) ( ) ( )det 0.6 1.05 1.162 1.46 0.56 1.085 2.59 0.3 0.525 0,1164 0u = ⋅ − − ⋅ − + ⋅ − = ≠Q

te možemo zaključiti kako je rang matrice upravljivosti jednak 3, odn. sustav je upravljiv.

Sada kad to znamo možemo odrediti i ulaznu sekvencu kojom vodimo sustav iz stanja x0 u stanje x1. Ako jednadžbu (2.36) riješimo po U dobijamo slijedeći izraz:

[ ]�

[ ] ( )1 3 3

1 0

1 0

adj3 0

det

uu

u

= − = −

QU Q x P x x P x

Qx x

�������

Determinantu matrice upravljivosti smo izračunali, preostaje nam potenciranje matrice stanja P i pronalazak adjunkte matrice upravljivosti. Prisjetimo se, članovi adjunkte su definirani na slijedeći način:

11 12 1

21 22 2

1 2

adj

T

n

T n

ij

n n nn

A A A

A A AA

A A A

= =

A

⋮ ⋮ ⋱ ⋮

gdje su Aij algebarski komplementi ili kofaktori elementa aij matrice A koje računamo preko minora Mij (minore su matrice koje nastaju izbacivanjem i-tog retka i j-tog stupca polazne matrice) na slijedeći način:

( ) ( )1 deti j

ij ijA+

= − M

Dakle izračun za matricu ulaznog vektora kojim stanje sustava vodimo iz x0 u x1 je:

3

0.1095 0.5238 0.225

0.1096 0.9695 0.57210.5 0.9 0.9 0.8 0.6 1.07

0.3228 0.105 0.1340.4 0.6 0.8 0.1 0.8 0.12

0.11640.7 0.5 0.6 0.3 1 2.67

T

U

− − − −

− = − = − −

Rješenje u MATLAB-u: >> P=[0.9 0.9 0.8;0.6 0.8 0.1;0.5 0.6 0.3]; >> Q=[0.6;0.4;0.7]; >> C=[0 0 1]; % Proizvoljno odabrano, nema utjecaja na upravljivost >> D=0; >> x0=[0.6;0.8;1]; % Pocetno stanje >> x1=[0.5;0.4;0.7]; % Zeljeno stanje

Page 61: ggfrtdds

59

>> Gss=ss(P,Q,C,D,-1); % Definicija sustava >> Qu=ctrb(Gss) % Izracun matrice upravljivosti Qu = 0.6000 1.4600 2.5890 0.4000 0.7500 1.5510 0.7000 0.7500 1.4050 >> U=Qu^-1*(x1-P^3*x0) % Izracun ulazne sekvence U = 1.0753 -0.1204 -2.6726 % Simuliranje rada sustava naredbom lsim: % izracunata ulazna sekvenca U je invertirana u vremenu pa ju je potrebno % ispraviti sa flipud i dodati jos jednu 0 tako da vidimo izlaz i za x[3] >> [Y,T,X]=lsim(Gss,[flipud(U);0],0:3,x0); >> X X = 0.6000 0.8000 1.0000 0.4564 0.0310 -0.7908 -0.2663 0.1714 -0.0747 0.5000 0.4000 0.7000

Kao što vidimo stanja se kreću od početnog prema željenom što je moguće ilustrirati naredbama plot i subplot iz matrice stanja X:

0 1 2 3-1

-0.5

0

0.5

1

x1

T

0 1 2 3-1

-0.5

0

0.5

1

x2

T

Vodjenje varijabli stanja.

0 1 2 3-1

-0.5

0

0.5

1

x3

T Sustav smo u najmanjem mogućem broju koraka doveli u željeno stanje, a kako ga održati u tom stanju je posve nov problem.

b)

[ ] [ ] [ ]0.5 0.5 3.095

10.08 0.1 1.238

k k u k

+ = + − − x x , [ ]

00

0

=

x , 1

2

0.8

= −

x

Za ovaj sustav računamo kao u prethodnom primjeru pod a) matrica upravljivosti je:

( )3.095 0.928

det 01.238 0.371

u u

= ⇒ = − −

Q Q

Sustav nije upravljiv, pa bi mogli zaključiti kako ne postoji sekvenca U kojom bi ga doveli iz stanja x1 u stanje x0. Ipak ako idemo riješiti sustav dobijamo iznenađujuće rješenje. Raspišimo rješenje:

2

1 0 1u = − =Q U x P x x

u sustav od dvije jednadžbe gdje je [ ][ ]1

0

u

u

=

U dobijamo:

[ ] [ ][ ] [ ]

3.095 1 0.928 0 2

1.238 1 0.371 0 0.8

u u

u u

+ =

− − = −.

Page 62: ggfrtdds

60

Dobiveni sustav je specifičan jer ako pomnožimo donju jednadžbu s -2.5 dobijamo gornju jednadžbu. Dakle ako ulazna sekvenca zadovoljava gornju jednadžbu samim time zadovoljava i donju jednadžbu. Npr. ako uzmemo u[0]=1 slijedi u[1]=(2-0.928)/3.095=0.346.

Zaključak je da iako je sustav neupravljiv ipak se može prikladno odabranom sekvencom dovesti iz mirovanja (ishodišta) u stanje x1. To je posljedica u uvodu spomenutog svojstva: vektor stupci matrice upravljivosti su baza potprostora u kojem možemo upravljati stanjima sustava.

U ovom primjeru taj potprostor je određen vektorom u smjeru [3.095 -1.238]T (ili [0.928 -0.371]T jer oba određuju isti smjer odnosno potprostor). Točka x1 leži u tom potprostoru, pa je upravljanje iz ishodišta u to stanje, samo za takav specijalan slučaj, ipak moguće. To pokazuje slijedeća slika:

Na slici je dan primjer stanja x1' do kojeg ne možemo upravljati sustav.

U MATLABu ćemo samo provjeriti funkcijom lsim dali će se sustav stvarno pomaknuti iz ishodišta u x1 uz izračunati ulaz: >> [Y,T,X]=lsim(Gss,[1;0.34621;0],0:2,x0) >> X X = 0 0 3.0949 -1.2380 2.0000 -0.8000

P5 Odredi dali je sustav opisan slijedećim jednadžbama stanja osmotriv:

[ ] [ ] [ ]1 2 1 1 2

1 1 0 3 8 3

1 1 0 2

k k u k

− + = + − −

x x

[ ] [ ] [ ]1 2 1y k k= x

Ako jest, odredi njegovo stanje u x0=x[0] uz poznati (osmotreni) izlaz Y=[y[0]...,y[n-1]]:

[ ]5 4 2T

=Y

Računamo matricu osmotrivosti:

2

1 2 1

3 2 2 7

33 4 17 2 9 2

M

= = − − − −

C

C CP

CP

Njena deteminanta izračunata na sličan način kao u prethodnom zadatku je:

( )det 251 4 0M = − ≠C

što znači da je rang matrice osmotrivosti jednak njenoj dimenziji, pa je sustav osmotriv. Ako je na izlazu dobivena sekvenca Y možemo izračunati početno stanje x[0] na sličan način kao u primjeru P4 za osmotrivost:

[ ] [ ]10 6 4 3T

M

−= = −x C Y .

Page 63: ggfrtdds

61

Rješenje u MATLABu: >> P=[1/2 -1 1;1 0 3;-1 -1 0]; >> Q=[2;8/3;2]; >> C=[1 2 1]; >> D=0; >> Gss=ss(P,Q,C,D,-1); >> Y=[5 4 2]'; >> CM=obsv(Gss) CM = 1.0000 2.0000 1.0000 1.5000 -2.0000 7.0000 -8.2500 -8.5000 -4.5000 >> det(CM) ans = -62.7500 >> rank(CM) ans = 3 >> x0=CM^-1*Y x0 = -6.0000 4.0000 3.0000 >> [Y_simulirani,T,X]=lsim(Gss,zeros(3,1),0:2,x0); >> Y_simulirani Y_provjera = 5.0000 4.0000 2.0000

Slobodni odziv sustava kad ga simuliramo sa naredbom lsim uz izračunate početne uvjete je identičan osmotrenom što znači da je samo promatrajući izlaz moguće zaključiti o stanju sustava sa kašnjenjem koje je jednako redu sustava n.

Isto kao i u prethodnom primjeru može se pokazati da za sustave koji nisu osmotrivi moguće je osmatrati stanja koja su u potprostoru čija baza su stupci matrice osmotrivosti, ali to je izniman slučaj koji nećemo obraditi primjerom.

P6 Odredi dali je sustav opisan varijablama stanja stabilan:

[ ] [ ] [ ]2.5 2 1

11 0.5 0

k k u k−

+ = + − x x

[ ] [ ] [ ]1 2y k k= − x

a) asimptotski Za provjeru asimptotske stabilnosti zanimaju nas svojstvene vrijednosti matrice stanja P:

( ) ( )( ) 2det 2.5 0.5 2 2 0.75 0λ λ λ λ λ− = − + + = − + =I P

1

2

0.51.5

λλ==

Svojstvena vrijednost λ2>1 prema tome ovaj sustav je asimptotski nestabilan te još ne možemo zaključivati o njegovoj BIBO stabilnosti.

Page 64: ggfrtdds

62

b) BIBO Za provjeru BIBO stabilnosti računamo matricu prijenosa:

( ) ( )

( )( )

[ ]( )( )

( )( )

1

1adj

det

0.5 2 111 2

1 2.5 00.5 1.5

0.5 2

0.5 1.5

1.5

H z z D

z Dz

z

zz z

z

z z

z

−= − +

= − +−

+ − = − −− −

+ −=

− −

−=

C I P Q

C I P QI P

( ) ( )0.5 1.5z z− −

1

0.5z=

Došlo je do kraćenja pola koji je izvan jedinične kružnice sa nulom prijenosne funkcije, pa je sustav iako asimptotski nestabilan BIBO stabilan.

Uzrok tome je neosmotrivost sustava, pa ako se za provjeru izračuna matrica osmotrivosti i njena determinanta:

( )1 2

det det 1 1 00.5 1

M

− = = − + = −

C

može se zaključiti da je sustav neosmotriv što je u skladu sa prije navedenim svojstvom sustava kod kojih se ne slažu vanjska i unutarnja stabilnost. Rješenje u MATLABu: >> P=[2.5 -2;1 -0.5]; Q=[1;0]; C=[1 -2]; D=0; >> Gss=ss(P,Q,C,D,-1); >> eig(P) ans = 1.5000 0.5000 >> [num,den]=ss2tf(Gss.a,Gss.b,Gss.c,Gss.d); >> Gz=tf(num,den,-1); >> minreal(zpk(Gz)) Zero/pole/gain: 1 ------- (z-0.5) Sampling time: unspecified

Page 65: ggfrtdds

63

>> Zadaci za vježbu

Z4 Odredi dali je sustav opisan jednadžbom stanja upravljiv. Ako jest, izračunajte ulazni vektor (sekvencu) [u[n-1]...u[0]]T kojim ga vodimo od stanja xo u stanje x1.

a) [ ] [ ] [ ]1.7 0.8 1

11.6 0.7 0

k k u k− −

+ = + − x x , [ ]

0.50

0.5

− = −

x , 1

0

0.1

=

x

Rješenje: ( )1 1.7

det 1.60 1.6

u

− − = = −

Q sustav je upravljiv, 0.1316

0.3156u

= −

b) [ ] [ ] [ ]1.5 0.8 0.941

10.61 0.1 0.823

k k u k

+ = + − − x x , [ ]

00

0

=

x , 1

0.753

0.658

= −

x

Rješenje: ( )0.941 0.753

det 00.823 0.658

u

= − −

Q ≃ sustav nije upravljiv, ipak može dovesti do stanja x1 ulazom 1

0u

=

c) [ ] [ ] [ ]1 15 1 15 0 1

1 1 15 7 30 0 0.5

4 15 8 15 3 5 1

k k u k

+ = − + − −

x x , [ ]0.5

0 1

1

=

x , 1

3

2

2

=

x

Rješenje: ( )

1 0.1 0.01

det 0.5 0.05 0.005 0

1 0.6 0.36

u

= = − − −

Q sustav nije upravljiv, rang matrice upravljivosti je 2.

d) [ ] [ ] [ ]0.1 0.8 2

10.4 1.1 0.5

k k u k−

+ = + − − x x , [ ]

00

0.5

=

x , 1

0.1

0

=

x

Rješenje: ( )2 0.6

det 30.5 1.35

u

− = = − − −

Q sustav je upravljiv, 0.046

0.347u

− =

Z5 Odredi dali je sustav opisan jednadžbama stanja osmotriv. Ako jest, odredi njegovo stanje u x0=x[0] uz poznati (osmotreni) izlaz Y=[y[0]...,y[n-1]]

a) [ ] [ ] [ ]2 1 2 3

12 3 2 2

k k u k−

+ = +

x x , [ ] [ ] [ ]1 1y k k= x , 2

7 2

=

Y

Rješenje: ( )1 1

det 2.50 2.5

M

= =

C sustav je osmotriv, [ ]

0.60

1.4x

=

b) [ ] [ ] [ ]1 1 2 8 3

11 2 1 3

k k u k− −

+ = + − − x x , [ ] [ ] [ ]0.5 0.5y k k= x ,

4

1

=

Y

Rješenje: ( )1 2 1 2

det 03 4 3 4

M

= = − −

C sustav nije osmotriv

c) [ ] [ ] [ ]1 3 2 1 5 3

1 1 0 3 5 3

2 3 1 10

k k u k

+ = + −

x x , [ ] [ ] [ ]1 1 2y k k= x ,

5

5

3

=

Y

Rješenje: ( )

1 1 2

det 6 15 2 2 151 4

35 2 15 53 2

M

= = −

C sustav je osmotriv,

[ ]21.78

0 16.75

5.01

x

− =

Page 66: ggfrtdds

64

d) [ ] [ ] [ ]2 1 5

10 1 4

k k u k

+ = + − x x , [ ] [ ] [ ]1 1y k k= x ,

2

5

=

Y

Rješenje: ( )1 1

det 22 0

M

= = −

C sustav je osmotriv, [ ]

2.50

0.5x

= −

Z6 Provjeri dali je sustav zadan jednadžbama stanja stabilan (asimptotski i BIBO )

a) [ ] [ ] [ ]0.7 0.9 1

11.8 2 0

k k u k−

+ = + − x x , [ ] [ ] [ ]2 2y k k= − x

Rješenje: 1

2

0.21.1

λλ==

sustav je asimptotski nestabilan, 0

2

1.1G

z=

− sustav je BIBO nestabilan.

b) [ ] [ ] [ ]3.2 0.9 0.7 1

1 4.6 0.9 1.4 0

5 1.8 0.7 0

k k u k

− − + = − − + − −

x x , [ ] [ ] [ ]2 2 3y k k= − x

Rješenje: 1

2

3

00.70.9

λλλ

===

sustav je asimptotski stabilan pa je izravno i BIBO stabilan.

c) [ ] [ ] [ ]2.43 0.86 1

10.86 0.26 0

k k u k−

+ = +

x x , [ ] [ ] [ ]1 2y k k= − x

Rješenje: 1

2

20.7

λλ==

sustav je asimptotski nestabilan, 0

1

0.7G

z=

− sustav je BIBO stabilan.

d) [ ] [ ] [ ]0.6 0.6 1.2 1

1 0.3 0.9 1.2 0

0.3 0.3 0.6 0

k k u k

− + = − + −

x x , [ ] [ ] [ ]2 0 2y k k= − x

Rješenje: 1

2

3

00.30.6

λλλ

===

sustav je asimptotski stabilan pa je izravno i BIBO stabilan.

*sve zadatke dodatno rješiti i uz pomoć MATLABa

Page 67: ggfrtdds

65

~ DISKRETNI SUSTAVI U PROSTORU STANJA ~

Regulacija sustava povratnom vezom varijabli stanja

Sustav opisan varijablama stanja nije efektivno upravljati klasičnim serijskim regulatorom (kompenzatorom) koji smo obradili kada smo sustav opisivali prijenosnom funkcijom preko odnosa ulaza i izlaza. Opisom pomoću varijabli stanja dobijamo uvid i u unutarnje stanje sustava (ukoliko je sustav osmotriv), pa to iskorištavamo da bi njima i upravljali (ukoliko je sustav upravljiv), a samim time i upravljali izlazom sustava što i dalje ostaje naš primarni cilj. Princip po kojem se taj cilj ostvaruje opisan je blok shemom na donjoj slici. Sustavu u prostoru stanja dodan je regulator L i vodeća veličina r[k].

Regulator je kao i ostali elementi opisan matricom L dimenzija m×n gdje je m broj ulaza, a n broj stanja

što znači da za SISO sustave matrica L je zapravo vektor-redak sa n elemenata:

[ ]0 1 nl l l=L ⋯ (2.42)

Za sada ćemo obraditi SISO sustav u režimu stabilizacije što znači da je vodeća veličina r[k]=0 te možemo pisati za ulazni signal:

[ ] [ ]u k k= − ⋅L x (2.43)

pa slijedi da su jednadžba stanja:

[ ] ( ) [ ][ ] [ ] [ ]

1k k

y k k Du k

+ = −

= +

x P QL x

Cx (2.44)

Projektiranje regulatora postavljanjem polova zatvorenog sustava Rješenjem jednadžbi stanja sustava (2.44) sa regulatorom uz pomoć z transformacije (za D=0):

( ) ( )( ) ( )( ) ( )( ) ( )

1

1

0

0

X z z z X

Y z z z X

= − − ⋅

= ⋅ − − ⋅

I P QL

C I P QL (2.45)

možemo zaključiti da su polovi takvog reguliranog sustava p1,...,pn svojstvene vrijednosti matrice (P-QL), a dobijamo ih rješavanjem njene karakteristične jednadžbe:

( )( ) 1det 0 , , nz p p− − = ⇒I P QL … (2.46)

što znači da pravilnim odabirom, odnosno izračunom, članova matrice povratne veze L određujemo položaj polova zatvorenog sustava.

Već smo se ranije upoznali sa odnosom položaja (dominantnih) polova zatvorenog sustava i pripadajućih karakteristika odziva, a sada kada imamo i "mehanizam" kojim upravljamo polovima zatvorenog sustava. Ostaje nam još samo odrediti metodu kojom za željene polove računamo matricu L.

Koristiti ćemo dvije metode - izravno proračunavanje koristimo u primjeru P7 a) i Ackermannovu formulu koju koristimo u primjeru P7 b).

Ackermannova formula

Ackermannova formula za vektor povratne veze L izvedena je na predavanjima, a glasi:

( )1

2

T

ue p−=L Q P (2.47)

Page 68: ggfrtdds

66

Koristi se samo za SISO sustave, a poznato je da pri njenoj upotrebi, pogotovo za sustave viših redova može doći do pogreške. Ipak MATLAB naredba acker javlja sa upozorenjem kada nastupi takav slučaj. Za MIMO sustave koristimo, i općenito nešto pouzdaniju, naredbu place.

Page 69: ggfrtdds

67

>> Primjeri

P7 Odredi matricu povratne veze L tako da odziv na step sustava definiranog jednadžbama stanja:

[ ] [ ] [ ]1 5 5 6 0

13 5 8 5 1 2

k k u k

+ = + − x x

[ ] [ ] [ ]0 1 2y k k= x

bude aperiodski i ima vrijeme smirivanja Ts=11s. Zadatak riješite izravnim proračunom i korištenjem Ackermannove formule. Vrijeme uzorkovanja jednako je T=1s.

Zajednički dio zadatka za oba načina rješavanja je određivanje položaja polova zatvorenog sustava. Sustav je reda 2 što znači da će imati (i trenutno ima) 2 pola: 1 dominantni pol i jedan pol koji ćemo morati smjestiti tako da ne utječe na odziv ili u pravilu kompenzirati ga s postojećom nulom.

Položaj dominantnog pola ili para polova s obzirom na željeni odziv smo već određivali koristeći se dijagramom u kojem su ucrtane krivulje za konstantne karakteristične parametre odziva. U ovom slučaju tražimo presjecište krivulja konstantnog vremena smirivanja Ts=11s i pozitivnog dijela realne osi za aperiodski odziv.

Pol možemo odrediti grafičkim putem, ali u ovom slučaju on mora biti realan lakše i preciznije je izračunati ga. Ako znamo da položaje polova koji imaju konstantno vrijeme smirivanja u z domeni određujemo kružnicama polumjera r prema jednadžbi:

4

ln

sT

T r= −

Onda je presjecište za Ts/T=11 s realnom osi: 4

1 0.695sT Tp r e

= = =

Dodatni, drugi pol možemo kompenzirati sa postojećom nulom sustava. Pri tome treba najprije izračunati matricu prijenosa, odnosno prijenosnu funkciju:

( ) 2

0.20.25

1.8 0.82o

zG z

z z

−=

− +

iz koje slijedi da drugi pol postavljamo u 0.2 te možemo krenuti s izračunom vektora povratne veze L.

a) izravnim proračunom

Izravno proračunavanje temelji se na željenom svojstvu da karakteristična jednadžba željenog i reguliranog sustava budu jednake. Karakterističnu jednadžbu željenog sustava dobijamo iz izračunatih željenih polova:

( ) ( ) 20.695 0.2 0.895 0.139z z z z− − = − +

dok karakterističnu jednadžbu sustava s regulatorom dobijamo izravnim proračunavanjem:

( )( ) [ ]

( )

0 1

0 1

2

1 0 1

0 1 5 5 6 0det

0 3 5 8 5 1 2

1 5 5 6

3 5 2 8 5 2

1.8 0.5 0.82 0.416 0.1

zz l l

z

z

l z l

z l z l l

− − = − + −

− − = + − +

= + − + + + −

I P QL

Izjednačavanjem koeficijenata sa gornjom željenom karakterističnom jednadžbom dobijamo sustav dvije jednadžbe s dvije nepoznanice

1

0 1

1.8 0.5 0.895

0.82 0.416 0.1 0.139

l

l l

− + = −

+ − =

čijim rješavanjem dobijamo elemente matrice povratne veze L:

[ ]1.2 1.81L = −

Page 70: ggfrtdds

68

b) Ackermannovom formulom

Karakterističnu jednadžbu dobivenu postavljanjem polova na željene lokacije u z ravnini, matricu upravljivosti Qu i matricu stanja sustava P koristimo u Ackermanovoj formuli za izračunavanje vektora (ne matrice, jer se upotrebljava samo za SISO sustave) povratne veze:

[ ] ( )

[ ]

[ ]

2adj0 1 0.895 0.139

det

4 5 5 12

23 50 3 2 1 5 5 6 0.139 01 2 00 1 0.895

27 25 103 50 3 5 8 5 0 0.1395 24

1.2 1.81

u

u

= − ⋅ + ⋅

− − − = − + − −−

= −

QL P P I

Q

Rješenje u MATLABu: >> P=[1/5 5/6;-3/5 8/5]; Q=[0;1/2]; C=[0 1/2]; D=0; T=1; >> Gss=ss(P,Q,C,D,T); >> step(Gss);

0 10 20 30 40 50 600

2

4

6

8

10

12Step Response

Time (sec)

Amplitude

>> Ts=11; >> r=exp(-4/(Ts/T)); >> figure(2); >> hold on; >> rectangle('Position',[-r -r 2*r 2*r],'Curvature',[1 1],'LineStyle','--', 'EdgeColor','r','LineWidth',0.1); >> zgrid; title('Kliknite na polozaj zeljenog pola');

-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

0.90.80.70.60.50.40.3

0.2

0.1

π/T

0.9π/T

0.8π/T

0.7π/T

0.6π/T0.5π/T

0.4π/T

0.3π/T

0.2π/T

0.1π/T

π/T

0.9π/T

0.8π/T

0.7π/T

0.6π/T0.5π/T

0.4π/T

0.3π/T

0.2π/T

0.1π/T

Kliknite na polozaj zeljenog pola

Page 71: ggfrtdds

69

>> polovi=ginput(1); >> polovi=polovi(1,1); >> [num,den]=ss2tf(sys.a,sys.b,sys.c,sys.d,T); >> Gz=zpk(tf(num,den,T)) Zero/pole/gain: 0.25 (z-0.2) -------------------- (z^2 - 1.8z + 0.82) Sampling time: 1 >> polovi(2,1)=zero(Gz) polovi = 0.695 0.2 >> L=acker(P,Q,polovi) L = -1.2000 1.8100 >> Gss_reg=ss(P-Q*L,Q,C,D,1); >> step(Gss_reg);

0 5 10 15 20 250

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

System: sysreg Settling Time (sec): 11

Step Response

Time (sec)

Amplitude

Page 72: ggfrtdds

70

>> Zadaci za vježbu

Z7 Potrebno je odrediti vektor povratne veze kako bi odziv sustava zadanog jednadžbama stanja na step imao zadane karakteristike, pri čemu se nedominantni polovi kompenziraju s postojećim nulama.

a) [ ] [ ] [ ] [ ] [ ] [ ]1.3 2.4 0.5

1 , 0.5 0 , 0.11.875 2.9 0.5

k k u k y k k T s−

+ = + = = − x x x

Odziv reguliranog sustava mora biti aperiodski s vremenom smirivanja Ts=0.7s.

Rješenje: prijenosna funkcija: ( )0 2

0.50.25

1.6 0.73

zG

z z

−=

− +

vektor povratne veze: [ ]3.72 4.8= −L

b) [ ] [ ] [ ] [ ] [ ] [ ]3 1.8 0.5

1 , 0 0.5 , 0.62.5 1.2 0

k k u k y k k T s−

+ = + = = − x x x

Nadvišenje odziva reguliranog sustava mora biti 37% sa istim vremenom prvog maksimuma.

Rješenje: 9.76 10pT T = ≃ prijenosna funkcija: ( )0 2

0.625

1.8 0.9G

z z=

− +

vektor povratne veze: [ ]0.152 0.137= −L

c) [ ] [ ] [ ] [ ] [ ] [ ]0.53 1.25 0

1 , 0 0.5 , 21.6 2.27 0.5

k k u k y k k T s−

+ = + = = − x x x

Odziv reguliranog sustava mora biti aperiodski s vremenom smirivanja Ts=30s.

Rješenje: prijenosna funkcija: ( )0 2

0.530.25

1.74 0.79

zG

z z

+=

− +

vektor povratne veze: [ ]3.2 3= −L

d) [ ] [ ] [ ] [ ] [ ] [ ]1.36 2.1 0

1 , 0.5 0 , 12.14 2.76 0.5

k k u k y k k T s−

+ = + = = − x x x

Odziv reguliranog sustava mora biti s nadvišenjem 4.6% i vremenom smirivanja Ts=10s.

Rješenje: vektor povratne veze: [ ]0.49 0.34= −L

*sve zadatke dodatno rješiti i uz pomoć MATLABa