ZAJĘCIA III Metody numeryczne w zadaniach identyfikacji

Transkrypt

ZAJĘCIA III Metody numeryczne w zadaniach identyfikacji
Komputerowa identyfikacja obiektów
ZAJĘCIA III
Metody numeryczne
w zadaniach identyfikacji
• Rozwiązywanie układów równań liniowych
• Minimalizacja funkcji
• Symulacja układów dynamicznych
• Transformata sygnału do dziedziny częstotliwości
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
WPROWADZENIE
Współczesne
systemy
identyfikacji
wykorzystują
do
przetwarzania
sygnałów
pomiarowych
(danych
identyfikacyjnych) komputery. Na nich są wyznaczane rozwiązania układów równań liniowych, jakie powstają np.
przy identyfikacji modeli liniowych metodą najmniejszych kwadratów. Wskaźniki jakości dopasowania odpowiedzi
modelu do odpowiedzi obiektu w przypadku identyfikacji modeli o nieliniowej zależności od parametrów są
minimalizowane metodami numerycznymi optymalizacji nieliniowej. Parametry losowe zakłóceń czy estymat
parametrów są szacowane numerycznymi metodami statystyki. Zmiana dziedziny zmiennej niezależnej w
przypadku identyfikacji w dziedzinie częstotliwości jest wykonywana na próbkach sygnałów numeryczną
implementacją transformaty czas-częstotliwość (np. FFT). Wreszcie podstawowa czynność przy metodzie
identyfikacji z modelem to symulacyjne generowanie odpowiedzi modelu na zadane pobudzenie w celu
dopasowania do zmierzonej odpowiedzi identyfikowanego obiektu. Każda metoda numeryczna ma określone
własności dotyczące odporności na zaburzenie danych (spowodowane skończoną dokładnością reprezentacji liczb
w komputerze), złożoności obliczeniowej i szybkości zbieżności do rozwiązania metod iteracyjnych. Poniższe
opracowanie daje przegląd wybranych algorytmów numerycznych wykorzystywanych w identyfikacji obiektów
zarówno pod kątem zasady działania jak i własności numerycznych z przykładami w Matlabie.
Przykład (od problemu identyfikacji do układu równań liniowych):
Działanie statycznego układu liniowego z dwoma wejściami i jednym wyjściem możemy zapisać w postaci modelu
y = a1u1 + a2u2 . Żeby wyznaczyć pomiarowo współczynniki a1 i a2 musimy przygotować co najmniej dwa różne
{
} {
}
pomiary wejść i wyjść: u1(1) ,u2(1) , y (1) , u1(2) ,u2(2) , y (2) . Jak zapisać macierzowo problem do rozwiązania ?
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
ROZWIĄZYWANIE UKŁADÓW RÓWNAŃ LINIOWYCH ZWYKŁYCH I NADOKREŚLONYCH
Układem równań liniowych nazywamy układ jednoczesnych równań:
⎧a1,1x1 + a1,2 x 2 + ... + a1,n x n = b1
⎡ a1,1 a1,2
⎪
⎢a
a2,2
⎪a 2,1x1 + a 2,2 x 2 + ... + a2,n x n = b2
2,1
, lub Ax = ⎢
⎨
⎢
⎪…
⎢
⎪a x + a x + ... + a x = b
⎣am,1 am,2
m,2 2
m,n n
m
⎩ m,1 1
a1,n ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
a2,n ⎥ ⎢ x2 ⎥ ⎢ b2 ⎥
⎥⎢ ⎥ = ⎢ ⎥ = b
⎥⎢ ⎥ ⎢ ⎥
⎥
am,n ⎦ ⎢⎣ xn ⎥⎦ ⎢⎣bm ⎥⎦
Dla b=0 układ jest nazywany jednorodnym.
W zależności od wartości m i n (wymiarów macierzy A) może wystąpić:
• niedookreśloność to sytuacja gdy liczba niewiadomych x przewyższa liczbę równań (m<n).
• nadokreśloność to sytuacja gdy liczba równań przewyższa liczbę niewiadomych (m>n). Wtedy mogą istnieć
rozwiązania sprzeczne. Szczególna interpretacja sprzecznego układu równań ma miejsce w regresji liniowej.
W tym przypadku poszukuje się rozwiązania, które spełnia układ równań z najmniejszym błędem.
• Dla m=n układ równań ma jednoznaczne rozwiązanie.
Problem:
Jak rozwiązać układ równań z kwadratową macierzą A ? Pomysły:
- Metoda wyznaczników jak w szkole średniej (bardzo dużo obliczeń)
- Odwrócić macierz A i pomnożyć przez tę odwrotność obie strony równania, wtedy x = A −1b (dużo obliczeń)
- Przez proste operacje na obu stronach sprowadzić macierz A do jednostkowej (mało obliczeń)
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Rozwiązywanie układu równań metodą eliminacji Gaussa
Zakładamy, że macierz jest kwadratowa i nieosobliwa, z czego wynika że istnieje jednoznaczne rozwiązanie.
Zakładamy dodatkowo, że elementy diagonalne są niezerowe. Wtedy z ostatnich n-1 równań można wyeliminować
x1 odejmując od i-tego równania pierwsze równanie pomnożone przez
mi ,1 = ai ,1 a1,1 , i = 2,…, n
Przekształcone równania przyjmują postać:
⎡a1,1 a1,2
⎢
( 2)
⎢ 0 a2,2
⎢
⎢
2
⎢⎣ 0 an( ,2)
gdzie nowe współczynniki dane są wzorami: a(
2)
i,j
a1,n ⎤ ⎡ x ⎤ ⎡ b1 ⎤
1
( 2) ⎥ ⎢ ⎥ ⎢ ( 2) ⎥
a2,n ⎥ x2
b
⎢ ⎥=⎢ 2 ⎥
⎥⎢ ⎥ ⎢
⎥
⎥
⎢
⎥
⎢ ⎥
2
an( ,n) ⎥⎦ ⎣ xn ⎦ ⎢⎣bn( 2) ⎥⎦
= ai , j − mi ,1a1,1, j = 2,…, n
b(
2)
i
= bi − mi ,1b1, j = 2,…, n
Dalej postępujemy podobnie z kolejnymi elementami pod diagonalą, aż do momentu, gdy dolna trójkątna część
macierzy zostanie wyzerowana. Możemy wyzerować też górny trójkąt, ale nie ma potrzeby. Końcowa postać układu
równań to:
⎡a1,1 a1,2
⎢
( 2)
⎢ 0 a2,2
⎢
⎢
⎢⎣ 0
0
a1,n ⎤ ⎡ x ⎤ ⎡ b1 ⎤
1
( 2) ⎥ ⎢ ⎥ ⎢ ( 2) ⎥
a2,n ⎥ x2
b
⎢ ⎥=⎢ 2 ⎥
⎥⎢ ⎥ ⎢
⎥
⎥
⎥
⎢ ⎥ ⎢
n
an( ,n) ⎥⎦ ⎣ xn ⎦ ⎢⎣bn( n ) ⎥⎦
Ostatni wiersz pozwala na wyznaczenie xn, na podstawie którego możemy wyznaczyć xn-1 z przedostatniego
wiersza, itd. Poprzez kolejne podstawienia w tył można wyznaczyć wektor niewiadomych x.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Przykład: Symbolicznie na przypadku 2x2
Początkowa postać układu równań:
⎡ a1,1 a1,2 ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
⎢a
⎥ ⎢ x ⎥ = ⎢b ⎥
a
⎣ 2,1 2,2 ⎦ ⎣ 2 ⎦ ⎣ 2 ⎦
krok 1/1:
a1,2
⎡ 1
⎤ ⎡ x1 ⎤ ⎡ ab1 ⎤
a1,1
⎢
⎥ ⎢ ⎥ = ⎢ 1,1 ⎥
x
⎣⎢a2,1 a2,2 ⎦⎥ ⎣ 2 ⎦ ⎢⎣ b2 ⎥⎦
(dzielimy wiersz1 przez element diagonalny a1,1)
krok 1/2:
⎡1
⎢
⎢0
⎣
⎤ ⎡ x ⎤ ⎡ ab1 ⎤
1,1
⎥ 1⎥ = ⎢
⎥
a1,1b2 − a2,1b1
a1,1a2,2 − a2,1a1,2 ⎢
x
⎥
⎢
⎥
a1,1
⎦ ⎣ 2 ⎦ ⎣ a1,1 ⎦
(zerujemy kolumnę1: wierszi - wiersz1 x ai,1)
krok 2/1:
⎡1
⎢
⎢⎣0
a1,2
a1,1
krok 2/2:
⎡ a2,2b1−a1,2b2 ⎤
⎡ 1 0 ⎤ ⎡ x1 ⎤ ⎢ a1,1a2,2 −a2,1a1,2 ⎥
⎢0 1⎥ ⎢ x ⎥ = ⎢ a1,1b2 −a2,1b1 ⎥
⎣
⎦⎣ 2⎦
⎣ a1,1a2,2 −a2,1a1,2 ⎦
a1,2
a1,1
b1
⎤
⎤ ⎡ x1 ⎤ ⎡
a1,1
⎢
⎥ ⎢ ⎥ = a1,1b2 −a2,1b1 ⎥
1 ⎥⎦ ⎣ x2 ⎦ ⎢⎣ a1,1a2,2 −a2,1a1,2 ⎥⎦
(dzielimy wiersz2 przez element diagonalny a2,2)
(zerujemy kolumnę2: wierszi - wiersz2 x ai,2)
Wynik zgadza się z rozwiązaniem ze wzoru Cramera.
Uogólnienie eliminacji Gaussa – dekompozycje macierzy LU, QR, SVD
Eliminacja Gaussa może być widziana jako rozkład (dekompozycja) macierzy A na iloczyn macierzy trójkątnej
dolnej i górnej, tj. A = L*U. Macierz L to macierz współczynników, przez które mnożone były wiersze w trakcie
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
eliminacji, a macierz U to macierz końcowego układu równań. Dekompozycję LU na macierze trójkątne wykonuje w
Matlabie funkcja lu. Przy rozwiązywaniu zadań identyfikacji rzadko korzysta się bezpośrednio z metod
rozwiązywania układów równań, ponieważ te są wywoływane niejawnie np. przy odwracaniu macierzy.
Efektywne rozwiązanie układu równań jest zaimplementowane w Matlabie poprzez operatory dzielenia
macierzowego ‘/’ i ‘\’. Różnica między nimi ma tylko charakter kolejności operandów, obydwa korzystają z eliminacji
Gaussa, i obydwa są w szczególny sposób interpretowane, jeśli macierz w mianowniku operacji nie jest
kwadratowa. W tym przypadku wyznaczane jest rozwiązanie w sensie najmniejszej sumy kwadratów (jak estymator
LS, który będzie niedługo omawiany) i wewnętrznie używana jest dekompozycja SVD lub QR (odpowiednik LU dla
macierzy niekwadratowych, których tu już nie omawiamy).
Przykład:
Rozwiązanie naszego początkowego problemu identyfikacyjnego możemy teraz wyznaczyć jako:
U=[u11, u21; u12, u22]; y=[y1; y2];
a=inv(U)*y; % można ~ 3 razy szybciej i precyzyjniej
a=U\y; % wlasnie tak
Przyjmijmy U=[1 2;2 4], y=[3; 6]. Czy z takich danych pomiarowych można wyznaczyć dobre rozwiązanie ?
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
MINIMALIZACJA FUNKCJI
Standardowe matematyczne sformułowanie zadania minimalizacji brzmi:
Dla danej funkcji f i dla danego obszaru S ⊂ Ek znaleźć punkt x*∈S taki, że f(x*)≤f(x) dla wszystkich x∈S, gdzie Ek
jest k-wymiarową przestrzenią euklidesową parametrów, x jest punktem tej przestrzeni, czyli wektorem wartości
parametrów.
Przestrzeń poszukiwania wartości parametrów może być ograniczona. Ograniczenia mają najczęściej charakter
przedziałów , rzadziej postać ograniczeń równościowych czy nierównościowych .
x l ≤ x ≤ xu
gi ( x ) = 0, i = 1,…, n
gi ( x ) ≤ 0, i = 1,…, n
Podstawowe idee rozwiązań problemu minimalizacji
Przypadki rozwiązywalne analitycznie:
• problemy LP (Linear Programming) - kryterium i ograniczenia są liniowymi funkcjami parametrów
• problemy QP (Quadratic Programming) - kwadratowe kryterium i liniowe ograniczenia
Problemy NP (Nonlinear Programming) wymagają użycia iteracyjnych metod poszukiwania opartych na informacji
o wartościach kryterium w wybranych punktach przestrzeni parametrów.
Numeryczna minimalizacja lokalna: poszukiwanie pojedynczego minimum. Efektywne metody wykorzystują
przybliżenia pochodnych funkcji. W trudnych przypadkach (np. nieciągłości) korzystają tylko z wartości funkcji.
Minimalizacja globalna: poszukiwanie jednego punktu minimalnego przy wielu minimach lokalnych. Jest to trudne
zadanie obliczeniowe. Pomysły na rozwiązanie to wielokrotne starty metody lokalnej z różnych punktów lub zasada
„błądzenia” wokół bieżącego rozwiązania dla znalezienia sąsiadującego lepszego rozwiązania (np. simulated
annealing, algorytmy genetyczne).
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Numeryczne metody minimalizacji lokalnej bez użycia pochodnych
Metody wymagające podania przedziału zawierającego minimum (w Matlabie funkcja fminbnd)
metoda złotego podziału
metoda interpolacji kwadratowej i sześciennej
Metoda simpleksów (w Matlabie fminsearch)
kierunek spadku wyznaczany z nachylenia najprostszej figury geometrycznej
Metody lokalne wykorzystujące informację z gradientu
Naturalne w przypadku minimalizacji lokalnej jest wykorzystanie informacji o zachowaniu się minimalizowanej
funkcji zawartej w jej pochodnych kolejnych rzędów. Informacje te są dostarczane przez użytkownika procedury
minimalizującej w postaci jawnej, lub uzyskiwane drogą numerycznego przybliżenia różnicowego. Najstarsze
metody tego typu wykorzystywały informację zawartą w pierwszej pochodnej, opisującej nachylenie zbocza funkcji
w aktualnym punkcie (stąd nazwa metody gradientowe). Przykładowo w metodzie największego spadku (ang.
Steepest Descent) następne przybliżenie minimum jest poszukiwane w kierunku przeciwnym do gradientu, tj.
d=-∇f(x). W szczególnych przypadkach, jak np. funkcja Rosenbrocka, metody te są bardzo wolno zbieżne do
rozwiązania. Wyznaczenie kierunku poszukiwania minimum jest pierwszym etapem pojedynczego kroku metody
minimalizacji
wielowymiarowej.
Drugim
etapem
jest
jednowymiarowe
poszukiwanie
minimum
wzdłuż
wyznaczonego kierunku, tzn. minimalizacja względem α zależności:
x k +1 = x k + α d
metodami np. złotego podziału, ciągu Fibonacciego, metodami interpolacji/ekstrapolacji.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Metody lokalne wykorzystujące informację z hesjanu (macierzy drugich pochodnych)
Metoda gradientowa używała modelu pierwszego rzędu (liniowego) zachowania się funkcji w okolicy bieżącego
punktu. Dokładniejsze wyznaczenie kierunku poszukiwania minimum otrzymuje się przy uwzględnieniu informacji
różniczkowej drugiego rzędu. Model otoczenia bieżącego punktu ma wtedy postać kwadratową, z zastępczym
problemem minimalizacji:
⎧1
⎫
minn ⎨ xT Hx + bT x + c ⎬ ,
x∈R ⎩ 2
⎭
gdzie H jest symetryczną i dodatnio określoną macierzą hesjanu aproksymowanej funkcji, b wektorem gradientu w
bieżącym punkcie, c stałą. Z przyrównania pochodnej modelu względem x do 0 otrzymuje się kierunek d
poszukiwania minimum (kierunek Newtona):
d = −H−1b
Metody z bezpośrednim wyznaczaniem hesjanu są nazywane metodami Newtona. Wyznaczanie macierzy
hesjanu jest jednak kosztowne obliczeniowo. Z tego względu opracowano metody z iteracyjną aktualizacją tej
macierzy nazywane metodami quasi-Newtona (lub metodami zmiennej metryki). Najpopularniejsze formuły
aktualizacji to BFGS (pokazana dla przykładu):
qk qTk HTk sTk sk Hk
Hk +1 = Hk + T − T
qk sk
sk Hk sk
s k = x k +1 − x k
qk = ∇f ( x k +1 ) − ∇f ( x k )
i DFP aktualizująca bezpośrednio odwrotność macierzy hesjanu. Obydwie są do wyboru w Matlabie w funkcjach
fminunc, fmincon.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
ALGORYTMY DLA PROBLEMU NIELINIOWEJ NAJMNIEJSZEJ SUMY KWADRATÓW (NLS)
Problem najmniejszej sumy kwadratów czynników nieliniowych względem parametrów powstaje przy wszelkich
dopasowaniach typu least-squares, np. w identyfikacji obiektów dynamicznych metodą dopasowania odpowiedzi
modelu do pomiarów. Problem ma określoną strukturę, więc możemy się spodziewać uproszczeń w obliczeniach.
f ( x ) = ∑ Fi ( x ) = F ( x ) F ( x )
2
Kryterium minimalizacji ma więc postać:
T
i
Licząc gradient G i hesjan H kryterium uzyskamy:
G ( x ) = 2J ( x ) F ( x ) ,
T
gdzie J jest jakobianem wektora F,
H ( x ) = 2J ( x ) J ( x ) + Q ( x ) , gdzie Q ( x ) = ∑ Fi ( x ) Hi ( x ) , Hi jest hesjanem i-tej składowej.
T
i
Pomijając czynnik Q pozbyliśmy się macierzy drugich pochodnych, korzystamy tylko z jakobianu.
Metoda Gaussa-Newtona
Stosując kierunek Newtona do powyższego uzyskamy jego wersję dla problemu NLS.
Skutkuje to kierunkiem będącym rozwiązaniem problemu liniowego LS:
min J ( x ) d + F ( x )
d
2
2
czyli układu równań:
Katedra Metrologii AGH
J ( x ) J ( x ) d = −J ( x ) F ( x )
T
T
Kraków 2006
Komputerowa identyfikacja obiektów
Metoda Levenberga-Marquardta
Jest to ulepszenie metody Gaussa-Newtona dla przypadku kiedy czynnik Q(x) nie może być pominięty. Rozsądne
wyjście, to nie korzystać wtedy w ogóle z hesjanu tylko wybrać krok metody największego spadku.
Takie zachowanie można zapewnić dobierając współczynnik λ w uogólnionej regule wyznaczania kierunku:
⎡ J ( x )T J ( x ) + λI⎤ d = − J ( x ) F ( x )
⎣
⎦
Dla λ równego zero jest to kierunek Gaussa-Newtona natomiast dla dużego λ pierwszy czynnik związany z
hesjanem traci na znaczeniu i o kierunku decyduje prawa strona związana z gradientem.
Implementacją tej metody jest funkcja Matlaba lsqnonlin (w starszych wersjach leastsq).
Jest to metoda polecana np. do identyfikacji, ponieważ dobrze zachowuje się z dala od minimum (od dobrego
dopasowania do pomiarów) - wtedy korzysta z modelu liniowego największego spadku, jak i w okolicy minimum
gdzie modeluje kryterium funkcją kwadratową.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Przykład: Porównanie efektywności poszczególnych metod na funkcji Rosenbrocka
a) steepest descent
1000 iteracji
b) quasi-Newton BFGS
A
B
140 iteracji
c) Gauss-Newton
48 iteracji
d) Levenberg-Marquardt
90 iteracji
C
Katedra Metrologii AGH
D
Kraków 2006
Komputerowa identyfikacja obiektów
ROZWIĄZANIA PROBLEMU MINIMALIZACJI GLOBALNEJ
Metoda pokrycia siatką prostokątną lub nierównomierną
Poszukiwanie minimum globalnego funkcji jest w tym przypadku zastąpione zadaniem poszukiwania minimum
dyskretnego i skończonego zbioru wartości. Konieczność wyznaczania wartości kryterium w wykładniczo rosnącej z
wymiarem problemu liczbie punktów.
Proste metody poszukiwania losowego
Pokrycie siatką losową. Ulepszanie rozwiązania przez minimalizację lokalną z najlepszego z wylosowanych
punktów lub minimalizacja lokalna z każdego z wylosowanych punktów z wyborem najlepszego rozwiązania.
Zaawansowane metody losowe
Wprowadzenie czynnika losowego do efektywnych metod minimalizacji lokalnej (simpleksów, największego
spadku, quasi-Newtona) zaburza kierunek poszukiwania umożliwiając przejście do sąsiedniego „dołka”. Zmienny
udział czynnika losowego w kierunku powoduje, że w początkowej fazie optymalizacji przeszukiwana jest cała
przestrzeń parametrów dla znalezienia otoczenia punktu minimum globalnego, a faza końcowa wyznacza z
większą dokładnością położenie tego punktu. Przykładem takiej implementacji jest metoda Simulated Annealing –
analogia do procesu chłodzenia w termodynamice [zob. Numerical Recipes].
Algorytmy genetyczne
Poszukiwanie minimum wg zasad ewolucji biologicznej, stosowane głownie w problemach optymalizacji dyskretnej.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
PRZEGLĄD FUNKCJI ANALIZY CZASOWEJ I CZĘSTOTLIWOŚCIOWEJ MODELI W MATLABIE
Dziedzina czasu:
step, impulse, lsim, filter
Stara postać wywołania ze współczynnikami transmitancji lub równań stanu, np.: step(K*w0^2, [1 2*ksi*w0 w0^2])
Nowa składnia (Matlab 6.x, klasy i obiekty) wymaga opisu systemu LTI, np.:
step(tf(K*w0^2, [1 2*ksi*w0 w0^2]))
Jak to działa:
Wyznaczanie odpowiedzi czasowej polega na sprowadzeniu modelu do równoważnej postaci dyskretnych równań
stanu (lub filtra cyfrowego IIR) i iteracyjnym obliczaniu kolejnych wartości odpowiedzi. Jest to więc odpowiednik
prostego stałokrokowego algorytmu symulacji dynamicznej (o czym dalej). Możliwa automatyka doboru zakresu i
kroku na podstawie dynamiki modelu. W działaniu wykorzystywane są funkcje:
c2d – przejście do równoważnego opisu dyskretnego z aproksymacją wejścia ZOH (zero order hold)
lti/trange - automatyczny dobór kroku czasowego na podstawie min(Re[λ]) macierzy dynamiki A.
lti/timscale – automatyczny dobór zakresu czasu na podstawie max(Re[λ]) macierzy dynamiki A.
Dziedzina częstotliwości: bode, freqs, freqz
Uwagi o starej i nowej składni wywołania jak wyżej
Jak to działa:
Wyznaczanie odpowiedzi częstotliwościowej polega na wyznaczeniu wartości wielomianów licznika i mianownika w
zadanych punktach częstotliwościowych. Możliwa automatyka doboru zakresu i kroku na podstawie dynamiki
modelu. Do tego wykorzystywana jest funkcja:
freqpick – automatyczny wybór zakresu częstotliwości przez analizę położenia zer i biegunów
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
METODY SYMULACJI KOMPUTEROWEJ - PRZYDATNOŚĆ MODELI DO OBLICZEŃ KOMPUTEROWYCH
Metoda symulacji zależy od postaci modelu. Jak zobaczymy są lepsze i gorsze modele dla obliczeń numerycznych.
Transmitancja (obliczenia przez mnożenie widm zespolonych):
Y ( jω ) = U ( jω ) G ( jω )
Komputerowe obliczenia z tym modelem są wygodne gdy sygnały są okresowe o ograniczonym widmie.
u ( t ) = ∑ Ak cos (ω0t + ϕk ) ,
U ( jkω0 ) = Ak e jϕk ,
k
j ϕ + arg(G ) )
Y ( jkω0 ) = Ak G e ( k
,
y (t ) = ∑ Yk cos (ω0t + arg [Yk ])
k
Odpowiedź impulsowa (obliczenia przez numeryczną całkę splotu w dziedzinie czasu):
∞
y ( t ) = h ( t ) ∗ u ( t ) = ∫ h (τ ) u ( t − τ ) dτ
0
Podstawowa niedogodność modelu splotowego to brak akumulacji informacji z poprzednich punktów czasowych
Równania stanu (obliczenia przez iteracyjne całkowanie numeryczne zależności różniczkowej):
dx ( t )
= f ( x ( t ) ,u ( t ) ) ,
dt
y ( t ) = g ( x ( t ) ,u ( t ) )
x ( t0 ) = x 0
Wyznaczanie odpowiedzi modeli dyskretnych, typu FIR, IIR czy dyskretne równania stanu, polega na prostym
mnożeniu współczynników i próbek (analogia do modelu ciągłego z całkowaniem prostym algorytmem Eulera).
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Przykład: Obliczenia na modelu transmitancyjnym, przenoszenie sygnału okresowego przez układ drugiego rzędu.
Poszukujemy odpowiedzi przetwornika drugiego rzędu opisanego transmitancją widmową:
G ( jω ) =
1
1 − ω + 0.02 jω
2
(jaką wartość mają standardowe parametry K, ξ, ω0 tego modelu ?)
na sygnał okresowy złożony z dwóch harmonicznych:
u ( t ) = sin ( 0.5t ) + 0.2sin (t ) = cos ( 0.5t − π 2 ) + 0.2cos (t − π 2 )
Widmo sygnału ma dwa prążki dla pulsacji 0.5 i 1 [rad/s] o amplitudach 1 i 0.2 oraz fazach − π 2 .
Transmitancja widmowa w częstotliwościach prążków to: G ( j 0.5 ) = 1.33e − j 0.0133 , G ( j ) = 50e − j π 2 .
Zrekonstruowany sygnał wyjściowy ma postać czasową:
π
⎛
⎞
y (t ) = 1.33cos ⎜ 0.5t − − 0.0133 ⎟ + 10cos (t − π )
2
⎝
⎠
Implementację obliczeń w Matlabie dla dowolnej liczby składowych o zadanych częstotliwościach zostawiam jako zadanie.
u(t)
1.5
40
Mag nitude (dB)
1
0.5
0
Phas e (d eg)
-1
-1.5
0
10
20
0
5
-20
0
-40
0
-0.5
-5
-45
-90
-10
-135
-180
2
4
6
8
10
12
y(t)
15
G(jw)
10
-1
10
0
1
10
-15
0
2
4
6
8
10
12
Frequency (rad/s ec)
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Przykład: obliczenia na modelu splotowym, przenoszenie sygnału nieokresowego przez układ pierwszego rzędu.
Poszukujemy odpowiedzi wzmacniacza dolnopasmowego opisanego odpowiedzią impulsową:
h ( t ) = 1000e −10t (jaką wartość mają standardowe parametry K, T modelu ?)
u(t)
na sygnał nieokresowy impulsu prostokątnego:
⎧50[mV], 0 ≤ t ≤ 0.3[s ]
u (t ) = ⎨
⎩ 0[mV], 0 > t > 0.3[s ]
t0
t
0.3s
u(t0-t)
Zgodnie z zależnością splotową, żeby wyznaczyć wartość odpowiedzi w pojedynczym
punkcie czasowym t0, musimy scałkować iloczyn odwróconego i przesuniętego
sygnału wejściowego i odpowiedzi impulsowej układu:
t0-t
h(τ)
∞
y ( t0 ) = ∫ h (τ ) u ( t0 − τ ) dτ
0
τ
W naszym przypadku sytuacja upraszcza się, bo sygnał wejściowy w większości
czasu jest zerowy i zakres całkowania jest ograniczony:
y (t0 ) = 50
u(t0-τ)⋅h(τ)
t0
∫ h (τ ) dτ
t0 − 0.3
τ
y(t)
y(t0)
Wyznaczenie odpowiedzi w następnym punkcie wymaga powtórzenia całej procedury
całkowania z innym przesunięciem.
t0
Katedra Metrologii AGH
t
Kraków 2006
Komputerowa identyfikacja obiektów
Realizacja numeryczna
Praktycznie całkowanie zawsze prowadzi się w ograniczonym zakresie dzięki zmierzaniu odpowiedzi impulsowej z
czasem do zera (wzmocnienie statyczne układu to całka z jego odpowiedzi impulsowej, odpowiedź impulsowa
reprezentuje „pamięć” układu). W przypadku spróbkowanego co ∆t sygnału wejściowego najprostsza realizacja to
całkowanie numeryczne metodą prostokątów z dyskretyzacją i obcięciem odpowiedzi impulsowej do N+1 próbek:
N
N
1 N
y ( k ∆t ) = ∆t ∑ u ( k ∆t − i ∆t ) ⋅ h ( i ∆t ) = ∆t ∑ u ( ( k − i ) ∆t ) ⋅ h ( i ∆t ) = ∑ uk −i ⋅ hi
f p i =0
i =0
i =0
W ten sposób dochodzimy do wyrażenia analogicznego do splotu dyskretnego. Dokładniejsze obliczenia są
możliwe, jeśli znane są wartości wejścia w dowolnej chwili t (np. przebieg dany analitycznie lub przez interpolację
między próbkami) to można zastosować dokładniejsze algorytmy całkowania. W Matlabie takie algorytmy
całkowania to quad() - adaptacyjna rekursywna metoda Simpsona (trapezów) i dokładniejsza quad8() - adaptacyjna
rekursywna metoda Newtona-Cotesa (po szczegóły odsyłam do kursu Obliczeń Numerycznych /~ttward/numer).
Przykład : Wyznaczenie odpowiedzi układu RC (np. układ Sample&Hold w fazie podtrzymania) o stałej czasowej
T=1[s] i jednostkowym wzmocnieniu na skokową zmianę wejścia. Metoda splotowa z dokładniejszą całką.
Plik główny, odpowiedz.m :
T=1;
tv=0:0.1:5; yv=[];
for t=tv
yv=[yv, quad8('funkcja’, 0, 10, [], [], t, T)];
end;
plot(tv, yv);
Katedra Metrologii AGH
plik funkcja.m :
function f=funkcja(tau, t0, T)
% uwaga: tau może być wektorem
skok=tau<t0;
h=1/T*exp(-tau/T);
f=h.*skok;
Kraków 2006
Komputerowa identyfikacja obiektów
SYMULACJA Z MODELEM RÓWNAŃ STANU – KRÓTKI PRZEGLĄD ALGORYTMÓW
Problemem obliczeniowym jest rozwiązania dynamicznego równania stanu. Równanie wyjścia jest prostą operacją
arytmetyczną. Symulacja polega na wyznaczaniu wartości stanu w kolejnych chwilach czasu począwszy od stanu
początkowego.
dx ( t )
= f ( x (t ),t ),
dt
x ( t0 ) = x 0
Informacja dostępna w bieżącym (w szczególności zerowym) punkcie:
⎧ xi
⎪
⎨ dx
⎪ dt
⎩
x
f(xi,ti)
= f ( xi , t i )
???
xi
x = xi
Wynika stąd najprostszy algorytm Eulera (ekstrapolacyjny):
xi +1 = xi + ∆t ⋅ f ( xi , ti )
ti
x
ti+1
t
f(xi+1,ti+1)
???
Jego odmianą jest interpolacyjny algorytm Eulera w postaci uwikłanej: xi
xi +1 = xi + ∆t ⋅ f ( xi +1, t i +1 )
ti
ti+1
t
Wadą algorytmu Eulera jest kumulacja błędów w kolejnych krokach i konieczność stosowania małych kroków
symulacji ∆t dla osiągnięcia dużej dokładności.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Grupa algorytmów Rungego-Kutty wykorzystuje dodatkową informację w pośrednich punktach próbnych.
Pochodna decydująca o następnym punkcie trajektorii rozwiązania jest uśrednieniem wartości pochodnych ze
wszystkich punktów próbnych. W ten sposób lokalna krzywizna trajektorii (wyższe pochodne) mniej zaburza
rozwiązanie numeryczne.
Ilość punktów próbnych decyduje o rzędzie metody. Przykładowo metoda RK rzędu czwartego ma postać:
xi +1 = xi + ∆t ⋅
1
( k1 + 2k2 + 2k3 + k4 )
6
gdzie:
x
k3
k1 = f ( xi , t i )
∆t
∆t ⎞
⎛
k 2 = f ⎜ xi + k1 , t i + ⎟
2
2⎠
⎝
∆t
∆t ⎞
⎛
k3 = f ⎜ xi + k 2 , t i + ⎟
2
2⎠
⎝
k 4 = f ( x i + k 3 ∆t , t i + ∆ t )
k4
xi
k2
k1
ti
ti+∆t/2
ti+1
t
Tak jak metoda Eulera, metody Rungego-Kutty są samostartujące (wystarcza im pojedynczy punkt startowy x0), w
przeciwieństwie do dalej opisanych.
Tak jak inne algorytmy, metody RK mogą mieć postać zmiennokrokową, adaptacyjnie dopasowującą krok symulacji
do lokalnej dynamiki stanu. Adaptacja działa na zasadzie porównania wyniku metody z metodą wyższego rzędu (w
przypadku RK z większą ilością punktów próbnych). Jeśli ich wyniki nie różnią się znacznie oznacza to dobrą
dokładność. Jeśli się różnią, to zmniejszana jest długość koku ∆t.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
Grupa
algorytmów
Adamsa-Bashfortha
i
Adamsa-Moultona
wyznaczonych punktach zmiennej stanu. Informacja o lokalnej
wykorzystuje
informację
w
poprzednio
x
krzywiźnie (wartości wyższych pochodnych) jest więc inaczej
wydobywana i kompensowana w rozwiązaniu.
xi-2
W ogólnej postaci jest to zależność:
K
???
K
xi +1 = ∑ ak xi +1− k + ∆t ∑ bk f ( xi +1− k ,t i +1− k )
ti+1
ti-2
t
ti
ti-1
Algorytmy pierwszej grupy, tj. metody Adamsa-Bashfortha, mają charakter ekstrapolacyjny (b0=0) i nie dają
k =1
k =0
równania uwikłanego. Przykładowo, metoda rzędu trzeciego:
xi +1 = xi +
∆t
( 23fi − 16fi −1 + 5fi −2 )
12
Metody Adamsa-Moultona to metody interpolacyjne, wymagające rozwiązania równania uwikłanego (b0≠0).
Przykładowo, metoda rzędu trzeciego: xi +1 = xi +
∆t
( 5fi +1 + 8fi − fi −1 )
12
Szczególnie efektywna i stabilna dla rozwiązywania układów sztywnych (źle uwarunkowane równania stanu)
okazała się metoda Geara. Jest to algorytm uwikłany, korzysta tylko z poprzednich wartości stanu i z wartości
pochodnej
xi +1 =
stanu
w
szacowanym
punkcie.
Przykładowo
metoda
Geara
rzędu
czwartego:
1
12
( 48 xi + 36 xi −1 + 16 xi − 2 + 3 xi −3 ) + ∆t ⋅ fi +1
25
25
Do wystartowania tych metod, kilka pierwszych wartości stanu wyznacza się metodą samostartującą (np. RK).
A co z symulacją obiektów dynamicznych o parametrach rozłożonych ? – patrz następny wykład.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
ŚRODOWISKO SYMULACJI W SIMULINKU
Od strony techniki symulacji, Simulink działa na bazie opisu modeli
równaniami stanu, ciągłymi lub dyskretnymi. Graficzne bloczki
modelujące
elementy
dynamiczne,
na
poziomie
kodu
wykonywalnego zawierają takie właśnie opisy.
Całkowanie równań stanu może być wykonywane metodami
stałokrokowymi (fixed step) i zmiennokrokowymi (variable step)
czyli adaptacyjnymi. Do wyboru mamy algorytmy:
stałokrokowe :
Rungego-Kutty (ode3÷5),
Eulera (ode1, ode2),
zmiennokrokowe:
RK (ode45, ode23),
Adamsa-Bashfortha-Moultona (ode113),
NDF (uogólnienie Geara, ode15s),
nieomawiane (ode23s, ode23t, ode23tb).
Domyślny algorytm to zmiennokrokowy od45
Rungego-Kutty czwartego rzędu z kontrolą
adaptacji piątego rzędu. Panel zadawania parametrów symulacji i znaczenie wybieranej dokładności względnej i
bezwzględnej obliczeń pokazano na rysunkach.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
W przypadku kiedy generowanie odpowiedzi elementu lub systemu w celu wyznaczenia kryterium jest trudne do
zrealizowania metodami analitycznymi, wtedy wykorzystujemy symulację. Przykład połączenia algorytmu
minimalizacji symulacyjnie wyznaczonego kryterium przedstawia poniższy przykład.
Przykład: optymalizacja kryterium jakości wyznaczanego drogą symulacji
Dla modelu symulacyjnego podanego w przykładzie wielokrotnej symulacji dla wyznaczenia charakterystyki:
1
Punkt minimalny dla kryterium J1 (linia czerwona) chcemy
wyznaczyć metodą minimalizacji numerycznej
Przykładowa sesja Matlaba ma postać:
>> op=simset('RelTol',1e-5,'AbsTol',1e-6, 'MaxStep',1e-3, 'srcWorkspace',
'current');
>> Topt=constr('eval_J1', 1.5, [], 0.2, 2, [], op)
Topt =
1.0403
1
2
1
s
J1
Math
Function
Integrator1
To Workspace
|u|
1
s
J2
Abs
Integrator
To Workspace1
u
T.s+1
Transfer Fcn
Constant
Transport
Delay
1.5
1
gdzie eval_J1 jest plikiem z funkcją zwracającą wartość kryterium:
function [J1val, G]=eval_J1(T,op)
sim('ex_opt_T', 5*T, op);
J1val=J1;
G=[];
0.5
0
0
0.5
1
1.5
2
W powyższym kodzie zapewniono określoną dokładność i maksymalny krok symulacji. Ostatnia para parametrów
wywołania funkcji simset określa środowisko (workspace) obliczania wyrażeń Matlaba, które pojawiły się w modelu
Simulinka. Ustawienie tego parametru na ‘current’ powoduje, że w modelu symulacyjnym w Simulinku jest
widoczna zmienna lokalna T funkcji eval_J1 wywołującej symulację.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
SZYBKA DYSKRETNA TRANFORMATA FOURIERA
Funkcja Matlaba fft wykonuje transformację danych czasowych do dziedziny częstotliwości. Właściwa interpretacja
danych polega na wyznaczeniu wartości amplitudy, fazy i częstotliwości poszczególnych prążków wyznaczonego
widma.
Dla N-punktowego FFT i pulsacji próbkowania ωs częstotliwość prążków wyznaczamy jako:
∆ω =
ωs
N
ω1 = ωs
, ωk = ( k − 1) ∆ω = ωs
(1−1)
N
= 0, ωN = ωs
( N −1)
N
( k −1)
N
, k = 1,…, N
= ω s − ∆ω
Ponieważ dla sygnałów rzeczywistych widmo jest symetryczne, to amplituda składowych o niezerowej
częstotliwości rozkłada się po połowie na symetryczne prążki. Faza składowych symetrycznych jest zaś przeciwna.
Dodatkowo prążki widma są skalowane wartością N . Ostatecznie dla ff=fft(syg):
1
abs ( ff (1) )
N
2
Ai = abs ( ff ( i ) ) , i > 1
N
ϕ i = angle ( ff ( i ) ) , i > 1
A0 =
Efekty niepożądane w analizie FFT to aliasing i rozmycie widma. Nie omawiamy tych problemów teoretycznie, a w
praktyce zaobserwujemy je przy przetwarzaniu pomiarów na zajęciach.
Katedra Metrologii AGH
Kraków 2006
Komputerowa identyfikacja obiektów
ZADANIA – KOMPUTEROWE ALGORYTMY OBLICZENIOWE W IDENTYFIKACJI
Zadanie 1 Minimalizacja kryterium dopasowania i FFT
Do zarejestrowanego z użyciem karty pomiarowej sygnału sinusoidalnego (dane dostępne na serwerze) dopasuj
wzorcową sinusoidę sparametryzowaną przez amplitudę, częstotliwość i fazę. Odczytaj dopasowane wartości.
Wyznacz te same wielkości poprzez algorytm FFT. Z czego wynikają różnice ? Przedstaw histogram z reszt
dopasowania, które odpowiadają szumowi pomiarowemu. Czy ten szum jest zdominowany przez efekt
kwantowania ?
Zadanie 2
Wygeneruj dowolną metodą symulacji odpowiedź obiektu inercyjnego pierwszego rzędu na sygnał wejściowy w
postaci rampy (sygnał liniowo narastający). Sprawdź, na jaką cechę wyznaczonej odpowiedzi wpływa wartość stałej
czasowej.
LITERATURA DODATKOWA
Guziak T., Kamińska A., Pańczyk B., Sikora J., Metody numeryczne w elektrotechnice, Wydawnictwa Politechniki Lubelskiej 1998
Björck Å., Dahlquist G., Metody numeryczne, PWN Warszawa 1987
Press W.H., Flannery B.P., Teukolsky S.A., Vetterling W.T., Numerical Recipes in C, Cambridge University Press, Cambridge 1993
MathWorks, Optimization Toolbox - User Guide, 1994 (dokumentacja dostępna na serwerze MathWorks)
Katedra Metrologii AGH
Kraków 2006