Politechnika Śląska
Gliwice, 2006/2007
Wydział: Automatyki, Elektroniki i Informatyki
Semestr: 6 (letni)
Kierunek: Automatyka i robotyka
Podstawy Automatyki
– laboratorium
Ćw. 1: Elementy CAD UR – wprowadzenie do Matlab-a.
Data ćwiczeń laboratoryjnych:
21.02.2007
Grupa: 1
Sekcja: 3
Skład osobowy sekcji:
Zięba Andrzej
Bojko Marcin
1. Cel ćwiczenia:
Celem ćwiczenia było opanowanie podstawowych funkcji środowiska Matlab niezbędnych
przy analizie i projektowaniu układów regulacji. W ramach sprawozdania miał powstać program
realizujący poniższy program.
2. Program ćwiczenia:
Dla obiektu ciągłego o transmitancji:
K s=
k
sT
1
1sT
2
1 sT
3
1
gdzie :k =3, T
1
=
2, T
2
=
5, T
3
=
10
Wzmocnienie „k” zostało narzucone, natomiast stałe czasowe T wybrano dowolnie (każda o innej
wartości).
I. UKŁAD CIĄGŁY
Analiza układu otwartego:
1.Wprowadzić transmitancję K(s).
2. Przedstawić K(s) w różnych postaciach zapisu.
3. Odpowiedź skokowa:
a) transformata odpowiedzi skokowej
b) rozkład na ułamki proste
c) analityczna postać czasowa odpowiedzi
d) przebieg odpowiedzi
4. Narysować charakterystyki częstotliwościowe ( w osobnych oknach):
a) amplitudowo-fazową
b) logarytmiczną amplitudy oraz fazy
Analiza układu zamkniętego (regulator P + obiekt + ujemne sprzężenie zwrotne)
5. Sprawdzić stabilność metodami algebraicznymi – kryterium Hurwitza
6. Wyznaczyć przebieg linii pierwiastkowych
Dla wzmocnienia regulatora kr = 2:
7. Wyznaczyć zapas amplitudy oraz fazy
8. Wyznaczyć transmitancję główną.
9. Odpowiedź skokowa
a) transformata odpowiedzi skokowej
b) rozkład na ułamki proste
c) analityczna postać czasowa odpowiedzi
c) przebieg odpowiedzi
10. Narysować przebieg wskaźnika nadążania (moduł transmitancji głównej)oraz wskaźnika regulacji ( moduł
transmitancji uchybowej).
II. UKŁAD DYSKRETNY
Analiza układu otwartego (impulsator idealny + ekstrapolator + obiekt)
11. Wyznaczyć transmitancję dyskretną K(z) - Ti=0.5T1
12. Odpowiedź skokowa
a) transformata odpowiedzi skokowej
b) rozkład na ułamki proste
c) analityczna postać czasowa odpowiedzi odpowiedzi
d) przebieg odpowiedzi
13. Narysować charakterystykę amplitudowo-fazową
Analiza układu zamkniętego (impulsator idealny + ekstrapolator + regulator P + obiekt + ujemne sprzężenie zwrotne)
14. Wyznaczyć warunki stabilności (k
gr
).
15. Wyznaczyć przebieg linii pierwiastkowych.
Dla kr = (0.5 - 0.75 )k
gr
:
16. Wyznaczyć transmitancję główną
17. Odpowiedź skokowa
a) transformata odpowiedzi skokowej
b) rozkład na ułamki proste
c) analityczna postać odpowiedzi
d) przebieg odpowiedzi
3. Kod źródłowy programu:
Program został napisany w taki sposób że, umożliwione jest wpisanie większości typów
transmitancji na kilka możliwych sposobów (wzorem od "s"; za pomocą wektorów
współczynników licznika i mianownika; za pomocą wektorów zer, biegunów i wzmocnienia; za
pomocą macierzy równań stanu). Wzmocnienie regulatora P jest stałe i dla układu zamkniętego
ciągłego wynosi k
r
= 2, a dla układu zamkniętego dyskretnego k
r
zostało wyznaczone jako 57,15%
wzmocnienia granicznego k
gr
dla zadanej transmitancji K(s) obiektu (k
r
= 1,8). Współczynnik
okresu próbkowania impulsatora idealnego jest wybierany automatycznie jako połowa najmniejszej
co do modułu stałej czasowej obiektu.
Kod źródłowy funkcji „step_d”:
function step_d(Kz,koniec,kolor);
% step_d(Kz,t_koniec,kolor)
% Kz- transmitancja dyskretna zmiennej z
% t_koniec - czas koncowy symulacji
% Funkcja rysujaca odpowiedz skokowa układu dykretnego w postaci punktow
if nargin==1
koniec=Kz.Ts*10;
kolor='b';
elseif nargin==2
kolor='b';
end
rozmiar_palki=5; %6-domyslnie
ilosc=round(koniec/Kz.Ts);
[y,t] = step(Kz,0:Kz.Ts:ilosc*Kz.Ts);
%t=t/Kz.Ts;
plot([t t]',[zeros(length(y),1) y]',['-' kolor])
hold on
plot([t],[y]',['o' kolor],'MarkerFaceColor',kolor,'Markersize',rozmiar_palki)
hold off
xlabel('Czas [s]')
ylabel('Amplituda')
Kod źródłowy funkcji „trans2symb”:
function [symb] = trans2symb(L,M)
% Funkcja na podstawie wektorow wspolczynikow wielomianow licznika i
% mianownika zwraca transmitancje zapisana przy urzyciu zmiennej
% symbolicznej.
syms p symb_l symb_m; % Zmienne symboliczne
[m,lL]=size(L);
[m,lM]=size(M);
symb_l=0;
symb_m=0;
for i=1:lL
symb_l=symb_l+L(i)*p^(lL-i);
end
for i=1:lM
symb_m=symb_m+M(i)*p^(lM-i);
end
symb=symb_l/symb_m;
Kod źródłowy programu głównego „PA1”:
% PA lab 1:
clc;
clear all;
close all;
% 1) Wprowadzenie transmitancji K(s):
wariant=0;
s=tf('s');
while 1
disp('Wybierz warjant wprowadzenia transmitancji obiektu K(s):');
disp(' 1 - Wzorem od "s";');
disp(' 2 - Za pomoca wektorow wspolczynnikow licznika i mianownika;');
disp(' 3 - Za pomoca wektorow zer, biegunow i wzmocnienia;');
disp(' 4 - Za pomoca macierzy rownan stanu.');
wariant=input('Wariant --> ');
disp(' ');
if wariant==1
K=input('K(s) = ')
break;
end
if wariant==2
L=input('Podaj wektor wspolczynnikow licznika --> ');
M=input('Podaj wektor wspolczynnikow mianownika --> ');
K=tf(L,M)
break;
end
if wariant==3
Zera=input('Podaj wektor zer --> ');
Bieguny=input('Podaj wektor biegunow --> ');
Wzmocnienie=input('Podaj wzmocnienie --> ');
K=zpk(Zera,Bieguny,Wzmocnienie)
break;
end
if wariant==4
A=input('Podaj macierz A --> ');
B=input('Podaj macierz B --> ');
C=input('Podaj macierz C --> ');
D=input('Podaj macierz D --> ');
% Zbudowanie transmitancji z macierzy rownan stanu.
[L,M]=ss2tf(A,B,C,D);
K=tf(L,M)
break;
end
end
disp(' ');
disp('ANALIZA OBIEKTU:');
% 2) Przedstawienie K(s) w roznych formach zapisu:
K=minreal(K); % Skracanie zer i biegunow
disp(' ');
disp('Przedstawienie K(s) w roznych formach zapisu.');
disp(' ');
disp(' Transmitancja obiektu w postaci wielomianowej:');
tf(K)
[L,M]= tfdata(K,'v'); % Odzyskanie wspolczynnikow wielomianow licznika i mianownika
disp(' Transmitancja obiektu w postaci zera/bieguny/wzmocnienie:');
zpk(K)
[Zera,Bieguny,Wzmocnienie] = zpkdata(K,'v'); % Odzyskanie zer, biegunow i wzmocnienia
disp(' Opis w przestrzeni stanow:');
[A,B,C,D]=tf2ss(L,M)
figure;
pzmap(K); % Wyrysowanie rozkladu zer i biegunow
% 3) Odpowiedz skokowa:
% 3.a) Transformata odpowiedzi skokowej:
disp(' ');
disp('Transformata odpowiedzi skokowej:');
Kt=minreal(K*1/s)
[Los,Mos]=tfdata(Kt,'v');
% 3.b) Rozklad na ulamki proste:
disp('Rozklad na ulamki proste transformaty odpowiedzi skokowej:');
% [R,P,K] = RESIDUE(B,A) finds the residues, poles and direct term of
% a partial fraction expansion of the ratio of two polynomials B(s)/A(s).
% If there are no multiple roots,
% B(s) R(1) R(2) R(n)
% ---- = -------- + -------- + ... + -------- + K(s)
% A(s) s - P(1) s - P(2) s - P(n)
% Uwaga moga wystepowac podwojne bieguny.
[R_K,P_K,Reszta_K] = residue(Los,Mos)
% 3.c) Analityczna postac czasowa odpowiedzi skokowej:
disp('Analityczna postac czasowa odpowiedzi skokowej:');
% ilaplace() - wyznaczenie postaci analitycznej z transformaty ze zmienna symboliczna
% trans2symb() - funkcja tworzaca transformate ze zmienna symboliczna
% jej parametry to wspolczynniki licznika i wspolczynniki mianownika
kt=ilaplace(trans2symb(Los,Mos))
% 3.d) Przebieg czasowy odpowiedzi skokowej:
figure;
step(K); % Wyrysowanie przebiegu odpowiedzi skokowej
title('Przebieg czasowy odpowiedzi skokowej dla transmitancji K(s)')
grid;
% 4) Rysowanie charakterystyk czestotliwosciowych:
% 4.a) Charakterystyka amlitudowo-fazowa:
figure;
nyquist(K);
% 4.b) Charakterystyki logarytmiczne amplitudy oraz fazy:
figure;
bode(K); % Charakterystyki logarytmiczne amplitudy oraz fazy
figure;
bodemag(K); % Charakterystyka logarytmiczna amplitudy
% ANALIZA UKLADU ZAMKNIETEGO (regulator P + obiekt + ujemne sprzezenie zwrotne)
disp(' ');
disp('ANALIZA UKLADU ZAMKNIETEGO:');
% 5) Sprawdzenie stabilnosci analitycznie (w sprawozdaniu).
% 6) Wyznaczenie przebiegu linii pierwiastkowych:
figure;
rlocus(K);
% Wzmocnienie regulatora kr=2.
% 7) Wyznaczenie zapasu fazy i amplitudy:
kr=2;
Ko=K*kr;
figure;
nyquist(Ko); % => odczytac zapas fazy (narysowac kolo jednostkowe) i amplitudy (w decybelach)
figure;
bode(Ko); % => Powtorzyc odczyt
% 8) Wyznaczyć transmitancje glowna:
disp('Transmitancja glowna G(s)=Y(s)/W(s)');
G=minreal(Ko/(1+Ko))
disp('Transmitancja glowna G(s) (zera, bieguny, wzmocnienie)');
zpk(G)
% Wyznaczenie transmitancji uchybowej:
Ge=minreal(1/(1+Ko));
% 9) Odpowiedz skokowa:
% 9.a) Transformata odpowiedzi skokowej:
disp(' ');
disp('Transformata odpowiedzi skokowej:');
Gt=minreal(G*1/s)
[Los_G,Mos_G]=tfdata(Gt,'v');
% 9.b) Rozklad na ulamki proste:
disp('Rozklad na ulamki proste transformaty odpowiedzi skokowej:');
[R_G,P_G,Reszta_G] = residue(Los_G,Mos_G)
% 9.c) Analityczna postac czasowa odpowiedzi skokowej:
disp('Analityczna postac czasowa odpowiedzi skokowej:');
gt=ilaplace(trans2symb(Los_G,Mos_G))
% 9.d) Przebieg czasowy odpowiedzi skokowej:
figure;
step(G); % Wyrysowanie przebiegu odpowiedzi skokowej
title('Przebieg czasowy odpowiedzi skokowej dla transmitancji G(s)')
grid;
% 10) Narysowanie przebiegu wskaznika nadazania i wskaznika regulacji:
figure;
bodemag(G);
title('Wskaznik nadazania');
figure;
bodemag(Ge);
title('Wskaznik tlumienia zaklocen');
% ANALIZA UKLADU DYSKRETNEGO OTWARTEGO (impulsator idealny + ekstrapolator + obiekt)
disp(' ');
disp('ANALIZA UKLADU DYSKRETNEGO OTWARTEGO:');
% 11) Wyznaczenie transmitancji dyskretnej K(z) dla Ti=0,5*T1:
disp(' ');
disp('Transmitancja dyskretna H(z):');
% Przyjmujemy ze T1 jest najmniejsza stala czasowa w mianowniku K(s).
% Zeby ja odzyskac posluzono sie biegunami transmitancji K(s).
Ti=0.5/max(abs(Bieguny));
H=c2d(K,Ti,'zoh') % Zamiana transmitancji ciaglej na dyskretna
disp(' ');
disp('Transmitancja dyskretna H(z) (postac zera, bieguny i wzmocnienie):');
zpk(H)
% 12) Analiza odpowiedzi skokowej:
% 12.a) Transmitancja odpowiedzi skokowej:
skok_dyk=tf([1 0],[1 -1],Ti);
disp('Transformata odpowiedzi skokowej:')
Ht=minreal(H*skok_dyk)
% 12.b) Rozklad na ulamki proste:
disp(' ');
disp('Rozklad na ulamki proste:');
[L_H,M_H] = tfdata(H,'v');
[R_H,P_H,Reszta_H] = residue(L_H,M_H)
% 12.c) Analityczna postac odpowiedzi skokowej obiektu dyskretnego:
disp('Analityczna postac odpowiedzi skokowej obiektu dyskretnego:')
ht=iztrans(trans2symb(L_H,M_H))
% 12.d) Przebieg odpowiedzi skokowej obiektu dyskretnego:
figure;
step_d(H,59,'r');
title('Odpowiedz skokowa H(z)');
grid;
% 13) Charakterystyka amplitudowo fazowa:
figure;
nyquist(H);
title('Nyqiust ukladu dykretnego');
% ANALIZA ZAMKNIETEGO UKLADU DYSKRETNEGO:
disp(' ');
disp('ANALIZA UKLADU DYSKRETNEGO ZAMKNIETEGO:');
% 14) Sprawdzenie stabilnosci analitycznie (w sprawozdaniu) => kgr=?.
% 15) Wyznaczyc przebiegi linii pierwiastkowych:
figure;
rlocus(H);
title('Linie pierwiastkowe dla ukladu dyskretnego');
% Przyjmujemy kr=(0.5 - 0.75)kgr
kgrh=1.8; % kgr = 3.15; kgrh=0.5715*3.15 (okolo 1,8)
% 16) Wyznaczenie transmitancji glownej:
Ho=H*kgrh;
disp(' ');
disp('Transmitancja dyskretna Hz(z) ukladu zamknietego:');
Hz=minreal(Ho/(1+Ho))
disp(' ');
disp('Transmitancja dyskretna Hz(z) ukladu zamknietego (postac zera, bieguny i wzmocnienie):');
zpk(Hz)
% 17) Odpowiedz skokowa:
% 17.a) Transformata odpowiedzi skokowej zamknietego ukladu:
disp('Transformata odpowiedzi skokowej zamknietego ukladu dyskretnego Hz(z)');
Ht=minreal(Hz*skok_dyk)
% 17.b) Rozklad na ulamki proste:
disp(' ');
disp('Rozklad na ulamki proste:');
[L_Hz,M_Hz] = tfdata(Hz,'v'); % Odzyskanie zer, biegunow i wzmocnienia
[R_Hz,P_Hz,Reszta_Hz] = residue(L_Hz,M_Hz)
% 17.c) Analityczna postac czasowa odpowiedzi skokowej:
disp('Analityczna postac odpowiedzi skokowej dyskretnego ukladu zamknietego');
ht=iztrans(trans2symb(L_Hz,M_Hz))
%17.d) Przebieg odpowiedzi skokowej:
figure;
step_d(Hz,119,'r');
title('Odpowiedz skokowa dyskretnego ukladu zamknietego');
grid;
4. Przebieg działania programu:
Ad 1)
Wybierz warjant wprowadzenia transmitancji obiektu K(s):
1 - Wzorem od "s";
2 - Za pomoca wektorow wspolczynnikow licznika i mianownika;
3 - Za pomoca wektorow zer, biegunow i wzmocnienia;
4 - Za pomoca macierzy rownan stanu.
Wariant --> 1
K(s) = 3/(2*s+1)/(5*s+1)/(10*s+1)
Transfer function:
3
---------------------------
100 s^3 + 80 s^2 + 17 s + 1
Ad 2)
Przedstawienie K(s) w roznych formach zapisu.
Transmitancja obiektu w postaci wielomianowej:
Transfer function:
0.03
-----------------------------
s^3 + 0.8 s^2 + 0.17 s + 0.01
Transmitancja obiektu w postaci zera/bieguny/wzmocnienie:
Zero/pole/gain:
0.03
-----------------------
(s+0.5) (s+0.2) (s+0.1)
Opis w przestrzeni stanow:
A =
-0.8000 -0.1700 -0.0100
1.0000 0 0
0 1.0000 0
B =
1
0
0
C =
0 0 0.0300
D =
0
Ad 3.a)
Transformata odpowiedzi skokowej:
Transfer function:
0.03
---------------------------------
s^4 + 0.8 s^3 + 0.17 s^2 + 0.01 s
Ad 3.b)
Rozklad na ulamki proste transformaty odpowiedzi skokowej:
R_K =
-0.5000
5.0000
-7.5000
3.0000
P_K =
-0.5000
-0.2000
-0.1000
0
Reszta_K =
[]
Ad 3.c)
Analityczna postac czasowa odpowiedzi skokowej:
kt =
-15/2*exp(-1/10*t)+3+5*exp(-1/5*t)-1/2*exp(-1/2*t)
- 0 . 5
- 0 . 4 5
- 0 . 4
- 0 . 3 5
- 0 . 3
- 0 . 2 5
- 0 . 2
- 0 . 1 5
- 0 . 1
- 0 . 0 5
0
- 1
- 0 . 8
- 0 . 6
- 0 . 4
- 0 . 2
0
0 . 2
0 . 4
0 . 6
0 . 8
1
S y s t e m : K
P o le : - 0 . 2
D a m p in g : 1
O v e r s h o o t ( % ) : 0
F r e q u e n c y ( r a d / s e c ) : 0 . 2
P o le - Z e r o M a p
R e a l A x is
Im
a
g
in
a
ry
A
x
is
Ad 3.d)
Ad 4.a)
0
1 0
2 0
3 0
4 0
5 0
6 0
0
0 . 5
1
1 . 5
2
2 . 5
3
S y s t e m : K
T im e ( s e c ) : 2 4 . 1
A m p lit u d e : 2 . 3 7
P r z e b ie g c z a s o w y o d p o w ie d z i s k o k o w e j d la t r a n s m it a n c ji K ( s )
T im e ( s e c )
A
m
p
lit
u
d
e
- 1
- 0 . 5
0
0 . 5
1
1 . 5
2
2 . 5
3
3 . 5
- 2 . 5
- 2
- 1 . 5
- 1
- 0 . 5
0
0 . 5
1
1 . 5
2
2 . 5
S y s t e m : K
R e a l: 1 . 9 8
Im a g : - 1 . 7 7
F r e q u e n c y ( r a d / s e c ) : 0 . 0 4 4 8
N y q u is t D ia g r a m
R e a l A x is
Im
a
g
in
a
ry
A
x
is
Ad 4.b)
- 1 5 0
- 1 0 0
- 5 0
0
5 0
M
a
g
n
itu
d
e
(
d
B
)
S y s t e m : K
F r e q u e n c y ( r a d / s e c ) : 0 . 6 6 8
M a g n it u d e ( d B ) : - 2 2 . 4
1 0
- 3
1 0
- 2
1 0
- 1
1 0
0
1 0
1
1 0
2
- 2 7 0
- 1 8 0
- 9 0
0
P
h
a
s
e
(
d
e
g
)
S y s t e m : K
F r e q u e n c y ( r a d / s e c ) : 0 . 1 8 3
P h a s e ( d e g ) : - 1 2 4
B o d e D ia g r a m
F r e q u e n c y ( r a d / s e c )
1 0
- 3
1 0
- 2
1 0
- 1
1 0
0
1 0
1
1 0
2
- 1 4 0
- 1 2 0
- 1 0 0
- 8 0
- 6 0
- 4 0
- 2 0
0
2 0
M
a
g
n
itu
d
e
(
d
B
)
S y s t e m : K
F r e q u e n c y ( r a d / s e c ) : 1 . 5 1
M a g n it u d e ( d B ) : - 4 1 . 7
B o d e D ia g r a m
F r e q u e n c y ( r a d / s e c )
Ad 5)
K s=
k
sT
1
1 sT
2
1 sT
3
1
; gdzie : k =3, T
1
=
2, T
2
=
5, T
3
=
10
Równanie charakterystyczne:
sT
1
1 sT
2
1 sT
3
1kk
r
=
0
100s
3
80s
2
17s13k
r
=
0
Z kryterium Hurwitz ' a :
a
i
0 i
2
3
=
1260−300k
r
0
Dla k
r
63
15
=
4,53układ zamknięty jest stabilny
Ad 6)
- 1 . 6
- 1 . 4
- 1 . 2
- 1
- 0 . 8
- 0 . 6
- 0 . 4
- 0 . 2
0
0 . 2
0 . 4
- 1
- 0 . 8
- 0 . 6
- 0 . 4
- 0 . 2
0
0 . 2
0 . 4
0 . 6
0 . 8
1
S y s t e m : K
G a in : 0 . 9 7
P o le : - 0 . 0 8 5 1 + 0 . 2 3 4 i
D a m p in g : 0 . 3 4 2
O v e r s h o o t ( % ) : 3 1 . 9
F r e q u e n c y ( r a d / s e c ) : 0 . 2 4 9
R o o t L o c u s
R e a l A x is
Im
a
g
in
a
ry
A
x
is
Ad 7)
- 2
- 1
0
1
2
3
4
5
6
7
- 4
- 3
- 2
- 1
0
1
2
3
4
S y s t e m : K o
G a in M a r g in ( d B ) : 6 . 4 5
A t f r e q u e n c y ( r a d / s e c ) : 0 . 4 1 2
C lo s e d L o o p S t a b le ? Y e s
S y s t e m : K o
P h a s e M a r g in ( d e g ) : 2 5 . 1
D e la y M a r g in ( s e c ) : 1 . 5 4
A t f r e q u e n c y ( r a d / s e c ) : 0 . 2 8 4
C lo s e d L o o p S t a b le ? Y e s
N y q u is t D ia g r a m
R e a l A x is
Im
a
g
in
a
ry
A
x
is
1 0
- 3
1 0
- 2
1 0
- 1
1 0
0
1 0
1
1 0
2
- 2 7 0
- 1 8 0
- 9 0
0
P
h
a
s
e
(
d
e
g
)
S y s t e m : K o
P h a s e M a r g in ( d e g ) : 2 5 . 1
D e la y M a r g in ( s e c ) : 1 . 5 4
A t f r e q u e n c y ( r a d / s e c ) : 0 . 2 8 4
C lo s e d L o o p S t a b le ? Y e s
- 1 5 0
- 1 0 0
- 5 0
0
5 0
M
a
g
n
itu
d
e
(
d
B
)
S y s t e m : K o
G a in M a r g in ( d B ) : 6 . 4 5
A t f r e q u e n c y ( r a d / s e c ) : 0 . 4 1 2
C lo s e d L o o p S t a b le ? Y e s
B o d e D ia g r a m
F r e q u e n c y ( r a d / s e c )
Ad 8)
Transmitancja glowna G(s)=Y(s)/W(s)
Transfer function:
0.06
-----------------------------
s^3 + 0.8 s^2 + 0.17 s + 0.07
Transmitancja glowna G(s) (zera, bieguny, wzmocnienie)
Zero/pole/gain:
0.06
---------------------------
(s+0.7) (s^2 + 0.1s + 0.1)
Ad 9.a)
Transformata odpowiedzi skokowej:
Transfer function:
0.06
---------------------------------
s^4 + 0.8 s^3 + 0.17 s^2 + 0.07 s
Ad 9.b)
Rozklad na ulamki proste transformaty odpowiedzi skokowej:
R_G =
-0.1648
-0.3462 + 0.2402i
-0.3462 - 0.2402i
0.8571
P_G =
-0.7000
-0.0500 + 0.3122i
-0.0500 - 0.3122i
0
Reszta_G =
[]
Ad 9.c)
Analityczna postac czasowa odpowiedzi skokowej:
gt =
-9/13*exp(-1/20*t)*cos(1/20*39^(1/2)*t)-1/13*39^(1/2)*exp(1/20*t)*sin(1/20*39^(1/2)*t)
+6/7-15/91*exp(-7/10*t)
Ad 9.d)
Ad 10)
0
2 0
4 0
6 0
8 0
1 0 0
1 2 0
0
0 . 2
0 . 4
0 . 6
0 . 8
1
1 . 2
1 . 4
S y s t e m : G
T im e ( s e c ) : 3 4 . 3
A m p lit u d e : 0 . 9 7 5
S y s t e m : G
T im e ( s e c ) : 1 1 0
A m p lit u d e : 0 . 8 6
P r z e b ie g c z a s o w y o d p o w ie d z i s k o k o w e j d la t r a n s m it a n c ji G ( s )
T im e ( s e c )
A
m
p
lit
u
d
e
1 0
- 2
1 0
- 1
1 0
0
1 0
1
1 0
2
0
0 . 5
1
1 . 5
2
2 . 5
3
M
a
g
n
itu
d
e
(
a
b
s
)
S y s t e m : G
F r e q u e n c y ( r a d / s e c ) : 0 . 3 0 8
M a g n it u d e ( a b s ) : 2 . 5 1
W s k a z n ik n a d a z a n ia
F r e q u e n c y ( r a d / s e c )
Ad 11)
Transmitancja dyskretna H(z):
Transfer function:
0.004108 z^2 + 0.0135 z + 0.002754
----------------------------------
z^3 - 2.33 z^2 + 1.786 z - 0.4493
Sampling time: 1
Transmitancja dyskretna H(z) (postac zera, bieguny i wzmocnienie):
Zero/pole/gain:
0.0041078 (z+3.068) (z+0.2185)
--------------------------------
(z-0.9048) (z-0.8187) (z-0.6065)
Sampling time: 1
Ad 12.a)
Transformata odpowiedzi skokowej:
Transfer function:
0.004108 z^3 + 0.0135 z^2 + 0.002754 z
---------------------------------------------
z^4 - 3.33 z^3 + 4.116 z^2 - 2.236 z + 0.4493
Sampling time: 1
Ad 12.b)
Rozklad na ulamki proste:
R_H =
0.7137
-0.9063
0.1967
1 0
- 3
1 0
- 2
1 0
- 1
1 0
0
1 0
1
0
0 . 5
1
1 . 5
2
2 . 5
3
3 . 5
M
a
g
n
itu
d
e
(
a
b
s
)
S y s t e m : G e
F r e q u e n c y ( r a d / s e c ) : 0 . 3 2 9
M a g n it u d e ( a b s ) : 3 . 0 2
W s k a z n ik t lu m ie n ia z a k lo c e n
F r e q u e n c y ( r a d / s e c )
P_H =
0.9048
0.8187
0.6065
Reszta_H =
[]
Ad 12.c)
Analityczna postac odpowiedzi skokowej obiektu dyskretnego:
ht =
-3174933633826237/518041025373462272*charfcn[0](n)+
1/391092907837634960046535687804675418837449582228449491593216*sum((-
46903090275486214720558195044020232920416105961912419253662214*_alpha+1694352581552283690
2745433907109411296681712888436646306011925*_alpha^2+314819930387211746249875816469033182
96374531615863445678718976)*(1/_alpha)^n/_alpha,_alpha = RootOf(-
4503599627370496+10493832226246988*_Z-8044397931533758*_Z^2+2023597755365087*_Z^3))
Ad 12.d)
0
1 0
2 0
3 0
4 0
5 0
6 0
0
0 . 5
1
1 . 5
2
2 . 5
3
C z a s [ s ]
A
m
p
lit
u
d
a
O d p o w i e d z s k o k o w a H ( z )
Ad 13)
Ad 14)
Równanie charakterystyczne:
z
3
0,004108 k
r
−
2,33 z
2
0,0135 k
r
1,786 z0,002754 k
r
−
0,4493=0
Po podstawieniu z=
w1
w−1
i redukcji :
0,0204 k
r
0,0067 w
3
−
0,0177 k
r
0,2319 w
2
0,0177 k
r
2,1961 w0,0066 k
r
5,5653=0
Z kryterium Hurwitz ' a :
a
i
0 ⇒ k
r
13,1017
2
3
0 ⇒ k
r
3,15 i k
r
0 z załorzeń
k
gr
=
3,15
- 1
- 0 . 5
0
0 . 5
1
1 . 5
2
2 . 5
3
3 . 5
- 2 . 5
- 2
- 1 . 5
- 1
- 0 . 5
0
0 . 5
1
1 . 5
2
2 . 5
S y s t e m : H
R e a l: 0 . 2 9 9
Im a g : - 1 . 9 3
F r e q u e n c y ( r a d / s e c ) : 0 . 0 9 3 4
S y s t e m : H
R e a l: - 0 . 1 1 6
Im a g : 0 . 0 6 7 7
F r e q u e n c y ( r a d / s e c ) : 0 . 5 2 8
N y q iu s t u k la d u d y k r e t n e g o
R e a l A x is
Im
a
g
in
a
ry
A
x
is
Ad 15)
Ad 16)
Transmitancja dyskretna Hz(z) ukladu zamknietego:
Transfer function:
0.007394 z^2 + 0.0243 z + 0.004957
----------------------------------
z^3 - 2.323 z^2 + 1.811 z - 0.4444
Sampling time: 1
Transmitancja dyskretna Hz(z) ukladu zamknietego (postac zera, bieguny i wzmocnienie):
Zero/pole/gain:
0.007394 (z+3.068) (z+0.2185)
-----------------------------------
(z-0.4796) (z^2 - 1.843z + 0.9266)
Sampling time: 1
Ad 17.a)
Transformata odpowiedzi skokowej zamknietego ukladu dyskretnego Hz(z)
Transfer function:
0.007394 z^3 + 0.0243 z^2 + 0.004957 z
----------------------------------------------
z^4 - 3.323 z^3 + 4.133 z^2 - 2.255 z + 0.4444
Sampling time: 1
- 8
- 7
- 6
- 5
- 4
- 3
- 2
- 1
0
1
- 5
- 4
- 3
- 2
- 1
0
1
2
3
4
5
S y s t e m : H
G a in : 7 0 4
P o le : - 0 . 2 1 6 + 3 . 3 4 i
D a m p in g : - 0 . 5 9 4
O v e r s h o o t ( % ) : 1 . 0 2 e + 0 0 3
F r e q u e n c y ( r a d / s e c ) : 2 . 0 3
S y s t e m : H
G a in : 3 . 1 4
P o le : 0 . 9 3 9 - 0 . 3 5 i
D a m p in g : - 0 . 0 0 4 8 2
O v e r s h o o t ( % ) : 1 0 2
F r e q u e n c y ( r a d / s e c ) : 0 . 3 5 7
L in ie p ie r w ia s t k o w e d la u k la d u d y s k r e t n e g o
R e a l A x is
Im
a
g
in
a
ry
A
x
is
Ad 17.b)
Rozklad na ulamki proste:
R_Hz =
-0.0299 - 0.1157i
-0.0299 + 0.1157i
0.0672
P_Hz =
0.9216 + 0.2781i
0.9216 - 0.2781i
0.4796
Reszta_Hz =
[]
Ad 17.c)
Analityczna postac odpowiedzi skokowej dyskretnego ukladu zamknietego
ht =
-1904960180295741/170775381610892480*charfcn[0](n)
+1/605396622629295385021015699796674976701477990788457643132735488*sum((10361595379989338
4048821141781746991129842692087019179556877626*_alpha+35326858212241439966106018820953142
850006042742930330928823271*_alpha^2-
192890581574860015329016099376081399639234738629595928335482880)*(1/_alpha)^n/_alpha,_alp
ha = RootOf(-18014398509481984+41842129713279248*_Z-
32615357195485616*_Z^2+8005096013010585*_Z^3))
Ad 17.d)
0
2 0
4 0
6 0
8 0
1 0 0
1 2 0
0
0 . 2
0 . 4
0 . 6
0 . 8
1
1 . 2
1 . 4
C z a s [ s ]
A
m
p
lit
u
d
a
O d p o w i e d z s k o k o w a d y s k r e t n e g o u k l a d u z a m k n i e t e g o
5. Uwagi i wnioski:
●
Tworzenie wykresów zawierających większą liczbę przebiegów:
○
Poprzez funkcję “hold on”;
○
Poprzez funkcję “plot()” - dodanie kolejnych parametrow.
●
Jak widać na powiększeniach charakterystyk amplitudowo-fazowych dla układu ciągłego
przebieg przechodzi przez 3 ćwiardki natomiast dla układu dyskretnego przez 4 ćwiardki.
●
Na uzyskane wykresy można dowolnie nanosić interesujące nas punkty i odczytywać ich
parametry.
●
Niektóre spośród wywoływanych funkcji (np: “nyquist()” czy “bode()”) umożliwiają
wywołanie na wykresach wyrysowanych dodatkowych opcji, takich jak naprzykład
wyznaczanie zapasu fazy. Opcje te wykożystywano podczas wykonywania sprawozdania.
●
Dla dobranych parametrów (jak w sprawozdaniu), wszystkie symulowane obiekty były
stabilne co można bezpośrednio wywnioskować z przebiegów czasowych dla wymuszenia
skokowego.