„SzabtechLabZH” változatai közötti eltérés
pre tag, br tagek eltávolítása (felesleges), Wiki-formázásos aposztróf a kommentből kivéve, helyettesítve megfelelő mennyiségű szóközzel, így a kommentár nem lesz dőlt, de összességében a kód olvashatóbb |
pre tag, br tagek eltávolítása (felesleges), Wiki-formázásos aposztróf a kommentből kivéve, helyettesítve megfelelő mennyiségű szóközzel, így a kommentár nem lesz dőlt, de összességében a kód olvashatóbb |
||
| 200. sor: | 200. sor: | ||
Az impulzusátviteli függvény más néven: Diszkrét átviteli függvény. | Az impulzusátviteli függvény más néven: Diszkrét átviteli függvény. | ||
'''Matlab:''' | '''Matlab:''' | ||
s = zpk('s); | |||
P = 2 / ( (1+s)*(1+4*s)*(1+8*s) ); | <pre> | ||
Ts = 0.5; | s = zpk('s); | ||
sysd = c2d(P, Ts, 'zoh'); | P = 2 / ( (1+s)*(1+4*s)*(1+8*s) ); | ||
Ts = 0.5; %ez a mintavételezési idő, adott a feladat szövegében | |||
sysd = c2d(P, Ts, 'zoh'); %ez alakítja át diszkrétre. A 'zoh' adja meg, hogy zérusrendű a tartószerv. | |||
</pre> | |||
-- [[NovakAron]] - 2007.11.21. | -- [[NovakAron]] - 2007.11.21. | ||
| 211. sor: | 214. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
s=zpk('s'); | <pre> | ||
z=zpk('z',0.5); | s=zpk('s'); | ||
P=2/((1+s)*(1+4*s)*(1+8*s)) | z=zpk('z',0.5); | ||
ts=0.5; | P=2/((1+s)*(1+4*s)*(1+8*s)) % átviteli függvény | ||
Pz=c2d(P,ts); | ts=0.5; % mintaveteli ido | ||
Pz | Pz=c2d(P,ts); % diszkrét átviteli függvény | ||
kc=1; | Pz % zérus-pólus alak | ||
[zd,pd,kd] = zpkdata(Pz,'v'); | kc=1; %egység körerősítés először | ||
Cz=kc*(((z-pd(1))*(z-pd(2)))/((z-1)*z)); | [zd,pd,kd] = zpkdata(Pz,'v');%diszkrét folyamat zérusai pólusai | ||
Lz = Cz*Pz | Cz=kc*(((z-pd(1))*(z-pd(2)))/((z-1)*z)); %diszkrét szab. átv. fv. | ||
Lz=minreal(Lz,0.001); | Lz = Cz*Pz | ||
w=logspace(-1,1,500); | Lz=minreal(Lz,0.001); | ||
[mag,phase]=bode(Lz,w); | w=logspace(-1,1,500); %saját logaritmikus skála beállítása | ||
[kc,pm,wg,wc]=margin(mag,phase-60,w); | [mag,phase]=bode(Lz,w); %diszkrétből számolt bode diagram | ||
Cz=Cz*kc; | [kc,pm,wg,wc]=margin(mag,phase-60,w); %60 fokos fázistöbblet | ||
Lz=Cz*Pz; | Cz=Cz*kc; | ||
Lz=minreal(Lz,0.001); | Lz=Cz*Pz; %a nyitott kör diszkrét átv. fv. | ||
Tz= Lz/(1+Lz); | Lz=minreal(Lz,0.001); | ||
Ts=d2c(Tz,'tustin') | Tz= Lz/(1+Lz); %diszkrét zárt rendszer átv. fv. | ||
figure(2),step(Ts),grid | Ts=d2c(Tz,'tustin') %folytonos zárt rendszer átv. fv. | ||
figure(2),step(Ts),grid %zart rendszer kimeneti jele | |||
</pre> | |||
'''c/''' | '''c/''' | ||
y=step(Ts); | <pre> | ||
ymax = max(y) | y=step(Ts); | ||
ys=dcgain(Ts) | ymax = max(y) %a kimenet maximális értéke | ||
yt=(ymax-ys)/ys*100 | ys=dcgain(Ts) %állandósult érték | ||
es=1-ys | yt=(ymax-ys)/ys*100 %túllövés értéke százalékban | ||
Uz=Cz/(1+Lz); | es=1-ys %az előírt 1-tól való eltérés | ||
Uz=minreal(Uz,0.001); | Uz=Cz/(1+Lz); %zárt rendszer beavatkozó jele | ||
figure(3),step(Uz),grid | Uz=minreal(Uz,0.001); %egyszerűsítések elvégzése | ||
u=step(Uz); | figure(3),step(Uz),grid %beavatkozó jel kirajzolása | ||
umax = max(u) | u=step(Uz); | ||
umax = max(u) %maximális érték kiírása | |||
</pre> | |||
====5. feladat==== | ====5. feladat==== | ||