WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA PRZEDMIOT : : LABORATORIUM PODSTAW AUTOMATYKI 2. REPREZENTACJA UKŁADÓW LTI W MATLABIE W Matlabie istnieją trzy podstawowe sposoby reprezentacji układów LTI (ang. Linear Time-Invariant): za pomocą transmitancji (ang. transfer function), za pomocą zer, biegunów i wzmocnienia układu (ang. zero/pole/gain) w przestrzeni stanów (ang. state space) Na dwiczeniach należy wykonad w Matlabie wszystkie poniższe przykłady obrazujące zastosowanie różnych metod reprezentacji i konwersji liniowych układów dynamicznych. 1. Transmitancja Dla obiektu o postaci: Transmitancja operatorowa (funkcja przejścia) to stosunek transformaty Laplace'a sygnału wyjściowego Y(s) do transformaty Laplace'a sygnału wejściowego U(s) przy zerowych warunkach początkowych: Transmitancja w postaci wielomianowej jest dana wzorem: Przykładowo, prosty model zawieszenia samochodowego można przedstawid za pomocą układu inercyjnego II rzędu. Taki model składa się z masy osadzonej na sprężynie i tłumiku. Pod wpływem
siły zewnętrznej masa może się przemieszczad w osi pionowej. Schemat układu przedstawia poniższy rysunek. Układ można opisad równaniem różniczkowym II rzędu: Aby policzyd transmitancję, obie strony równania należy poddad transformacie Laplace'a (zakładamy zerowe warunki początkowe): Po uporządkowaniu: Zakładając, że F(s) jest wejściem, a X(s) wyjściem układu, transmitancja jest dana wzorem: Przyjmij następujące parametry układu: M = 1000; F = 1000; α = 500; c = 400; Aby zapisad tą transmitancję w Matlabie należy podad współczynniki licznika i mianownika, zaczynając od najwyższej potęgi s: licz = [0 0 1]; mian = [1000 500 400]; Licznik i mianownik transmitancji w pełni charakteryzują obiekt, można ich używad jako argumenty np. funkcji step (odpowiedź skokowa) i impulse (odpowiedź impulsowa):
step(licz,mian); impulse(licz,mian); Innym sposobem jest zastosowanie funkcji tf: obiekt = tf(licz,mian) gdzie obiekt jest strukturą przechowującą wszystkie informacje o obiekcie. Aby wyświetlid pola tej struktury należy zastosowad polecenie get(obiekt). obiekt można stosowad podobnie jak licznik i mianownik transmitancji, np: step(obiekt); impulse(obiekt); W wersji sfaktoryzowanej transmitancję można wyrazid jako: gdzie: z1...zn zera, p1...pm bieguny, k wzmocnienie. W celu znalezienia zer (pierwiastków licznika transmitancji), biegunów (pierwiastków mianownika transmitancji) oraz wzmocnienia układu, można zastosowad funkcję tf2zp (ang. transfer function to zero-pole) konwersji transmitancji do reprezentacji zera/bieguny/wzmocnienie: [z, p, k] = tf2zp(licz, mian); Wektor z zawiera zera układu, wektor p bieguny, k wzmocnienie. Zera i bieguny można przedstawid graficznie na płaszczyźnie zespolonej za pomocą funkcji pzmap: pzmap(p,z); albo: pzmap(licz,mian); albo: pzmap(obiekt); 1.1. Współczynnik tłumienia Transmitancję można przedstawid w postaci standardowej (wyraz wolny mianownika jest jedynką): Porównując ten wzór ze wzorem transmitancji dla układu inercyjnego II rzędu w postaci standardowej:
gdzie: K wzmocnienie, T stała czasowa, ξ - współczynnik tłumienia można wyliczyd, że w naszym przypadku: Współczynnik tłumienia ξokreśla charakter układu: dla ξ < 1 układ jest oscylacyjny dla ξ 1 układ jest tłumiony Zadanie 1 a) Odpowiedz na pytania: - czy bieguny są rzeczywiste? - czy układ jest stabilny? - czy układ jest nieminimalnofazowy? (czyli czy posiada zera w prawej półpłaszczyźnie s) b) Za pomocą funkcji tf2zp oblicz zera, bieguny i wzmocnienie transmitancji i przedstaw ją w postaci sfaktoryzowanej. c) Dobierz tak parametry układu aby zaobserwowad odpowiedzi układu na skok jednostkowy w przypadku oscylacyjnym i tłumionym. 2. Zera, bieguny, wzmocnienie Dany jest układ o transmitancji: Jak widad jest jedno zero z = 1/3 oraz trzy bieguny p1 = 0, p2 = 1, p3 = 3. Wzmocnienie wynosi k = 3. Licznik i mianownik transmitancji w postaci wielomianowej łatwo jest znaleźd stosując funkcję zp2tf (ang. zero-pole to transfer function) konwersji reprezentacji zera/bieguny/wzmocnienie do transmitancji: [licz,mian] = zp2tf(z, p, k); czyli: [licz,mian] = zp2tf(-1/3,[0-1 -3],3);
Aby wyświetlid transmitancję należy wpisad: printsys(licz, mian); Innym sposobem jest zastosowanie funkcji zpk: obiekt = zpk(-1/3,[0-1 -3],3) Zadanie 2. Za pomocą funkcji zpk zapisz poniższą transmitancję: Uwaga: przed użyciem funkcji zpk transmitancję należy przekształcid tak, aby współczynnikiem przy każdym s była jedynka. 3. Przestrzeo stanów Obiekt w tzw. przestrzeni stanów jest opisany za pomocą układu równao: { gdzie u jest wejściem, y wyjściem, x stanem układu. Współrzędne stanu wybiera się zazwyczaj jako wyjścia z integratorów (bloków całkujących). W naszym przypadku (modelu zawieszenia) możemy wybrad jako zmienne stanu przemieszczenie x oraz prędkośd dx/dt:, Wobec tego, pochodne zmiennych stanu wynoszą: zmienne stanu { co można zapisad w postaci macierzowej dla równania stanu: [ ] [ ] * + [ ]
i dla równania wyjścia: [ ] * + Macierze A, B, C, D wynoszą więc: [ ] [ ] [ ] Aby zamienid reprezentację zera/bieguny/wzmocnienie lub transmitancję na reprezentację w przestrzeni stanów, należy zastosowad funkcję: [A,B,C,D] = zp2ss(z,p,k) % zero-pole to state space lub: [A,B,C,D] = tf2ss(licz,mian) % transfer function to state space Macierze A,B,C,D w pełni charakteryzują obiekt, można ich używad jako argumenty np. funkcji step i impulse: step(a,b,c,d); impulse(a,b,c,d); Aby obliczyd wzmocnienie w stanie ustalonym można zastosowad funkcję dcgain: k = dcgain(a,b,c,d); Zadanie 3. Dokonaj konwersji transmitancji modelu zawieszenia do przestrzeni stanów obiema metodami tj. za pomocą funkcji zp2ss oraz tf2ss i porównaj wyniki (czy macierze A,B,C,D są takie same? Czy odpowiedzi skokowe są takie same?). 4. Dokładnośd obliczeo Funkcje MATLABa dają zazwyczaj wiarygodne wyniki. Należy jednak uważad w przypadku obliczeo zer i biegunów wielokrotnych oraz w przypadku układów wysokiego rzędu. Mogą pojawid się wtedy błędy numeryczne. Jako przykład weźmy układ bez zer i z 10 biegunami wielokrotnymi w s = -1, oraz ze wzmocnieniem k = 1: z = []; p = [-1-1 -1-1 -1-1 -1-1 -1-1]; k = 1; przejdź do transmitancji: [licz, mian] = zp2tf(z, p, k); przejdź z powrotem do reprezentacji z/p/k:
[z1, p1, k1] = tf2zp(licz, mian); Obliczony wektor biegunów p1 powinien byd taki sam jak wektor zadany p, ale nie jest. Jaka jest różnica? 5. Wpływ zer i biegunów na kształt odpowiedzi skokowej Ten przykład pokazuje wpływ położenia biegunów układu II rzędu na jego odpowiedź skokową. Poniższy kod generuje trójwymiarowy wykres 12 odpowiedzi skokowych dla układu z biegunami położonymi w s = -n/4 ±3i gdzie n zmienia się od 1 do 12. t=0:0.05:5; dl=length(t); LiczbaWykresow=12; y=zeros(dl,liczbawykresow); n=1; while(n<=liczbawykresow) [licz,mian]=zp2tf([],[-n/4+3*i -n/4-3*i], (n/4)^2+9); [y(1:dl,n),x,tt]=step(licz,mian,t); n=n+1; end mesh(t,1:12,y'); Częśd urojona biegunów jest stałą i wynosi ±3i, natomiast częśd rzeczywista zmienia się od 0.25 do 3 z krokiem 0.25. Ostatni argument funkcji zp2tf (wzmocnienie) zapewnia normalizację stanu ustalonego do 1 dla wszystkich odpowiedzi (dlaczego?). Jak widad na rysunku, w miarę jak bieguny przesuwają się w lewo, układ staje się coraz mniej oscylacyjny (wzrasta współczynnik tłumienia) i układ staje się wolniejszy (wzrasta czas narastania). 6. Łączenie modeli 6.1. Łączenie szeregowe Dwa obiekty sys1 i sys2, połączone szeregowo, można połączyd w jeden obiekt sys za pomocą funkcji series: sys = series(sys1,sys2) Transmitancja obiektu sys jest nazywana transmitancją zastępczą dla całego układu.
6.2. Łączenie równoległe Dwa obiekty sys1 i sys2, połączone równolegle, można połączyd w jeden obiekt sys za pomocą funkcji parallel: sys = parallel(sys1,sys2) 6.3. Sprzężenie zwrotne Dwa obiekty sys1 i sys2, połączone za pomocą ujemnego sprzężenia zwrotnego, można sprowadzid do jednego obiektu sys za pomocą funkcji feedback: sys = feedback(sys1,sys2) W przypadku dodatniego sprzężenia zwrotnego należy zastosowad: sys = feedback(sys1,sys2,+1) Zadanie 6. Oblicz transmitancję zastępczą Gsys dla połączenia szeregowego, równoległego i ujemnego sprzężenia zwrotnego, zakładając, że transmitancje obiektów sys1 i sys2 są dane jako: 7. Sprawozdanie W sprawozdaniu przedstaw krótko podstawowe sposoby reprezentacji układów LTI w Matlabie. Podaj rozwiązania wszystkich zadao wraz z wynikami i kodem źródłowym.