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