Szabályozástechnika Matlab Gyakorlatok, Villamosmérnöki - Index of
Szabályozástechnika Matlab Gyakorlatok, Villamosmérnöki - Index of
Szabályozástechnika Matlab Gyakorlatok, Villamosmérnöki - Index of
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Bevezetés a <strong>Matlab</strong> Control System Toolbox Használatába Hetthéssy Jenő, Bars Ruth, Barta András, 2005<br />
Az LTI sys struktúrák egy hierarchikus sorrendben helyezkednek el: tf -> zpk -> ss. Ha egy utasításban<br />
vagy számításban különböző modellek szerepelnek, akkor az eredmény mindig a magasabb hierarchiájú<br />
modell formájában keletkezik. Például a<br />
» Htf*Hzpk<br />
utasítás eredménye zpk alakban jelenik meg.<br />
Ha az s változót s=zpk('s')formában adjuk meg, akkor az ezzel megadott átviteli függvényeket zpk<br />
alakban kapjuk. Ha az s változót s=tf('s')formában adjuk meg, akkor az ezzel megadott átviteli<br />
függvényeket tf, azaz polinom/polinom alakban kapjuk.<br />
Időtartománybeli vizsgálat:<br />
A Control System Toolbox több utasítást tartalmaz, amelyek segítségével a lineáris rendszerek<br />
2<br />
időtartománybeli viselkedését lehet vizsgálni. Vizsgáljuk ismét a következő rendszert: H()<br />
s =<br />
2<br />
s + 2s+<br />
4<br />
» H=2/(s^2+2*s+4)<br />
Vegyünk fel egy időtartományt:<br />
» t=0:0.1:10;<br />
• Átmeneti függvény (step response): Az átmeneti függvény a rendszer kimenőjele egységugrás (step)<br />
bemenőjel esetén. A step utasítás előzőekben tárgyalt alakjai mellett az alábbi alak is hívható:<br />
» step(H);<br />
• Súlyfüggvény (impulse response): A súlyfüggvény a rendszer kimenete Dirac-delta bemenet esetén.<br />
» impulse(H);<br />
» yi=impulse(H,t);<br />
» plot(t,yi)<br />
• Kezdeti feltétel (initial condition): A rendszer viselkedése kezdeti feltétel esetén az initial utasítás<br />
segítségével vizsgálható. Csak állapotteres reprezentációra alkalmazható ez az utasítás.<br />
» H=ss(H)<br />
Bode Diagrams<br />
From: U(1)<br />
» x0=[1, -2]<br />
0<br />
» [y,t,x]=initial(H,x0);<br />
-10<br />
» plot(t,y),grid<br />
-20<br />
Vegyük észre, hogy az x változó egy mátrix, amelynek annyi<br />
-30<br />
oszlopa van, ahány állapotváltozója van a rendszernek<br />
(ebben az esetben 2). Sorainak száma megegyezik az<br />
idővektor elemeinek számával. Ellenőrizzük:<br />
» size(x)<br />
-40<br />
0<br />
-50<br />
-100<br />
ans = 109 2<br />
-150<br />
-200<br />
A rendszer állapottrajektóriáját is tudjuk vizsgálni. Az x<br />
10 -1<br />
mátrix első oszlopa tartalmazza az első állapotváltozót, a<br />
10 0<br />
Frequency (rad/sec)<br />
10 1<br />
második pedig a másodikat. A : kiválasztja az adott vektor minden egyes elemét. Az állapottrajektória az<br />
egyik állapotváltozót a másik állapotváltozó függvényében ábrázolja.<br />
» x1=x(:,1); x2=x(:,2);<br />
» plot(x1,x2)<br />
• Tetszőleges bemenet: A rendszer kimenetét tetszőleges bemenet esetén is ki lehet számítani.<br />
Határozzuk meg a kimenetet u(t)= 2sin(3t) bemenet esetén.<br />
» usin=2*sin(3*t);<br />
» ysin=lsim(H,usin,t);<br />
Ábrázoljuk a bemenőjelet piros, a kimenőjelet pedig kék görbével.<br />
» plot(t,usin,'r',t,ysin,'b'), grid;<br />
Phase (deg); Magnitude (dB)<br />
To: Y(1)<br />
13