vez8

3
_____________________________________________________________________________________________________________________________________Vežba 8 1 1 s+1 Transfer Fcn Step Scope Scope s 1 Integrator1 s 1 Integrator 1 Gain 1-u*u Fcn Dot Product 1 s+1 Transfer Fcn1 1 s Transfer Fcn Step Scope 1 Gain1 1 Gain Primer 1. Korišćenjem Simulink-a formirati model sistema sa slike i simulirati rad sistema. Rešenje: Potrebno je izvršiti sledeće korake: 1. Pokrenuti Simulink u Matlab-u. simulink 2. Otvoriti novu simulaciju pomoću File/New. 3. Iz odgovarajuće biblioteke, uz pomoć miša, prevući potrebne blokove (sabirač iz Math biblioteke, blok sa funkcijom prenosa iz Continuous, generator step pobude i prikaz izlaza iz Sources, odnosno Sinks). 4. Dvoklikom na svaki blok podešavaju se njegovi parametri. 5. Povezati blokove. 6. Pokrenuti simulaciju sa Simulation/Start. (podešavanje parametara simulacije u Simulation/Parameters) Zadaci: 1. Posmatrati odziv i zadatu pobudu zajedno. Da bi se to uradilo, potrebno je ubaciti blok Mux iz Signals & Systems biblioteke. Ovaj blok predstavlja multiplekser i na njegov ulaz je potrebno dovesti signale sa step pobude i signal sa izlaza iz sistema, a izlaz iz ovog bloka spojiti na Scope. 2. Posmatrati rad sistema kada je funkcija prenosa bloka u direktnoj grani opisana matricama [1] i [1 2 0]. Primer 2. Simulacija Van der Polovog oscilatora . 0 ) 1 ( 2 = + + x x x x & & & 1 2 2 2 2 1 1 2 1 ; ) 1 ( , x x x x x x x x x x = = = = & & & U okviru Simulink programa simulacija Van dar Polovog oscilatora se može prikazati kao: Posmatrati rad sistema ako su početne vrednosti oba integratora postavljene na 0.25. Primer 3. Ukoliko se želi pozvati simulink datoteka iz komandnog prozora ili M- datoteke, koristi se naredba sim( ‘ime_modela’,tf). Pretpostavimo da je formiran model kao na slici: Zadaci: 1. Aktivirati simulaciju datog modela iz komandnog prozora. 2. Formirati M-datoteku i iz nje, korišćenjem funkcije sim pozvati dati model- 3. Zameniti ulaz blokom From Workspace (iz Sources) , a u Matlabovom okruženju (M-datoteci) formirati signale pobude (1-testerast, 2-četvrtke, 3- trapezast) i pokrenuti simulaciju. 4. Zameniti izlaz blokom To Workspace (iz Sinks) i u Matlab okruženju nacrtati izlazni signal Zadatak 1. Nacrtati izlaze sistema sa slike ako se na ulazima nalaze signali u1 i u2 poznati svakih 0.01 sekund. 2 Y2 1 Y1 2.2 G6 - + - s2 s+3.4 1 G1 + + - s1 2 U2 s +2s 2 1 G4 s+1.5 1 G5 7 G3 2s+1.1 s +2s+2 2 G2 1 U1 0 20 40 60 80 100 120 0 2 4 6 u1 0 20 40 60 80 100 120 0 2 4 6 8 u2

description

ф

Transcript of vez8

Page 1: vez8

_____________________________________________________________________________________________________________________________________Vežba 8

1

1 s+1

Transfer Fcn Step Scope

Scopes

1

Integrator1s

1

Integrator

1 Gain

1-u*u Fcn

Dot Product

1

s+1Transfer Fcn1

1

s

Transfer FcnStep Scope

1

Gain1

1

Gain

Primer 1. Korišćenjem Simulink-a formirati model sistema sa slike i simulirati rad sistema.

Rešenje: Potrebno je izvršiti sledeće korake:

1. Pokrenuti Simulink u Matlab-u. simulink 2. Otvoriti novu simulaciju pomoću File/New. 3. Iz odgovarajuće biblioteke, uz pomoć miša, prevući potrebne blokove (sabirač iz

Math biblioteke, blok sa funkcijom prenosa iz Continuous, generator step pobude i prikaz izlaza iz Sources, odnosno Sinks).

4. Dvoklikom na svaki blok podešavaju se njegovi parametri. 5. Povezati blokove. 6. Pokrenuti simulaciju sa Simulation/Start. (podešavanje parametara simulacije u

Simulation/Parameters) Zadaci:

1. Posmatrati odziv i zadatu pobudu zajedno. Da bi se to uradilo, potrebno je ubaciti blok Mux iz Signals & Systems biblioteke. Ovaj blok predstavlja multiplekser i na njegov ulaz je potrebno dovesti signale sa step pobude i signal sa izlaza iz sistema, a izlaz iz ovog bloka spojiti na Scope.

2. Posmatrati rad sistema kada je funkcija prenosa bloka u direktnoj grani opisana matricama [1] i [1 2 0].

Primer 2. Simulacija Van der Polovog oscilatora . 0)1( 2 =+−+ xxxx &&&

1222211

21

;)1(

,

xxxxxx

xxxx

=−−−=

==

&&

&

U okviru Simulink programa simulacija Van dar Polovog oscilatora se može prikazati kao:

Posmatrati rad sistema ako su početne vrednosti oba integratora postavljene na 0.25. Primer 3. Ukoliko se želi pozvati simulink datoteka iz komandnog prozora ili M-datoteke, koristi se naredba sim( ‘ime_modela’,tf). Pretpostavimo da je formiran model kao na slici: Zadaci:

1. Aktivirati simulaciju datog modela iz komandnog prozora. 2. Formirati M-datoteku i iz nje, korišćenjem funkcije sim pozvati dati model- 3. Zameniti ulaz blokom From Workspace (iz Sources) , a u Matlabovom

okruženju (M-datoteci) formirati signale pobude (1-testerast, 2-četvrtke, 3-trapezast) i pokrenuti simulaciju.

4. Zameniti izlaz blokom To Workspace (iz Sinks) i u Matlab okruženju nacrtati izlazni signal

Zadatak 1. Nacrtati izlaze sistema sa slike ako se na ulazima nalaze signali u1 i u2 poznati svakih 0.01 sekund.

2Y2

1Y1

2.2

G6

-+-s2

s+3.41

G1

++-s1

2U2 s +2s2

1

G4s+1.5

1

G5

7

G3

2s+1.1s +2s+22

G2

1U1

0 20 40 60 80 100 1200

2

4

6

u1

0 20 40 60 80 100 1200

2

4

6

8

u2

Page 2: vez8

_____________________________________________________________________________________________________________________________________Vežba 8

2

Primer 4. Napisati S funkciju koja modelira sistem sa slike. Simulirati rad sistema tokom 8 sekundi za prikazani ulazni signal.

0 1 2 3 4 5 6 7 80

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

t

u

Rešenje:

21132

3

313

13

2112

21

21

45)2(2

32

,

323

245

,54

xxxxuxxue

xxx

xpqyx

yqysQ

Yxxxex

xxpxpx

epppp

−−−=−=

−=

===

−=⇒+

=

−−=

====++

&

&

&

&

&

&

&&&

S-funkcija: function [sys,x0] = sistem2(t,x,u,flag) if flag == 0

sys = [3;0;1;1;0;0]; x0 = [-0.3;1;0];

elseif flag == 1 sys(1) = x(2);

sys(2) = (u-2*x(3))-5*x(1)-4*x(1)*x(2); sys(3) = 2*sqrt(abs(x(1)))-3*x(3); elseif flag == 3

sys = x(3); else

sys =[]; end

signal: t=0:0.01:8; u=min(abs(2*sin(t)),(t<4).*(1/2).*t+(t>=4).*(4-t/2)); signal=[t' u'];

Scope1

Scope

sistem2

S-Function

signal

FromWorkspace

Simulink model za simulaciju rada modelovanog sistema

Primer 5. Napisati S funkciju koja modelira ponašanje trobitmog brojača sa ulazom za reset. Kada je na ulazu 0, brojac se resetuje, odnosno stanje brojača se postavlja na 0. Kada se ulaz postavi na 1 brojač broji do maksimalne vrednosti sa taktom od 1 sekunde. Rešenje: function [sys,x0] = brojac(t,x,u,flag) T=1; if flag == 0 sys = [0;3;3;1;0;0]; x0 = [0 0 0]; elseif flag == 2 sys=[ (~x(1)) (xor(x(1),x(2))) (x(3)*(~x(2))+(~x(3))*x(2)*x(1)... +x(3)*x(2)*(~x(1))) ]; if ( u == 0 ) sys=[0 0 0]; end; elseif flag==3 sys = real(x); if( u ==0 ) sys = [0 0 0]; end; elseif flag==4 sys = t+T; else

Page 3: vez8

_____________________________________________________________________________________________________________________________________Vežba 8

3

sys = []; end; Navedeni model testirati u simulinku kao deo sistema sa slike

1.bit

2.bit

3.bit

ulazDemux

Demux

+++

Sum

2

Gain

4

Gain1

broj

brojacS-Function

Simulink model za testiranje trobitnog brojača

Primer 6. Napisati S funkciju koja modelira sistem sa slike. ON/OFF regulator je vremenski diskretan i ima vreme odabiranja od 0.1s.

1u

+-

Sum1y

3s+0.1G(s)

on/off

regulator

Rešenje: function [sys,x0] = sistem4(t,x,u,flag) T=0.1; if flag == 0 sys = [1;1;1;1;0;0]; x0 = [0 0]; elseif flag == 1 sys(1) = 3*x(2)-0.1*x(1); elseif flag == 2 if (u-x(1)>0) sys(1) = 1; else sys(1) = 0; end; elseif flag == 3

sys = x(1); elseif flag == 4 sys = t+T; else sys = []; end; Navedeni model testirati u simulinku kao deo sistema sa slike

Step Scope

sistem4

S-Function

Simulink model za testiranje modela sistema4

Primer 7. Napisati S-funkciju koja modelira sistem sa slike. Ulazi u sistem su m(t) i u(t), a izlaz je y(t).

Rešenje:

32

133

122

122

211

5.2)(5.1

25))(5.0(8

xmxxyx

xxmxuxpx

xxpx

−+==

−−+−==

==

&

&&

&

function [sys,x0] = system5(t,x,u,flag) if flag == 0

sys = [3;0;1;2;0;0]; x0 = [0;0;0];

elseif flag == 1 sys(1) = x(2); sys(2) = 8*(u(1)-0.5*(x(1)^2+u(2)))-5*x(2)-2*x(1);

sys(3) = 1.5*(x(1)^2+u(2))-2.5*x(3); elseif flag == 3

sys = [x(3)]; else

sys =[]; end

+2p+

m

523+s

0.5

u p y

258

2 ++ ss-

+