Ćwiczenie 3.

 

Postacie modeli układów dynamicznych w Matlabie

 

1.        OPIS W PRZESTRZENI STANU

Cechą charakterystyczną fizycznych układów dynamicznych jest zdolność do akumulowania energii. Oznacza to, że jeżeli na układ dynamiczny działa sygnał wejściowy u(t), to znajomość tego sygnału w chwili t=t0 nie wystarcza do określenia sygnału wyjściowego y(t0). Na wartość tego sygnału w chwili t0 wpływa bowiem również przebieg sygnału u(t) w przeszłości, dla t< t0, decydujący o nagromadzonej w układzie energii. Aby odciąć się od przeszłości, wprowadza się pojęcie stanu. Stan jest to minimalna liczba danych charakteryzująca przeszłość układu dynamicznego i umożliwiająca jednocześnie określenie jego zachowania się w przyszłości (pod warunkiem znajomości przyszłych sygnałów wejściowych). Dla przykładu załóżmy, że modelem matematycznym układu dynamicznego jest równanie różniczkowe zwyczajne rzędu n-tego

Znajomość prawej strony równania modelującej sygnał wejściowy u(t), oraz warunków początkowych y(t0),...,y(n-1(t0) w liczbie równej rzędowi równania, określa jednocześnie rozwiązanie, czyli znajomość sygnału wyjściowy układu y(t). Można więc stwierdzić, że warunki początkowe określają stan układu w chwili t0.

Każde równanie różniczkowe rzędu n-tego można sprowadzić do postaci normalnej, czyli przedstawić w postaci układu n równań różniczkowych rzędu pierwszego  

przy czym xi=xi(t), ui=ui(t).

 

Znajomość zmiennych xi(i=1,2,...n) w chwili t0 oraz sygnałów ui(t)(i=1,2,...,m) dla t≥ t0 umożliwia określenie zachowania się układu dla wszystkich chwil t≥ t0. Zmienne xi określają więc w każdej chwili stan układu i stąd są nazwane współrzędnymi stanu.

Zapis równań można uczynić bardziej przejrzystym stosując symbolikę wektorową

przy czym:      x=(x1, x2,...,xn)T ; u=(u1, u2,...,um)T; f=(f1, f2,...,fn)T;

n-wymiar wektora stanu

m- wymiar wektora sygnałów sterujących.

Wektor x, którego elementami są współrzędne stanu, nazywa się wektorem stanu, a przestrzeń n-wymiarową o współrzędnych xi(i=1,2,...,n) nosi nazwę przestrzeni stanu, a powyższe równanie nosi nazwę równanie stanu. Zmiany wektora stanu z biegiem czasu tworzą w przestrzeni stanu krzywą nazwaną trajektorią stanu.

Sygnały y=y(t), które zjawiają się na wyjściu układu, są pewnymi funkcjami współrzędnych stanu, mogą być również zależne bezpośrednio (nie przez współrzędne stanu) od sygnałów wejściowych u. Równanie

y=fy(x,u)

nazywa się równaniem wyjścia układu dynamicznego. Zauważmy, że są to równania algebraiczne, bowiem cały opis dynamiki układu jest zawarty w równaniu stanu .

W ten sposób pełny opis układu obejmuje równania stanu i wyjścia, co w notacji macierzowej ma następującą postać:.

Równaniom tym odpowiada schemat:

Rys.  Schemat liniowego układu dynamicznego opisanego w przestrzeni stanu (ang. state     space - ss)

A - macierz układu

B - macierz wejścia

C - macierz wyjścia

D - macierz tranzycyjna (bezpośredniego sterowania)

Przykład:

Weźmy pod uwagę oscylator liniowy z tłumieniem (obciążnik na sprężynie) opisany następującym równaniem różniczkowym:

Przyjmując następujące współrzędne stanu:

2.        TRANSMITANCJA

Załóżmy, że zależność pomiędzy sygnałem wejściowym i wyjściowym można opisać liniowym równaniem różniczkowym rzędu n

Zamiast bezpośredniego, analitycznego rozwiązywania tego równania, rozwiązanie można osiągnąć na drodze przekształceń algebraicznych przetransformowanego układu równań. Stosuje się do tego celu transformację Laplace'a

Otrzymuje się transmitancje, które wyrażają stosunek sygnału wyjściowego Y(s) do wejściowego X(s) ,przy zerowych warunkach początkowych:

    przy czym: n ≥ m

Przykład:

Weźmy pod uwagę oscylator liniowy z tłumieniem (obciążnik na sprężynie) opisany następującym równaniem różniczkowym:

Poddając obie strony r-nia transformacie Laplace’a otrzymujemy:

m s2 Y(s) + α s Y(s) + k Y(s) = U(s)

Powyższa postać transmitancji nosi nazwę transmitancji wielomianowej (ang. transfer function - tf)                                                        

W Matlabie model takiej transmitancji wprowadza się podając wektory współczynników licznika (ang. numerator):

L = [bm  bm-1 … b0]

oraz mianownika (ang. denominator)

M = [an  an-1 … a0]

w malejącej potędze potędze s.

Transmitancję można również przedstawić w postaci zero-biegunowa  (ang. zero pole  - zp)

gdzie: z1 ... zn - zera transmitancji, [z1,z2,...,zm]=roots(L) ,

          p1 ... pn - bieguny (ang. poles) transmitancji, [p1,p2,...,pn]=roots(M),

          k  - współczynnik wzmocnienia

Możliwa jest konwersja jednej postaci w drugą. Służą do tego polecenia:

[z,p,k]=tf2zp(l,m)  - zmienia postać wielomianową na zero-biegunową transmitancji

[l,m]=zp2tf(z,p,k)  - zmienia postać zero-biegunową na wielomianową transmitancji

[l,m]=ss2tf(A,B,C,D)  – zmienia opis w przestrzeni stanu na transmitancję

[A2,B2,C2,D2]=tf2ss(l,m)  - zmienia transmitancję na opis w przestrzeni stanu

Przykład:

Jeżeli , to

» l=[2 4]                      <Enter>

» m = [3  0  4  5]        <Enter>

 

Ekran MATLABA powinien wyglądać tak:

» l=[2 4]

l =

     2     4

» m = [3  0  4  5]

m =

     3     0     4     5


 

W przestrzeni roboczej MATLABA istnieją teraz zmienne l (licznik transmitancji) i m (mianownik).

Wprowadź polecenie printsys(l,m) , otrzymasz

 

num/den =

 

      2 s + 4

   ------------------

       3 s^3 + 4 s + 5


 

W Matlabie istnieje również możliwość generacji standardowych modeli obiektów dynamicznych:

-         obiekt oscylacyjny  - ord2

-         opóźnienie transportowe: pade(T0,n) ,

gdzie: n - jest rzędem wielomianu, którym jest to opóźnienie przybliżone.

[l,m]=pade(T0,n)

[A,B,C,D]=pade(T0,n)

-         model generowany losowo : rmodel(n) ; gdzie: n - jest to rząd transmitancji.

 

3.        SYMULACJA Z UŻYCIEM FUNKCJI CONTROL TOOLBOX

 

Charakterystyki czasowe:

·        Skokowa - polecenie step

step(l,m)  lub  step(A,B,C,D)

 

·        Impulsowa - polecenie impulse

impulse(l,m)  lub  impulse(A,B,C,D)

·      Dowolna - polecenie lsim

y=lsim(l,m,u,t)

y=lsim(A,B,C,D,u,t,x0)

gdzie: u(t) – wektor wartości sygnału wejściowego dla kolejnych chwil t

           x0 – wektor wartości początkowe

 

Charakterystyki częstotliwościowe:

·        Bode’go - polecenie bode

bode(l,m)

·        Nyquist’a - polecenie nyquist

nyquist(l,m)