|
AKADEMIA GÓRNICZO - HUTNICZA W KRAKOWIE |
Grupa B
Rafał Szemraj |
||||
EAIiE |
2001/2002
|
Rok II Semestr IV |
Elektrotechnika |
Rok B Grupa 8 |
||
Temat: Reprezentacja stacjonarnych układów liniowych w przestrzeni stanu. |
||||||
Data wykonania: 2002-04-27 |
Data zaliczenia: |
Ocena: |
Wstęp teoretyczny:
Reprezentacja układu w przestrzeni stanu jest operacją, która pozwala na badanie zjawisk zachodzących w czasie działania danego obiektu. Możliwość „monitorowania” zachodzących procesów umożliwia ocenę obserwowalności i sterowalności danego obiektu.
Stan układu to najmniejsza liczba wielkości spośród wszystkich opisujących dany układ umożliwiająca w jednoznaczny sposób określić dynamikę danego układu. Zbiór tych wielkości, nazywany często wektorem stanu (w macierzowym formalizmie zapisu równań stanu) jest zbiorem wielkości liniowo niezależnych. Określenie wartości zmiennych stanu w chwili t=0 i znajomość sygnałów sterujących obiektem u(t) pozwala na określenie stanu układu dla t>0.
Stan układu określany jest za pomocą dwóch równań:
Równanie stanu jest równaniem różniczkowym pierwszego rzędu, które uzależnia stan układu (wartości zmiennych stanu) w zależności od stanu układu w chwili t=0, sygnałów wejściowych (sterowania i zakłóceń) oraz od zmiennych parametrów samego układu. Gdy parametry układu pozostają stałe w czasie mówimy o układach stacjonarnych. W przypadku gdy opisywany obiekt jest układem n-tego rzędu, to równanie stanu będzie układem n równań różniczkowych pierwszego rzędu i każde z tych równań będzie charakteryzować jedną z n zmiennych stanu danego układu. Ogólnie postać równania stanu można zapisać jako:
Równanie wyjścia, którego postać zależy od doboru wielkości traktowanych jako sygnały wyjściowe jest opisem zależności sygnałów wyjściowych od sygnałów wejścia i zmiennych stanu. Równanie wyjść:
Równania stanu i wyjścia, opisujące stan układu, można zapisać w następujący sposób:
W powyższym zapisie:
i-ta zmienna stanu układu n-tego rzędu.
m. - ilość wejść układu.
k - ilość wyjść układu.
Ze względu na możliwą dużą liczbę wyjść i wejść układu, jak również liczbę zmiennych stanu, przyjęto ogólnie zapis tych równań w postaci macierzowej:
czyli
x - wektor stanu
u - wektor wejść
y - wektor wyjść
A,B,C,D - macierze parametrów układu (gdy układ jest stacjonarny parametry te nie zależą od czasu).
Liczba współrzędnych wektora stanu x nazywana jest wymiarem stanu ukladu. Przestrzeń n - wymiarowa (gdzie n jest liczbą współrzędnych wektora x), w której przedstawiamy zmiany położenia wektora x w czasie nazywamy przestrzenią stanu. Tor jaki zakreśla w przestrzeni stanu wektor stanu zmieniający się w czasie nazywamy trajektorią stanu.
Jak wspomniałem na początku opis układu w przestrzeni stanu znacznie ułatwia określenie właściwości obiektu pod względem obserwowalności i sterowalności.
Zgodnie z definicją:
„Układ nazywamy całkowicie sterowalnym (sterowalnym) jeżeli stosując ograniczone przedziałami ciągłe sterowanie można go przeprowadzić w skończonym czasie z dowolnego początkowego stanu x0 do końcowego stanu xk .(dobiera się xk = 0).”
Twierdzenie mówi natomiast że układ liniowy stacjonarny równaniami stanu jest sterowalny wtedy i tylko wtedy gdy:
gdzie A i B to macierze równania stanu a n - rząd macierzy A, r - rząd macierzy B.
Definicja obserwowalności:
„Proces będziemy nazywać całkowicie obserwowalnym jeżeli istnieje taka skończona chwila tk , że na podstawie znajomości sterowania (od t0 do tk) i odpowiedzi y(t0,tk] można wyznaczyć stan początkowy x0(t0).”
Twierdzenie: Układ liniowy stacjonarny opisany równaniami stanu jest obserwowlany wtedy i tylko wtedy gdy:
gdzie A i C są macierzami równań stanu n- rzędem macierzy A a r - rzędem macierzy C.
Zadanie do ćwiczenia:
Dana transmitancja
Wyznaczyć:
Opis obiektu w przestrzeni stanu w postaci fazowych zmiennych stanu. Przedstawić odpowiednie równania w postaci macierzowej.
Zgodnie z równaniem transmitancji:
gdzie
Stąd
. Otrzymujemy następujące równanie różniczkowe 3-go rzędu:
podstawiając następujące zmienne fazowe
otrzymujemy następujący układ trzech równań różniczkowych pierwszego rzędu:
Ponieważ
to mamy następujące równanie wyjścia:
Ogólnie równania stanu w postaci macierzowej mają następującą postać:
Mamy
,
,
,
Narysuj schemat blokowy obiektu na podstawie równania stanu i równania wyjścia.
Przeprowadzić analizę zadanego obiektu w programie MATLAB.
clc, clear
% ----------------------------------------------
% Deklaracja macierzy Af,Bf,Cf,Df
%-----------------------------------------------
Af=[0 1 0;0 0 1;-12 -16.55 -7.2];
Bf=[0; 0; 1];
Cf=[1 2 0];
Df=0;
%-----------------------------------------------
% Deklaracja postaci transmitancyjnej
%-----------------------------------------------
L=[0 0 2 1];
M=[1 7.2 16.55 12];
printsys(L,M), pause
%-----------------------------------------------
% Konwersja postaci transmitancyjnej na postać
% rownan stanu
%-----------------------------------------------
[As,Bs,Cs,Ds]=tf2ss(L,M), pause
% Macierze zwracane przez matlaba mają takie same wartości co te wyliczone
% wcześniej. Róznica polega na tym, że matlab przyjmuje inny wektor stanu:
% Jeżeli xs - wektor matlaba, a xf - nasz wektor to: x1f == x3s
% x2f == x2s
% x3f == x1s
[wekAf,warAf]=eig(Af), pause
[wekAs,warAs]=eig(As), pause
%-------------------------------------------------
% sprawdzenie definicji wektora i wartości własnej
% A*wekAf=warAf*wekAf (dla każdego wektora i jego
% wartości własnej).
%-------------------------------------------------
for i=1:3
Lewa=Af*wekAf(1:3,i)
Prawa=warAf(i,i)*wekAf(1:3,i), pause
end
%--------------------------------------------------
% Transformacja SS ==> TF i porównanie uzyskanej
% transmitancji z transmitancją wyjściową
%--------------------------------------------------
[Ls,Ms]=ss2tf(As,Bs,Cs,Ds)
disp('G(s) wyliczone')
printsys(L,M)
disp('G(s) wyjściowe') %Bardzo mały (~10^15) współczynnik przy s^2
%w liczniku - wynik operacji komputerowych
printsys(Ls,Ms), pause
%---------------------------------------------------
% Porównanie odpowiedzi na wymuszenie skokowe układu
% opisanego transmitancją i równaniami stanu.
%---------------------------------------------------
t=[0:0.01:10];
y=step(L,M,t);
[yf,xf]=step(Af,Bf,Cf,Df,1,t);
figure(1)
plot(t,y,'r'), grid, pause
plot(t,yf,'g'), grid % Wykresy pokrywają się
title('We - skok, WyTF == WySS')
%----------------------------------------------------
% Obserwacja dynamiki układu - wykres zmiennych stanu
%-----------------------------------------------------
figure(2)
plot(t,xf(:,1),'r',t,xf(:,2),'g',t,xf(:,3),'b'), grid, pause
title('Zmienne stanu x1, x2, x3 ') %x1 - czerwony, x2 - zielony, x3 - niebieski
%---------------------------------------------------
% Sprawdzenie sterowalności układu zgodnie z twier -
% dzeniem zawartym w sprawozdaniu tj. sprawdzenie
% czy rzadG=[B,AB,A*AB]= rzadAf
%---------------------------------------------------
rzadAf=rank(Af)
rzadBf=rank(Bf)
% rzadAf-rzadBf = 1 a wiec macierz G ma postac:
disp('G=[Bf,Af*Bf,Af*Af*Bf]')
G=[Bf,Af*Bf,Af*Af*Bf]
rzadG=rank(G)
if rzadAf == rzadG disp('Uklad sterowalny')
else disp('Uklad nie jest sterowalny')
end
pause
%----------------------------------------------------
% Sprawdzenie obserwowalności układu na podstawie
% twierdzenia ze sprawozdania.
%----------------------------------------------------
rzadCf=rank(Cf)
% rzadAf-rzadCf = 1 wiec macierz H ma postać
disp('H=[Cf;Cf*Af;Cf*Af*Af]')
H=[Cf;Cf*Af;Cf*Af*Af]
rzadH=rank(H)
if rzadAf == rzadH disp('Układ jest obserwowlany')
else disp('układ nie jest obserwowalny')
end
end
Wykresy odpowiedzi układu na wymuszenie skokowe (powyżej) i wykresy przebiegu zmiennych stanu.
Wnioski:
Układ posiada pierwiastki leżące w lewej półpłaszczyźnie płaszczyzny Gaussa jest więc układem stabilnym co potwierdza wykres odpowiedzi układu na wymuszenie skokowe.
Użyta w programie funkcja eig prawidłowo wylicza wartości i wektory własne macierzy, co zostało sprawdzone dla macierzy Af.
Na podstawie przytoczonych kryteriów układ został oceniony jako całkowicie sterowalny i obserwowalny.
Funkcja tf2ss poprawnie wylicza macierze równania stanu i wyjścia. W tym ćwiczeniu macierze były „odwrócone” co było spowodowane przyjęciem przez MATLAB-a innego ułożenia zmiennych stanu w wektorze stanu.
int
We
U
Wy
Y
+
+
+
+
C
B
A
D
x
x'