SzabTechLaborZh2009Tavasz

A VIK Wikiből

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.



LaborZH 2009.05.07

http://i.imgur.com/AJ9T5sf.jpg

Na szóval, én így oldottam meg laborZH-n, aki lát benne hibát (biztos van, pl. 4. feladat vége), az javítsa ki, hiányzó részeket meg pótolja -- PappBal - 2009.05.11.

1. feladat

a)

 s = zpk('s');
 C = (1+2*s)/s;
 P = 1/((1+2*s)*(1+s)*(1+0.1*s));
 L = minreal(C * P);
 [gm, pm, wg, wc] = margin(L) 

margin() nyitott körrel működik. -- The Grizzly - 2009.12.05.

gm - erősítési tartalék, pm - fázistartalék, wc - vágási körfrekvencia

Stabilitás:

  • csak negatív pólusok vannak
  • nyquist(L) - ábrán látszik, hogy nem veszi körbe a -1-et

→ stabil

b)

H = minreal(P/(1+L));
step(H)

itt 1/(1+L) volt, azonban a hiba P elé van bekötve, azon még átcsorog. -- The Grizzly - 2009.12.05.

c)

ys = dcgain(P/(1+L)); % a kimenőjel állandósult értéke
U = minreal(-L/1+L); % fel kell írni a beavatkozójelet
us = dcgain(U); % beavatkozójel állandósult értéke

us = -1 (hiszen azert van a negativ visszacsatolas, hogy a zavarojelet megszuntesse, tehat ennek a zavarojel -1xesenek kell lennie.)

ys = 0

beavatkozojel -L/(1+L), mert: ezért.

-- The Grizzly - 2009.12.05.

2. feladat

a)

A = [-0.1, 1; 0, -0.2];
B = [0; 5];
C = [2, 0];
D = 0;

kszi = 0.7; % csillapítási tényező
T0 = 0.5; % időállandó
% meg kell oldani a (T0^2 * s^2) + 2*kszi*T0*s + 1 egyenletet s-re, annak a gyökei lesznek az előírt pólusok
p = roots([T0^2, 2*kszi*T0, 1]); 
% k vektor meghatározása Ackermann formulával
k = acker(A, B, p);
Ak = A - B*k;

% ez már szabályozott folyamat, de még nincs kompenzálva (nem 1-re áll be)
P0 = ss(Ak, B, C, D);

g = dcgain(P0); % állandósult érték
G = 1/g; % kompenzációs tényező
Bk = B * G;

% szabályozott, kompenzált folyamat
P = ss(Ak, Bk, C, D);

k és G értéke a lényeg

b)

Itt találtam. -- Ropi - 2009.05.13.

állapotrajektória: a x2 állapotváltozó az x1 függvényében

x0=[1,-2]
[y,x,t]=initial(Ak,Bk,C,D,x0); 
x1=x(:,1);
x2=x(:,2);
figure(1);plot(t,y,'k');grid
figure(2);plot(x1,x2,'k');grid

3. feladat

s = zpk('s')
P = 1/((1+10*s)*(1+4*s)); % e-ados tagot nem kell megadni!!!
Ts = 0.5; % mintavételi idő

% impulzus átviteli függvény
G1z = c2d(P, Ts, 'zoh');

% a holtidőt még nem vettük figyelembe
% az így kapott impulzusátviteli függvény még el kell osztani z^d-vel
% ahol d a holtidő és mintavételi idő hányadosa

Td = 1.5; % holtidő - e^-1.5s
d = Td/Ts;
z = zpk('z', Ts);
Gz = G1z/(z^d)

A válasz pedig Gz értéke.

stabilitás: pzmap(Gz) - minden pólus az egységsugarú körön belül van, tehát stabil

4. feladat

s = zpk('s');
P = 1/(1+10*s); % szakasz
Ts = 1;
Gm = 1;
Rr0 = 1/(1+2*s); %szűrő
Rn0 = 1/(1+s); %szűrő

% fentiek impulzusátviteli függvényei
Gz = c2d(P, Ts);
Rr = c2d(Rr0, Ts);
Rn = c2d(Rn0, Ts);

a) Gz, Rr, Rn

b)-c)-d)-e)

mivel Gm (G minusz) = 1, és Gp*Gm = Gz, ezért Gp = Gz (Gp = G plusz)

z = zpk('z', Ts);
Gp = Gz;
Q = Rn/Gp; % Youla Paraméter

% c) feladat: szabályozó, válasz a Cz értéke
Cz = minreal(Q*(1/(1-Q*Gz)))

Lz = minreal(Cz * Gz); % felnyitott kör
Tz = feedback(Lz, 1); % zárt rendszer

% d) feladat: Tz ábráját kell lerajzolni
% annyi a különbség, hogy gyorsabban áll be a végleges értékre
figure(1),step(Tz)
figure(2),step(Rr)


% e) feladat
% beavatkozójelet
Uz = Cz/(1+Lz);
[u, t] = step(Uz);
max(u) % ez lesz a válasz

f)

Hz = 1/(1+Lz);
[y, t] = step(Hz);
plot(t, y)

első feladat analógiájára (mondjuk ebben egyáltalán nem vagyok biztos^^)

Délutáni sor

1. feladat

sin(t) azt jelenti, hogy w=1,A=1,fi=0 (A*sin(w*t+fi) -ből kijön)

s=zpk('s');
P=2/((1+s)*(1+10*s));
[A,fi]=bode(P,1)

A az erősítés, fi pedig a fázistolás(ha a gerjesztésben A!=1, akkor azzal szorozni kell, ha fi!=0, akkor azt meg hozzáadni)

2. feladat

s=zpk('s');
C=(1+20*s)/s;
P=20/((1+20*s)*(1+2*s)*(1+0.1*s));

a,

[Gm,Pm,Wcg,Wcp]=margin(C*P/(1+C*P));
Wcp

A rendszer nem stabilis, ezt ki is írja a margin, és látszik, hogy nincs erősítési tartaléka, és step(..)-el ellenőrízve is elszáll.

b,

K=0.02;
step(1/(1+K*C*P))
%kezdeti érték: mivel a zavarás közvetlenül ki van kötve, ezért 1
%végérték:
dcgain(1/(1+K*C*P))

3. feladat

a,

A=[-1 0 1;0 -2 0;2 0 -5];
b=[2;1;2];
c=[2 0 0];
d=0;
zpk(ss(A,b,c,d))
%A pólusok a nevezőben lévő számok *-1 (tehát ahol a teljes tört értéke végtelen)

Nincsenek pozitív pólusai, ezért stabilis(lehet ellenőrízni step(..)-el)

b,

canon(ss(A,b,c,d),'modal')

A kanonikus alakból(nem mindig írható fel, de bármikor előfordult, akkor eddig még lehetett) jól látható, a b és c vektorokból, hogy irányítható, és nem megfigyelhető(b-ben nincs 0, c-ben van)

A mátrix nxn-es:

rank(ctrb(A,b)) %ha megegyezik az n számmal, irányítható

rank(obsv(A,c)) %ha megegyezik az n számmal, megfigyelhető

-- Gery - 2009.12.14.