1 Dyskretne systemy dynamiczne
Transkrypt
1 Dyskretne systemy dynamiczne
1 Dyskretne systemy dynamiczne Celem ćwiczenia jest zapoznanie się z istotnymi własnościami systemów dyskretnych w czasie oraz konsekwencjami wynikającymi z dyskretnego podejścia do systemów dynamicznych. 1.1 Równanie różnicowe jako model systemu dynamicznego Jednym z modeli określającym zachowanie się systemu dynamicznego jest równanie różnicowe x(i + 1) = Ax(i) + Bu(i) y(i) = Cx(i) (1.1) przy czym i = 0, 1, 2, . . . Równanie to, określa nam wartość zmiennej x w następnej iteracji w sposób rekurencyjny w oparciu o wartość zmiennej x i wejścia u w obecnej iteracji. Innymi słowy, rozwiązaniem równania różniczkowego jest ciąg o indeksach i, zadany w sposób rekurencyjny. Rozwiązanie jawne równania różnicowego (1.1) wyraża się wzorem (?) k x(k) = A x(0) + k−1 X Ak−1−j Bu(j) j=0 Uwaga 1.1.1. Przy wykorzystaniu zmiany zmiennych, jak przy korzystaniu z postaci Jordana, macierz A można wyrazić w sposób A = P JP −1 Wykorzystywane było to przy obliczaniu eAt . Warto zwrócić uwagę, że n An = P JP −1 = = P JP −1 · P JP −1 · · · · · P JP −1 = | {z } n razy = P J n P −1 1.2 Stabilność systemów dyskretnych Rozważania w tej sekcji dotyczą przypadku, gdy u(k) = 0, ∀k = 0, 1, . . . czyli innymi słowy gdy system (1.1) jest autonomiczny. 1 1 Dyskretne systemy dynamiczne 1.2.1 Asymptotyczna stabilność Liniowy dyskretny system dynamiczny, nazwiemy asymptotycznie stabilnym, jeżeli dla każdego x(0), x(k) = Ak x(0) → 0 gdy k → ∞. Twierdzenie 1. Liniowy dyskretny system dynamiczny, opisany równaniem różnicowym (1.1), jest asymptotycznie stabilny wtedy i tylko wtedy gdy wartości własne macierzy A leżą wewnątrz koła jednostkowego na płaszczyźnie zespolonej o środku w zerze. Zastosowanie twierdzeń o lokalizacji pierwiastków wielomianu dla systemów dyskretnych Niech W (λ) będzie wielomianem charakterystycznym macierzy A, oraz niech λ= z+1 z−1 (1.2) Można dokonać podstawienia (1.2) do W (λ), otrzymamy funkcję wymierną W (z) = L(z) M (z) , której licznik i mianownik będą wielomianami. Wartości własne macierzy A znajdą się w kole jednostkowym wtedy i tylko wtedy gdy pierwiastki wielomianu L(z) będą leżeć w lewej półpłaszczyźnie zespolonej. Do weryfikacji czy pierwiastki wielomianu leżą w lewej półpłaszczyźnie zespolonej można zastosować np. kryterium Hurwitza (zob. Mitkowski, 2007, s. 134). 1.3 Własności dynamiki dyskretnej W liniowych systemach dyskretnych występują pewne zjawiska dynamiczne, które albo nie mają odpowiedników w zachowaniach systemów ciągłych, lub też mają odpowiedniki dopiero w systemach wyższych rzędów. Na przykład, dyskretny system pierwszego rzędu, może generować rozwiązania okresowe lub oscylacyjne, co w systemach ciągłych występuje dopiero w drugim rzędzie. 1.3.1 Analiza liniowego równania różnicowego przy n = 1 Należy przeanalizować zachowanie się następującego systemu dyskretnego x(k + 1) = λx(k) w zależności od wartości parametru λ, należy rozpatrzyć: • λ < −1 • λ = −1 • λ ∈ (−1; 0) • λ=0 2 1 Dyskretne systemy dynamiczne • λ ∈ (0; 1) • λ=1 • λ>1 Porównać wyniki rozwiązaniami równania różniczkowego pierwszego rzędu ẏ = αy dla różnych wartości parametru α. 1.3.2 Równanie różnicowe z osobliwą macierzą A Rozważany jest dyskretny układ autonomiczny opisany równaniem różnicowym x(i + 1) = Ax(i) (1.3) Wartość x w k-tym kroku wynosi x(k) = Ak x(0) niech wartości własne macierzy A będą wszystkie równe zero. W takim przypadku wielomian charakterystyczny macierzy A ma postać det(λI − A) = λn Znane jest twierdzenie Cayleya-Hamiltona (zob. Turowicz, 2005, s. ?), które mówi, że każda macierz spełnia swój wielomian charakterystyczny. W tym przypadku oznacza to, że An = 0 Oznacza to, że wartość xw n-tym kroku x(n) = An x(0) = 0 niezależnie od wartości x(0). Innymi słowy, rozwiązanie równanie różnicowego (1.3), z macierzą A o zerowych wartościach własnych staje się zerem w co najwyżej n krokach, niezależnie od warunku początkowego. Zjawisko to znalazło zastosowanie w sterowaniu przy tzw. regulatorze dead-beat. Regulator ten, ma za zadanie umieścić wartości własne dyskretnego systemu zamkniętego w zerze, tak aby stan systemu osiągnął zero w liczbie kroków mniejszej bądź równej rzędowi systemu. 3 1 Dyskretne systemy dynamiczne 1.4 Układ dyskretno ciągły Przetwornik cyfrowo-analogowy (ekstrapolator rzędu zerowego) działa w następujący sposób: na wejście przetwornika podawany jest ciąg elementów u+ (i), i = 0, 1, 2, . . . , a na wyjściu otrzymujemy funkcję u(t) = u+ (i) dla t ∈ [ih, (i + 1)h) , ogólnie h > 0 jest okresem pracy przetwornika (okresem próbkowania). Na wyjściu z przetwornika analogowo-cyfrowego (impulsatora) mamy ciąg elementów y + (i) = y(ih), i = 0, 1, 2, . . . , h > 0 (okres pracy impulsatora). Połączenie szeregowe ekstrapolatora, systemu ciągłego w czasie i impulsatora jest pokazane na rys. 1.1 i stanowi układ dyskretno ciągły (przy pracy synchronicznej ekstrapolatora i impulsatora z okresem h > 0). Uwaga 1.4.1. Ekstrapolator rzędu zerowego w Matlabie występuje jako zero-order hold. W literaturze można również spotkać skrót od angielskiej nazwy tj. “zoh”. u + (i ) u (t ) x (t ) = Ax (t ) + Bu (t ) y + (t ) y (t ) y (t ) = C ( x ) Ekstrapolator rz du 0 Impulsator Rysunek 1.1: Układ dyskretno-ciągły Rozważamy przypadek szczególny, a mianowicie liniowy dynamiczny układ stacjonarny z czasem ciągłym ẋ(t) = Ax(t) + Bu(t) (1.4) y(t) = Cx(t) gdzie x(t) ∈ Rn , y(t) ∈ Rm , u(t) ∈ Rr , t ≥ 0, a A, B i C są macierzami rzeczywistymi o odpowiednich wymiarach. W tym przypadku zależność y + (i) od u+ (i) (zob. rysunek 1.1) można opisać następującym równaniem rekurencyjnym (różnicowym) x+ (i + 1) = A+ x+ (i) + B + u+ (i) y + (i) = C + x+ (i) (1.5) gdzie x+ (i) = x(ih), u+ (i) = u(ih), y(i) = y(ih), i = 0, 1, 2, . . ., przy czym h > 0 oznacza okres próbkowania, A+ , B + i C + są macierzami reczywistymi określonymi następującymi zależnościami A+ = ehA Rh (1.6) B + = 0 etA Bdt C+ = C Na rysunku 1.2 pokazano przykładowe przebiegi sygnałów w układzie dyskretno ciągłym. 4 1 Dyskretne systemy dynamiczne Wyprowadzenie zależności (1.6) Macierze A+ i B + otrzymujemy z rozwiązania równania różniczkowego (1.4), o postaci x(t) = e(t−t0 )A x(t0 ) + t Z e(t−τ )A Bu(τ )dτ t0 po podstawieniu t = (i + 1)h i t0 = ih oraz u(t) = u+ (i) na odcinkach t ∈ [ih, (i + 1)h), mamy x((i+1)h) = e ((i+1)h−ih)A Z x(ih)+ (i+1)h e ((i+1)h−τ )A ih Z h etA Bdt u+ (i) Bdτ u(ih) = |{z} e x (i)+ 0 | {z } A+ hA + B+ 1.5 Przykłady systemów dyskretnych Podany powyżej przykład zastosowania systemów dyskretnych nie wyczerpują tematyki. Równania różnicowe wykorzystywane są do opisu zjawisk w biologii, ekonomii, socjologii i wielu innych dziedzinach wiedzy. We wcześniejszych ćwiczeniach rozpatrywana była np. metoda Eulera, która służy do aproksymowania równania różniczkowego odpowiednim równaniem różnicowym. Podamy teraz kilka przykładów systemów dynamicznych, które mają charakter dyskretny. u+(i) 0 h u(t) 2h 3h 4h 5h 6h 7h 8h 9h 10h t 0 h y+(i) y(t) 0 h 2h 3h 4h 5h 6h 7h 8h 9h 10h t 2h 3h 4h 5h 6h 7h 8h 9h 10h t 0 h 2h 3h 4h 5h 6h 7h 8h 9h 10h t Rysunek 1.2: Sygnały w układzie dyskretno-ciągłym 5 1 Dyskretne systemy dynamiczne 1.5.1 Ciąg Fibonacciego Rozważany jest ciąg Fibonacciego F = (0, 1, 1, 2, 3, 5, 8, 13, 21, . . . ) Elementy tego ciągu są wyznaczane w sposób następujący xi+2 = xi+1 + xi , (1.7) gdzie i = 0, 1, 2, . . . , x0 = 0, x1 = 1. Równanie rekurencyjne (drugiego rzędu) o postaci (1.7) ma następujący wielomian charakterystyczny W (z) = z 2 − z − 1, który posiada następujące pierwiastki √ 1± 5 z1,2 = 2 Zatem rozwiązanie równania (1.7) dla przyjętych warunków początkowych ma postać √ !i √ !i 1 1+ 5 1− 5 xi = √ − (1.8) 2 2 5 Warto zwrócić uwagę, że chociaż we wzorze (1.8) występują liczby niewymierne, to uzyskane przy jego pomocy wartości kolejnych wyrazów ciągu są odpowiednimi liczbami naturalnymi. 1.5.2 Układ łańcuchowy typu R Rozważmy układ oporników jak na rysunku 1.3 (zob. Mitkowski, 2007, s. 102). Interesować nas będą wartości napięć xi na opornościach R2 . Z praw Kirchoffa możemy uzyskać równanie różnicowe R1 xi+1 − 2 1 + xi + xi−1 = 0 (1.9) 2R2 i = 0, 1, 2, . . . , x0 = 0, , u jest dane Równanie charakterystyczne powyższego równania rekurencyjnego drugiego rzędu ma postać R1 2 z −2 1+ z + 1 = 0. (1.10) 2R2 Równanie (1.10) ma następujące pierwiastki s R1 R1 R1 ± z1,2 = 1 + 1+ 2R2 2R2 4R2 Ogólne rozwiązanie równania (1.9) ma postać xi = c1 z1i + c2 z2i (1.11) Stałe c1 i c2 można wyznaczyć z warunków początkowych równania (1.9) czyli x0 = 0 i x1 = u. 6 1 Dyskretne systemy dynamiczne 1.5.3 Odwzorowanie logistyczne Dynamika układów dyskretnych (jednowymiarowych) może być skomplikowana. Przykładem może być odwzorowanie logistyczne (np. ?, s. 65) generujące układ dyskretny x(i + 1) = F (x(i), µ) (1.12) F (x(i), µ) = µx(i)(1 − x(i)) gdzie µ ∈ [0, 4], x ∈ [0, 1]. Jest to dyskretne równanie nieliniowe pierwszego rzędu. Funkcja F określona równością (1.12) przy dowolnym µ ∈ [0, 4] odwzorowuje odcinek [0, 1] w siebie. Rodzina funkcji F (dla różnych µ) stanowi tak zwaną rodzinę odwzorowań logistycznych. Interesujące jest zachowanie ciągu x(i), opisanego równaniem rekurencyjnym (1.12) , gdy rozpatrujemy i → ∞ (stany ustalone) w zależności od parametru µ . Na rysunkach 1.4 i 1.5 przedstawiono wyniki eksperymentu numerycznego przeprowadzonego w następujący sposób: ustalamy parametr µ i wybieramy x(0) ∈ [0, 1]; następnie wykonujemy np. 1000 iteracji (by uzyskać stan ustalony) i pomijamy 750 pierwszych wyrazów ciągu x(i), na rysunku zaś zaznaczamy tylko 250 ostatnich iteracji x(i). Naprawdę ciekawe zjawiska występują jednak przy wartościach µ ∈ (3, 4). Jak można zauważyć na rysunku 1.5 zamiast jednego punktu ustalonego pojawiają się trajektorie okresowe, na początku o okresie 2 (pomiędzy dwoma punktami), 4 itd, następuje sukcesywne podwajanie się okresu. Co ciekawe dla wartości około µ = 3.8 można zauważyć, że odwzorowanie ma okres równy 3 (wartości odwzorowania od pewnej iteracji przyjmują tylko 3 wartości). Jest to o tyle interesujące, że odwzorowanie, które ma trajektorię o okresie równym 3 ma również trajektorie o wszystkich innych okresach naturalnych (co jest konsekwencją twierdzenia Szarkowskiego (np. ?, s. 72, ?, s. 67). Dla µ = 4 od- R1 R1 R1 R2 x1 R2 x2 R2 Rysunek 1.3: Układ łańcuchowy oporników 7 xi 1 Dyskretne systemy dynamiczne wzorowanie 1.12 generuje dynamikę “chaotyczną”. Tu warto wspomnieć, że w układach ciągłych takie zjawiska jak “chaos” występują, dopiero począwszy od trzeciego rzędu. 1 0.9 0.8 Stan ustalony x 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 Wartosc parametru µ 2 2.5 Rysunek 1.4: Stany ustalone odwzorowania logistycznego dla µ ∈ [0, 3] 1 0.9 0.8 Stan ustalony x 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 3 3.1 3.2 3.3 3.4 3.5 3.6 Wartosc parametru µ 3.7 3.8 3.9 4 Rysunek 1.5: Stany ustalone odwzorowania logistycznego dla µ ∈ [3, 4] 8 1 Dyskretne systemy dynamiczne Rozwiązanie równania różnicowego (1.12) można również uzyskać w sposób geometryczny. Przykład takiej konstrukcji (dla µ = 3.5 i x(0) = 0.384) pokazano na rysunku 1.6. Algorytm postępowania jest następujący: 1. Narysować wykres prawej strony równości (1.12) (będzie to wykres paraboli) dla wartości x ∈ [0, 1] i wybranego parametru µ oraz prostą o równaniu y = x. 2. Wybrać punkt początkowy na osi poziomej. 3. Połączyć punkt pionową linią z wykresem paraboli. 4. Połączyć punkt przecięcia pionowej linii z parabolą z prostą za pomoc linii poziomej. 5. Wybrać punkt przecięcia linii poziomej z prostą i powrócić do punktu 3. Na rysunku 1.6 strzałki na liniach ilustrują kolejność postępowania, punkt początkowy oznaczony jest kropką. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Rysunek 1.6: Konstrukcyjne rozwiązanie przy odwzorowaniu logistycznym 1.6 Modelowanie układów dyskretnych w Simulinku Elementy systemów dyskretnych znajdują się w zakładce Simulink→Discrete. Istotnymi będą Zero order hold i Discrete State space należy w nich wpisać rozpatrywaną wartość kroku dyskretyzacji h np. 1. Wejście dla układu wybrać z zakładki Simulink →Sources Ustawienia symulacji tak jak we wcześniejszych ćwiczeniach. 9 1 Dyskretne systemy dynamiczne Ważne! Krok całkowania dla solvera w simulinku nie jest krokiem dyskretyzacji dla systemów dyskretnych - służy on tylko i wyłącznie do aproksymacji systemu ciągłego dlatego musi on być odpowiednio mały (1e-2 powinno wystarczyć) Ważne! Przy ustawianiu solvera w simulinku należy ustawić Mode na ’single tasking’ (pole wyboru obok wartości kroku) 1.7 Sprawozdanie Do sprawozdania należy wykonać następujące zadania: 1. Przeprowadzić analizę równania liniowego jak w sekcji 1.3.1 2. Zamodelować w simulinku system (1.4) z macierzami A, B, C podanymi przez prowadzącego. Na wejście systemu podłączyć ekstrapolator rzędu zerowego. Obliczyć macierze A+ , B + C + odpowiadającego mu systemu (1.5) przy podanym h. Przeanalizować zachowanie układu dyskretno ciągłego w zależności od h. 3. Zamodelować w simulinku układ dyskretno ciągły i pokazać, że w chwilach ih układ ciągły z wejściem poprzez ’zoh’ i układ dyskretny mu równoważny przyjmują te same wartości. Aby utworzyć model należy bloczek wejścia połączyć z odpowiednim członem ’zoh’ z którego wyjście należy podać na układ ciągły z macierzami A, B, C (A wybrać stabilne) i układ dyskretny z macierzami A+ , B + i C + wyjścia z systemów zapisać do workspace i porównać. 4. Obliczyć współczynniki c1 i c2 z równości 1.11 10 Bibliografia S. Bolkowski. Teoria obwodów elektrycznych. WNT, Warszawa, 1995? D. Halliday and R. Resnick. Fizyka. WNT, Warszawa, vii edition, 1983. W. Mitkowski. Stabilizacja systemów dynamicznych. WNT, Warszawa, 1991. W. Mitkowski. Stabilizacja systemów dynamicznych. Wydawnictwa AGH, Kraków, 1996. W. Mitkowski. Równania macierzowe i ich zastosowania. Wydawnictwa AGH, Kraków, 2 edition, 2007. L. Szklarski, A. Dziadecki, J. Strycharz, and K. Jaracz. Automatyka Napędu Elektrycznego. Wydawnictwa AGH, Kraków, 1996. A. Turowicz. Teoria Macierzy. Uczelniane Wydawnictwa Naukowo Dydaktyczne AGH, Kraków, 6 edition, 2005. 11