MichałMorawski
Transkrypt
MichałMorawski
Michał Morawski sk i Zadania dla studentów do przedmiotu „Sygnały i Układy Dynamiczne” 1 Wprowadzenie raw Wersja: 5 stycznia 2003 roku 1 2 3 a=1; a=sqrt(2) a=pi/6; Mo 1. uruchomienie matlaba, pojęcie zmiennej (typy danych) √ 2. utworzyć zmienną a i nadać jej wartość 1, potem 2 i π6 , Zauważyć różnicę pomiędzy tym czy instrukcję kończy średnik, czy nie. 3. historia poleceń (↑ i ↓). ał 4. Usunięcie wszystkich zmiennych – polecenie clear. Korzystnie jest używać tego polecenia w pierwszej linijce skryptu ze względu na niepożądane efekty uboczne związane z konfliktami zmiennych zdefiniowanych w różnych skryptach 5. Polecenie clear NazwaZmiennej 6. Jeżeli a jest pewnym kątem – utworzyć macierz obrotu dla tego kąta obr=[cos(a),sin(a);−sin(a),cos(a)] lub 1 ch 1 obr=[cos(a) sin(a);−sin(a) cos(a)] Mi 7. polecenie cd. Utworzyć sobie katalog, gdzie trzymane będą skrypty i zmienić bieżący katalog na ten właśnie utworzony. Jeżeli katalog zawiera spacje trzeba napisać np: cd(’Documents and settings’) 8. polecenie help. Sprawdzić jakie operatory istnieją w matlabie i co robi funkcja plot. 1 2 help + help plot 1 9. Napisać skrypt obliczający iloczyn skalarny i diadyczny wektorów [ 1 %MnożenieWektorów L=[1 2] 3 P=[3 4] 4 Skalarny=L∗P’ 5 Diadyczny=L.∗P 2] i [3 4] 1 10. Narysować wykresy funkcji: • x 7→ k sin (ax) , x ∈ [−π, π] , a = 1, 2, 3, • x 7→ sin x x , x ∈ [−10, +10] raw • x 7→ 1 − e−ax , x ∈ [0, 2] , a = 1, 2, 3, sk i 2 11. Obliczanie postępu geometrycznego w matlabie. Uwaga! Nie może być tak, żeby gdzieś we wzorach występowały wartości liczbowe!!!. Skrypt powinien narysować wykres (funkcja jest dyskretna) dla wartości wykładników a > 1, a = 1, a < 1. 2 Mo Proste modele 1. Uruchomić simulinka (poleceniem simulink) i utworzyć model. Trzeba przyjąć „na wiarę”, że blok 1z jest elementem opóźniającym1 . Wprowadzić warunki początkowe, współczynniki, czas początkowy i końcowy ze skryptu. 2. Wzrost wykładniczy. Zbudować w simulinku model najprostszego liniowego równania różniczkowego ẋ = ax dla a > 0, a = 0 i a < 0 ał 3. Model gospodarki Niech ∆t > 0 oznacza pewien stały przyrost czasu np. jeden kwartał i niech tk = k∆t , k ∈ N oznaczają dyskretne chwile czasu. Rozważamy prosty model gospodarki scharakteryzowany przez cztery wielkości: ch • yk ⇒ dochód narodowy, albo produkt narodowy (national income, national product), • ck ⇒ konsumpcja (consumption), • ik ⇒ inwestycje (investment), • gk ⇒ wydatki państwa (government expediture). Mi Dochód narodowy yk jest to wartość wszystkich towarów i usług wyprodukowanych w przedziale czasu [k∆t , (k + 1)∆t ], k ∈ N (w rozważanym przypadku w ciągu kwartału). Konsumpcja są to wydatki na towary i usługi. Równanie równowagi gospodarki ma, więc postać: yk = ck + ik + gk 1 Wyjaśnienie pojawi się na wykładzie później 2 czyli ik = yk − ck − gk . sk i Z podanego równania wynika, że dochód jednostki gospodarczej jest dzielony na konsumpcję, inwestycje i podatki. Jest to punkt widzenia podatnika. Z drugiej strony mamy punkt widzenia rządu: produkt narodowy jest konsumowany, inwestowany i wydawany przez państwo (sfera budżetowa). Pewne dodatkowe równania opisują funkcjonowanie gospodarki. Zakłada się, że konsumpcja stanowi pewną część dochodu tzn. raw ck = µyk , gdzie liczba µ ∈ [0, 1] jest nazywana skłonnością do inwestycji. Oznacza to, że przeciętna jednostka ma tendencję do konsumowania ustalonej części swojego dochodu. Nierealne wartości krańcowe µ = 0 i µ = 1 oznaczają odpowiednio brak konsumpcji i konsumpcję całego dochodu. Mo Następne równanie odzwierciedla pogląd, że inwestycje zwiększają zdolności wytwórcze gospodarki. Inaczej mówiąc, aktualne inwestycje zwiększają dochód narodowy w przyszłości. W rozważanym modelu zakłada się, że wzrost gospodarczy jest proporcjonalny do inwestycji, co zapisujemy wzorem: yk+1 − yk = ρik , przy czym współczynnik ρ 0 nazywany jest współczynnikiem wzrostu. Po odpowiednich przekształceniach uzyskuje się równanie yk+1 = (1 + ρ(1 − µ))yk − ρgk . ał Opracować przy pomocy Matlaba i Simulinka program symulujący rozwój gospodarki. Przyjąć rozsądne wartości współczynników wzrostu i skłonności do inwestycji. Założyć, że początkowa wartość dochodu narodowego wynosi y0 = 1000 i że obserwujemy gospodarkę przez 50 kwartałów. Porównać dwa przypadki wydatków rządu: • g(k) = const > 0, • g(k) = fy(k), f = const > 0 ch 4. Prawo dynamiki Newtona ẋ = ax Mi Rozważmy uproszczony model ruchu pojazdu o masie m po prostej Położenie środka masy pojazdu w chwili t oznaczamy przez r(t), natomiast sumę sił działających na pojazd wzdłuż prostej, po której odbywa się ruch oznaczamy przez f(t). Z drugiego prawa dynamiki Newtona wiadomo, że siła f jest równa iloczynowi masy pojazdu i przyspieszenia. W związku z tym, możemy napisać: mr̈ = f. Z teorii równań różniczkowych zwyczajnych wiadomo, że rozwiązanie tego równania jest jednoznacznie wyznaczone przez warunki początkowe r(0) i ṙ(0) oraz przez wymuszenie, którym jest funkcja t 7→ f(t). Zauważmy, że drugi z warunków początkowych można 3 i zinterpretować jako wartość prędkości v pojazdu w chwili początkowej t0 = 0. Ponieważ prędkość w chwili t określona jest jako wartość pochodnej czasowej położenia w tej chwili, możemy napisać: sk ṙ = v, v̇ = f/m. W ten sposób równanie mr̈ = f sprowadziliśmy do układu dwóch równań różniczkowych pierwszego rzędu, które nazywamy równaniami stanu układu. raw Jeżeli określimy wektor stanu układu x = [x1 x2 ]T = [r v]T , to powyższy układ równań zapisać w postaci wektorowej ẋ = Ax + bf przy czym A= 0 0 1 0 ib= 0 1/m Mo Jeżeli założymy, że siła działająca na pojazd jest wielkością zmienianą przez użytkownika, czyli wielkością sterującą (sygnałem sterującym), to model dynamiki pojazdu jest przykładem stacjonarnego, liniowego układu sterowanego z czasem ciągłym. Wyznaczyć rozwiązania układu wektorowego równania różniczkowego, przy t 7→ f(t) = const. Zakładając, że najpierw maksymalnie przyspieszamy: t 7→ f(t) = fMax = 10, t ∈ [0, tf /2), a następnie maksymalnie hamujemy t 7→ f(t) = −fMax , t ∈ [tf /2, tf ). Przez pozostały czas pojazd się nie porusza obliczyć czas tf ruchu pojazdu o masie m = 1 z punktu x(0) = [0 0]T do punktu x(tf ) = [100 0]T . Przy pomocy MatLaba/Simulinka wykonać wykresy funkcji t 7→ r(t), t ∈ [0, tf ], t 7→ v(t), t ∈ [0, tf ], t 7→ f(t), t ∈ [0, tf ] oraz wykres trajektorii pojazdu na płaszczyźnie fazowej (x1 , x2 ) = (r, v). ał 5. Wahadło z napędem Rozważmy wahadło napędzane przez silnik umieszczony w osi obrotu wahadła. Silnik ten wytwarza moment M napędzający wahadło. Schemat tego układu pokazano na rysunku 1. ch Ruch ciężarka o masie m umieszczonego na końcu nieważkiego i sztywnego pręta o długości ` opisany jest równaniem postaci: ϑ̈ = 1X Mi J i Mi przy czym J oznacza moment bezwładności, natomiast Mi oznaczają momenty działających sił. W rozważanym przypadku moment bezwładności dany jest wzorem J = m`2 , natomiast oprócz momentu napędowego mamy jeszcze moment wytwarzany przez siłę ciążenia i momenty od sił tarcia. 4 i sk raw Rysunek 1: Schemat wahadła z napędem. Mo Składowa mg cos ϑ siły ciążenia równoważona jest przez przeciwnie do niej skierowaną siłę naprężenia pręta, a składowa mg sin ϑ wytwarza moment mg` sin ϑ, który przeciwdziała odchyleniom wahadła od położenia równowagi ϑ = 0. Siły tarcia powstają w łożysku wahadła i od oporu powietrza. Jeżeli ciężarek zawieszony na pręcie jest mały i jego prędkość jest niewielka, to opór powietrza można pominąć i wtedy moment od siły tarcia można wyrazić wzorem Dϑ̇, w którym D 0 oznacza współczynnik tłumienia. Ostatecznie dostaje się następujące równanie różniczkowe drugiego rzędu opisujące dynamikę ruchu wahadła: m`2 ϑ̈ = M − mg` sin ϑ − Dϑ̇. ał Jeżeli wprowadzi się oznaczenia x1 = ϑ i x2 = ϑ̇, to równanie to można zastąpić układem dwóch równań różniczkowych pierwszego rzędu: ẋ2 = ẋ1 = x2 , 1 (M − mg` sin x1 − Dx2 ). m`2 ch Jest to przykład nieliniowego układu stacjonarnego z czasem ciągłym i sygnałem wejściowym, którym jest moment rozwijany przez silnik napędzający. Jeżeli przyjmiemy D = 0 i M = 0, to wyprowadzone tu równania sprowadzają się do modelu wahadła, znanego ze szkoły średniej. Mi Zakładając, że w chwili początkowej t0 = 0, wartość początkowa ϑ(0) położenia kątowego jest niewielka, można przyjąć, że sin ϑ ≈ ϑ. Jeżeli uwzględnimy to uproszczenie, to otrzymamy model liniowy wahadła opisany równaniami: ẋ1 = x2 , g ẋ2 = − sin x1 . ` 5 ϑ(0) = π/12, ω(0) = 0, ϑ(0) = π/6, ω(0) = 0, i Należy zaprojektować programy symulacyjne modelu nieliniowego i modelu liniowego wahadła o następujących danych: m = 0.01, kg, ` = 0.1, m, g = 9.81, m/s2 . Porównać przebiegi położenia kątowego t 7→ ϑ(t) i prędkości kątowej t 7→ ω(t) = ϑ̇(t) otrzymane przy następujących warunkach początkowych: ϑ(0) = π/4, ω(0) = 0. sk Czy model liniowy jest wystarczająco dokładny? Czy można go stosować do opisu ruchu wahadła w klasycznych zegarach szafkowych, lub wiszących? 3 raw Kompresja, przesunięcie i kwantyzacja 1. Kompresja i przesunięcie Przy pomocy simulinka należy pokazać wybrany sygnał w postaci naturalnej f(t) i w postacji skompresowanej f(τ) (tj. takiej, w którym dla zmiennej niezależnej t dokonano podstawienia τ = αt + β 2. Kwantyzacja Mo Przy pomocy simulinka dokonać kwantyzacji sygnału • kwantyzacja powinna być liniowa (tj. obszar zmienności funkcji powinien być podzielony na n równoodległych poziomów ch ał • kwantyzacja powinna być nieliniowa (tj. obszar zmienności powinien być podzielony nierówno na n poziomów, a każdy z powstałych w ten sposób zakresów powinien być podzielony na m równych przedziałów. Taki sposób kwantyzacji jest używany powszechnie w transmisji głosu przez linie cyfrowe i nazywany jest modulacją PCM. Przykład sprawdzić w ten sposób, że dla n = 4, (n musi być parzyste, gdyż nie ma powodu, by dla sygnały ujemne i dodatnie traktować inaczej) powstałe przedziały powinny być równe a ich granice winny być dane szeregiem: UMAX dla n = 4 ⇒ −UMAX , −UMAX , 0, , U , MAX 2 2 −UMAX UMAX UMAX dla n = 6 ⇒ −UMAX , −UMAX , , 0, , , U MAX 2 4 4 2 −UMAX −UMAX UMAX UMAX UMAX dla n = 8 ⇒ −UMAX , −UMAX , , , 0, , , , U itd. MAX 2 4 8 8 4 2 4 Mi Dyskretyzacja i aliasing 1. Sygnały zespolone Przy pomocy zarówno Matlaba, jak i Simulinka zobrazować sygnał x = e(α+jβ)t dla kilku wybranych wielkości α i β. 6 2. Aliasing i Należy wygenerować przy pomocy simulinka sygnał sinusoidalny o pulsacji ω, a następnie na jednym wykresie narysować wynik próbkowania tego sygnału z okresem: 1 1 1 1 1 1 1 , , , , , , 50ω 20ω 10ω 5ω 2ω 1.25ω eω sk Ostatniemu przypadkowi należy poświęcić szczególną uwagę, ze względu na to, że stosunek częstotliwości próbkowania i częstotliwości sygnału jest liczbą niewymierną (e). Należy zaobserwować wynik takiej kwantyzacji w długim okresie czasu. Proszę zinterpretować wynik. raw Napisać w Matlabie skrypt rysujący obraz sygnału analogiczny do uzyskango w poprzednim punkcie z programu Simulinka. Proszę pamiętać, że sygnał po dyskretyzacji jest określony tylko w wybranych chwilach czasu. 3. Odtwarzanie sygnału źródłowego Zinterpolować krzywymi pierwszego rzędu sygnały uzyskane w poprzednim punkcie. Zaobserwować i wytłumaczyć kryterium Nyquista. Wykonać powyższe zadanie dla innych niż sinusoidalny sygnałów (np. prostokąt, piła). 5 Mo Układ rezonansowy Należy napisać równania i zasymulować w Simulinku układ szeregowo połączonych elementów RLC (było na elektrotechnice!). Wyjściami układu powinno być napięcie na kondensatorze i napięcie na rezystorze. Przypomina się niezwykle uprzejmie, że równania stanu mają postać: ał ẋ = Ax + Bu y = Cx + Du I tylko równania w takiej postaci będą uważane za właściwe. Układ pobudzić napięciem np. sinusoidalnym i funkcją Heaviside’a, i ich sumą. Wyniki zgromadzić w miejscu dostępnym dla Matlaba. W matlabie sprawdzić zasadę superpozycji. ch Powtórzyć tę operację dla niezerowych warunków początkowych. Wykonać charakterystyki częstotliwościowe dla częstotliwości w okolicach częstotliwości rezonansowej dla wszystkich kombinacje wejście-wyjście (dobrze byłoby skorzystać z toolbox’a Control System), choć nie jest to konieczne. Mi Charakterystyka częstotliwościowa może być obliczona tylko dla tego przypadku, a może być obliczona dla dowolnego na bazie znajomości macierzy A, B, C, D. To drugie rozwiązanie będzie punktowane wyżej. 7 6 i Model populacji raw sk Zwykły wzrostu nie jest wystarczająco dokładny w przypadku, gdy poziom reprodukcji jest nierównomiernie rozłożony w grupach wiekowych modelowanej populacji (Luenberger, 1979). W takim przypadku populację można podzielić na grupy wiekowe o równej długości, powiedzmy 10-letnie, nazywane kohortami. W pierwszej grupie są członkowie populacji w wieku od 1 do 10 lat, w drugiej są osoby w wieku od 11 do 20 lat itd. Zakładając, że populacje mężczyzn i kobiet są identycznie rozłożone, można brać pod uwagę tylko populację kobiet. Niech oznacza ilość kobiet w i - tej grupie wiekowej w k - tym przedziale czasu. Grupy wiekowe indeksujemy od 0 do n. W celu opisania ewolucji populacji należy opisać sposób zmian liczb podczas jednego okresu czasu. Zauważmy, że w tym czasie i-ta grupa wiekowa przechodzi do grupy i + 1. W celu uwzględnienia smutnego faktu, że część osób w i-tej grupie umiera, wprowadza się współczynnik przeżycia βi . Jedyną grupą, która nie została uwzględniona jest grupa najmłodszych osób, które są dziećmi całej populacji istniejącej w poprzednim okresie czasu. Ilość osób w najmłodszej grupie zależy od współczynników urodzeń w pozostałych grupach. Dzietność ludzi w i-tej grupie wiekowej określa współczynnik αi . Mo Ponadto istnieje migracja zależna od grup wiekowych. We wszystkich tych współczynnikach indeks i oznacza numer kohorty, a ich wartość jest określana na podstawie badań statystycznych. Należy napisać równania opisujące taki układ dynamiczny w postaci: xk+1 = Axk + Buk yk = Cxk + Duk Interesuje nas liczba ludzi w wieku produkcyjnym (tj. od 20 do 60 lat) oraz całkowita populacja. ch 7 ał Należy w Simulinku przeprowadzić odpowiednią symulację przy założeniu, że liczba staruszków przekraczających 100 lat jest pomijalnie mała, przy czym należy sensownie dobrać współczynniki α, β i wielkość migracji (zmiennej w czasie). Chaos w układach dynamicznych Mi (Schuster, 93) Codzienne doświadczenie pokazuje, że w przypadku wielu układów fizycznych małe zmiany warunków początkowych pociągają za sobą niewielkie zmiany wyników końcowych; mały ruch kierownicą – samochód skręca „trochę”, duży ruch kierownicą – samochód skręca „bardzo”. Ale jeżeli postawimy monetę „na sztorc” – delikatne muśnięcie zadecyduje, w którą stronę moneta się przewróci. Zatem rzucając wiele racy monetą uzyskamy losowy i chaotyczny ciąg orłów i reszek, ponieważ przysłowiowe „muśnięcie motyla” może spowodować inny rezultat kolejnego rzutu. 8 i Układ ẋ = eax w zależności od wartości a albo dąży do zera dla x 7→ ∞, jeżeli a < 0 lub dąży do ∞ dla x 7→ ∞, jeżeli a > 0 i jest w stanie równowagi chwiejnej dla a = 0 (czyli, jeżeli a zmieni się „o włos”) to układ albo będzie zdążał do zera, albo do ∞. Taka sytuacja będzie dla każdego układu liniowego, w których ponad wymienione stany możliwe jest istnienie okresowych cykli. sk W układach nieliniowych, nawet bardzo prostych, sytuacja się komplikuje. Układy takie stają się nieprzewidywalne w dłuższym okresie czasu nie osiągając ani stanu stabilnego, ani też nie dążąc do ∞. Z matematycznego punktu widzenia mogą się tak zachowywać wszystkie nieliniowe, ciągłe układy dynamiczne o więcej niż 2 stopniach swobody (mające więcej niż 2 zmienne stanu), a układy dyskretne nawet jednowymiarowe mogą się zachowywać w taki sposób. raw Takie nieprzewidywalne zachowanie nazywane jest chaosem deterministycznym. Może on się przejawiać w postaci zdążania do pewnego punktu w przestrzeni zmiennych stanu, a następnie już prawie go osiągnąwszy, trajektoria fazowe „zmienia zdanie” i zaczyna zdążać w innym kierunku. Taki punkt w przestrzeni stanu nazywamy dziwnym atraktorem. Liczba tych punktów stałych może być zmienna i w pewnych sytuacjach może dążyć do nieskończoności. Innym scenariuszem jest tzw. intermitencja (czli przerywanie mająca miejsce wtedy, gdy sygnał zachowujący się laminarnie, czyli regularnie w czasie jest przerywany przez przypadkowo rozłożone okresy ruchu nieregularnego (tzw. wybuchy intermitencji) 1. Wahadło z napędem Mo Poniżej przedstawiono kilka bardzo prostych modeli charakteryzujących się takimi właściwościami dla pewnych wartości swoich parametrów (nie wszystkich!!!) Rozważmy omawiany wcześniej przykład wahadła z napędem, przy czym tym razem moment napędzający będzie określony poprzez A cos ωt. Chaos pojawi się w przypadku jeżeli wahadło obróci się wokół kąta ϑ = π. 2. Równanie logistyczne ał Rozważmy równanie różnicowe xn+1 = rxn (1 − xn ) Przyjmując różne wartości współczynnika r ustalić metodą prób i błędów kiedy taki układ stanie się układem chaotycznym (tzn. wrażliwym na warunki początkowe), x0 powinno się zawierać w przedziale (0, 1). Odwzorowanie to można uważać za prosty wyidealizowany model ekologiczny rocznych zmian pewnego gatunku owadów, przy ograniczonej ilości pożywienia. Uważny czytelnik z pewnością zauważy, że musi być spełniony warunek 0 ¬ x0 ¬ 1, i że przesadzanie z wielkością r prowadzi do niestabilności odwzorowania. 3. Równanie Lorenza Mi ch Równanie interminentne będące uproszczonym równaniem mieszania się płynów rozważane przez Lorenza przy rozważaniach dotyczących przewidywania pogody. To właśnie na podstawie zachowania się tego równania pojawiło się pojęcie „muśnięcia motyla” w Ameryce wpływającego na suszę w Indiach. ẋ = −σx + σy ẏ = −xz + rx − y ż = xy − bz Narysować • Wszystkie trajektorie fazowe 2D • Przebiegi zmiennych stanu w czasie 9 • Trajektorie fazowe w przestrzeni 3D sk ẋ = −x − z ẏ = z + ay ż = b + z (x − c) i 4. Równanie Rösslera Narysować to samo co w przypadku równania Lorenza, dla parametrów a = 0.15, b = 0.20, c = 10, x0 = (10, 0, 0) 5. Odwzorowanie Julii 8 raw Tworzenie fraktali Julii. Dana jest funkcja zespolona zn+1 = z2n + c; Nieskomplikowana prawda? Należy zbadać wpływ wielkości c na trajektorię w przestrzeni fazowej. Filtry i transformata Fouriera 1. sygnał losowy, 2. sygnał sinusoidalny, 3. sygnał prostokątny, Mo Przy pomocy Matlaba wygenerować 4. złożenie funkcji liniowej y = x i fali prostokątnej. i za pomocą transformaty Fouriera sprawdzić jakie jest jego pasmo ał 1. w oknie prostokątnym o szerokości równej okresowi lub wielokrotności okresów, 2. w oknie prostokątnym o szerokości różnej od całkowitej wielokrotności okresów, 3. w oknie cosinusowym lub trójkątnym ch Przekształcić sygnał wejściowy za pomocą filtrów 1. 1 ∗ z0 + 0 ∗ z−1 + (−1) ∗ z−2 2. 1 3 1 ∗ z0 + 1 ∗ z−1 + 1 ∗ z−2 Mi 3. (−1) ∗ z0 + 2 ∗ z−1 + (−1) ∗ z−2 4. α0 +α1 z−1 β0 +β1 z−1 +β2 z−2 dla wybranych współczynników αi i βi Za pomocą odpowiedniej analizy numerycznej ocenić jaki charakter mają takie filtry 10