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