ZAJĘCIA VII Zastosowanie estymatora LS do identyfikacji obiektów dynamicznych Równanie różniczkowe a metoda LS Czas dyskretny a czas ciągły Obciążenie estymatora LS w przypadku dynamicznym Estymacja parametrów modelu dyskretnego
WPROWADZENIE Komputerowa identyfikacja obiektów W dotychczasowych zadaniach posługiwaliśmy się modelami statycznymi, dobrze opisującymi takie obiekty, w których procesy przejściowe trwają na tyle krótko, że mogą być pominięte w danym zastosowaniu. Wyjście i wejścia takiego modelu są powiązane zależnością algebraiczną. W rzeczywistych obiektach zawsze istnieją zasobniki energii, które powodują zależność wyjścia obiektu nie tylko od bieżących wartości jego wejść, ale również od poprzednich wartości wejść, które wpłynęły na bieżący stan tych zasobników. Modele uwzględniające zmiany energii wewnątrz obiektu są nazywane modelami dynamicznymi. Dla wyjścia modelu dynamicznego istotne są więc zarówno bieżące wartości wejść jak i ich przeszłe wartości. Celem identyfikacji parametrycznej obiektu dynamicznego jest określenie struktury modelu dynamicznego, której rząd odpowiada obiektowi i wyznaczenie estymat parametrów opisujących własności dynamiczne (jak np. szybkość ładowania czy pojemność zasobników energii) i własności statyczne obiektu. W dalszej części będzie analizowana identyfikacja obiektów dynamicznych jednowejściowych i jednowyjściowych. Podstawową postacią modelu będzie równanie różniczkowe i odpowiadające mu równanie różnicowe. Przykład: Modelem obiektu dynamicznego inercyjnego jest transmitancja ze stałą czasową. Magazynowanie energii wewnątrz inercji prowadzi do zależności bieżącego wyjścia od historii wejścia (model całkowy splotu). Wprowadzając zależność bieżącego wyjścia od historii wyjścia (trendu zawartego w pochodnej) uzyskujemy bardziej zwarty opis transmitacyjny.
MODEL DYNAMICZNY A RÓWNANIE LINIOWE Jednym z modeli obiektu dynamicznego z czasem ciągłym jest równanie różniczkowe: () y t n m () dy t d y t du t d u t + α + + αn = β n 0u() t + β + + βm m dt dt dt dt Stosując podstawienie zmiennych za kolejne pochodne wejścia i wyjścia: () () ( n ) n 0 m ( m ) () y t = α y t α y t + β u t + β u t + + β u t można zauważyć jego podobieństwo do równania algebraicznego modelu statycznego. W notacji modelu LS (tj. Y = Uθ) macierz U zawierałyby próbki poszczególnych zmiennych (czyli oryginalnych pochodnych), a wektor θ współczynniki równania różniczkowego. () ( n) ( m) 0 y y u u () ( n) ( 0) ( m) y2 y2 u2 u2 U =, () ( n) ( 0) ( m ) yn yn un u N α y Y = αn, θ = β0 yn βm Widoczna jest jakościowa zmiana modelu: w macierzy wejść pojawiają się wartości pochodnych wyjścia, które nie są znane dokładnie. Ma to swoje konsekwencje w niekorzystnych własnościach estymatora, co zostanie pokazane później.
MODEL Z CZASEM CIĄGŁYM A MODEL Z CZASEM DYSKRETNYM Metoda różniczkowania sygnałów była powszechna w czasach komputerów hybrydowych, w których dokonywano analogowego różniczkowania sygnałów. We współczesnych komputerowych systemach identyfikacji klasycznym estymatorem LS nie wykonuje się operacji numerycznych na sygnałach w celu uzyskania przybliżonych pochodnych sygnałów. Proces identyfikacji modelu ciągłego polega na transformacji modelu ciągłego do postaci dyskretnej, identyfikacji modelu dyskretnego i przejścia powrotnego do modelu ciągłego, z przeliczeniem wartości współczynników zidentyfikowanego modelu dyskretnego na współczynniki modelu ciągłego. Metodą transformacji modelu przy niskich rzędach może być aproksymacja pochodnych sygnału przybliżeniami różnicowymi przy odstępie próbek (okresie próbkowania) t, np. dla pierwszej pochodnej : () ( + ) df t f t t f t dt t t= t 0 0 0 Jaki błąd popełniamy przy takim przybliżeniu? Możemy go przedstawić w dziedzinie częstotliwości. Porównamy transmitancje modeli różniczkowania ciągłego G( s) = s i dyskretnego przybliżonego ilorazem różnicowym ( ) G z = f z. s bode(tf([ 0],[ ]), 'r', tf([ -],[ ], ), 'b') Zauważmy, że błąd rośnie dla dużych częstotliwości. Magnitude (db) Phase (deg) 20 0-20 80 35 Bode Diagram 90 0-0 0 0 Frequency (rad/sec)
Przykład: Przybliżenie pochodnej ilorazem różnicowym Komputerowa identyfikacja obiektów dy t Przeprowadźmy transformację modelu inercyjnego pierwszego rzędu o postaci: y () t + T = Ku() t. dt ( + ) y t t y t y() t + T = Ku t t () ( ) ( τ) τ y t + t = y t + K u t gdzie zastosowano podstawienie τ = t T Stosując podstawienia a = τ, b = Kτ i operując numerami próbek odległych o t otrzymujemy model, który może być identyfikowany estymatorem LS: y = + ay + bu i i i lub w zapisie transmitancji operatora z: G( z) y z b = = u z z a Na podstawie N próbek wejścia i wyjścia tworzymy macierze y2 y u y 3 y2 u 2 a y =, U=, θ = b y y u N N N i wykonujemy obliczenia estymatora LS ( θ ˆ = U\ y). Po wyliczeniu wartości współczynników a i b przeliczamy je na współczynniki K i T modelu ciągłego wg zależności odwrotnych: T t ( a) =, K = Tb t. Sprawdźmy czy to działa: >> dt=0.; >> t=0:dt:50*dt; >> u=ones(size(t)); >> y=step(5,[2 ],t); >> U=[y(:end-), u(:end-)']; >> Y=y(2:end); >> p=u\y p = 0.952 0.2439 >> T=dt/(-p()) T = 2.0504 >> K=T*p(2)/dt K = 5.0000
METODY KONWERSJI DZIEDZINY MODELU Tego rodzaju obliczenia dla modeli wyższego rzędu są uciążliwe. Istnieją sformalizowane metody transformacji dla modeli w postaci równań stanu lub transmitancji wykonujące przekształcenie modelu przy szczególnych założeniach o postaci wejścia (np. ekstrapolacja zerowego rzędu pomiędzy próbkami) czy przy przybliżeniu relacji między operatorami czasu ciągłego s i dyskretnego z (np. transformata biliniowa). Najstarszą i najprostszą do zrozumienia metodą jest transformacja przy założeniu stałowartościowego wejścia pomiędzy momentami próbkowania. Jeśli to założenie jest spełnione to obydwa modele są równoważne. Jeśli jednak wejście zmienia się nie w sposób skokowy to model dyskretny jest opisem przybliżonym. Analiza metody jest opisana w każdej książce do automatyki lub identyfikacji systemów (np. podręcznik Sydenhama) a ponieważ wymaga wiedzy z dziedziny układów równań różniczkowych, to zostanie tu pominięta. Wynikiem tej analizy jest zależność między macierzami równań stanu modelu ciągłego i modelu dyskretnego. Matlab oferuje możliwość przeliczania współczynników modelu równań stanu i transmitancyjnego funkcją c2dm dla przejścia z postaci ciągłej na dyskretną i d2cm dla przejścia w drugą stronę dla różnych rodzajów aproksymacji. W identyfikacji modelu ciągłego początkowe przejście od modelu ciągłego do dyskretnego potrzebne nam jest tylko do wyznaczenia rzędu odpowiedniego modelu dyskretnego. Przyjmując rząd modelu dyskretnego równy rzędowi modelu ciągłego, możemy ten krok pominąć. Przyjmowanie takiej samej postaci sparametryzowanego modelu dyskretnego jak ciągłego (po podstawieniu za operator s operatora z) nie zawsze jest poprawne, o czym nas przekona następny przykład. Działa natomiast wyrównywanie w górę rzędów licznika i mianownika.
Przykład: Metoda transformacji biliniowej (Tustina) jω j2π f f 2 Korzystamy z aproksymacji: s s t + s t 2 z z = e = e = e s s t 2 tz + Np. dla rozważanej wcześniej inercji o modelu operatorowym G( s) G z Kτ K Kτ ( z+ ) + = = = 2Tz ( ( ) ) z τ τ τ + + + z tz+ τ + ( z + ) τ K = dostajemy (podstawienie 2 st + τ = t T ): Dla K=5, T=2, t =: G( z) Oczywiście możemy do konwersji (z identycznym wynikiem) wykorzystać funkcje Matlaba: c2d(tf([5],[2 ]),,'tustin') = z + z 0.6 Wynikiem przekształceń modelu w postaci równania różniczkowego jest równanie różnicowe z nowymi współczynnikami a i, b i y + ay + + a y = b u + bu + + b u i i i n i n 0 i i m i m które można przedstawić w postaci transmitancji dyskretnej (dwie równoważne postaci): G z y z m b0 + bz + + bmz u z n + az + + anz = = G z bz + bz + + b z = n n n m 0 m n n z + az + + an
OBLICZENIA LS DLA USTALONEGO MODELU DYSKRETNEGO Stosując metodę LS do tego modelu (relacji pomiędzy próbkami ) operujemy macierzami: U y y u u y y u u n n n m n 2 n+ n m+ = y y u u N N n N N m, θ a a, bm n = b0 Y y y n = n+ y N Chociaż w macierzy U występują próbki wejścia i wyjścia, to dla ujednolicenia nazewnictwa modeli liniowych nazywa się ją macierzą wejść uogólnionych. Po wyznaczeniu rozwiązania θ ˆ = U\ Ypozostaje wrócić do postaci ciągłej modelu (jeśli taka nas interesuje), co można zrobić korzystając z funkcji konwersji d2c(). Uwaga: Ostatecznie uzyskany model ciągły może różnić się rzędami licznika i mianownika od początkowo założonego modelu. Co wtedy zrobić?
CZY ESTYMATOR LS UTRZYMAŁ SWOJE WŁASNOŚCI? (I DLACZEGO NIE) Analiza obciążenia estymatora LS dla modelu opisanego równaniem Y = Uθ+ ε, przeprowadzona na poprzednich zajęciach zakładała niezależność losową wejść obiektu i zakłóceń wielkości wyjściowej. Jak widać z postaci powyższej macierzy, ten warunek w przypadku modelu dyskretnego obiektu dynamicznego nie jest już spełniony, ponieważ pomiary zakłóconego wyjścia znajdują się w macierzy wejścia. Macierz ta jest więc zależna losowo od zakłóceń. Wartość oczekiwana estymatora LS będzie w tym przypadku równa: [ ] T T T T T T E θˆ = E UU UY = UU U E Uθ+ ε = θ+ E U U U ε θ Prosty przykład na tablicy: zakłócenia obserwacji sygnału wejściowego przy wyznaczaniu średniej W ogólnym przypadku jest to więc estymator obciążony, co można łatwo sprawdzić dla podanego wcześniej przykładu obiektu inercyjnego pierwszego rzędu. Musimy tu jednak rozdzielić błąd systematyczny estymat pochodzący od dyskretyzacji (jak to było we wcześniejszym przykładzie) od błędu systematycznego pochodzącego od obecności zakłóceń w macierzy wejść uogólnionych.
MODELOWANIE I IDENTYFIKACJA BEPOŚREDNIO W DZIEDZINIE DYSKRETNEJ W dotychczasowych wywodach wychodziliśmy od modelu z czasem ciągłym, którego parametry miały dla nas znaczenie fizykalne. Dzięki znajomości ich wartości mogliśmy przewidzieć zachowanie się identyfikowanego obiektu i odnieść je do równań fizycznych (dla czasu ciągłego) opisujących to zachowanie. Takie podejście jest stosowane często tylko z powodu nawyków operowania w czasie ciągłym. Nie ma żadnych przeszkód żeby zacząć budowanie modelu od razu w dziedzinie dyskretnej, opisując relacje pomiędzy próbkami sygnałów wejściowych i wyjściowych. Tak zbudowany model można następnie zidentyfikować i używać np. do analizy zachowania w dziedzinie czasu lub częstotliwości. Możemy przy tym używać modeli liniowych typu FIR lub IIR, które w zapisie relacji między próbkami i transmitancji operatora z mają postać: FIR: IIR: y = b u + bu + + b u i 0 i i m i m y + ay + + a y = b u + bu + + b u G( z) i i i n i n 0 i i m i m y z m G z = = b0 + bz + + bmz u z y z m b0 + bz + + bmz u z n + az + + anz = =
Przykład: Identyfikacja parametryczna karty dźwiękowej komputera PC Na zajęciach poświęconych metodom nieparametrycznym używaliśmy metody korelacyjnej z pseudolosowym sygnałem pobudzającym. Wykorzystamy teraz tamte rejestracje sygnałów do identyfikacji parametrycznej z modelem FIR, czyli modelem zależności bieżących próbek wyjścia od bieżących i poprzednich próbek wejścia. Na ćwiczeniach rozszerzymy problem do identyfikacji IIR, czyli poszukiwania zależności wyjścia dodatkowo od poprzednich próbek wyjścia. load sndb_prbs; M=30; % dlugosc licznika L=length(u); % Metoda parametryczna model FIR o dlugosci M U=[]; for i=:m U=[U, u(i:l-m+i)]; end Y=y(M:L); b=u\y; Hls=freqz(b(:M),[], L/2); % Metoda nieparametryczna dla porównania ry=xcorr(y,u,l); ry=ry(end/2:end/2+l-); %plot(ry) H=fft(ry)/(L/4); ids=:l/2; 0 0 0-0 -2 0-3 0 0 0 5 Freqs=(ids-)*fs/L; % Porównanie estymat loglog(freqs, abs(h(ids)),'r.', Freqs, abs(hls), 'b-')
ZADANIA Komputerowa identyfikacja obiektów Zadanie Na podstawie danych z pliku (rozdany na zajęciach dane7-.mat) przeprowadź identyfikację obiektu z modelem dyskretnym drugiego rzędu i po identyfikacji z użyciem funkcji d2cm przejdź do postaci modelu ciągłego. Zweryfikuj model przez sprawdzenie dopasowania wyjścia modelu do pomiarów. Zadanie 2 Przeprowadź identyfikację parametryczną karty dźwiękowej na podstawie rejestracji dostępnych w pliku i po przyjęciu modelu IIR. Najłatwiej będzie to wykonać przez modyfikację programu identyfikacji z modelem FIR. Zweryfikuj wyniki przez porównanie moduły transmitancji IIR z nieparametryczną charakterystyką częstotliwościową. Zadanie 3 Na podstawie odpowiedzi skokowej obiektu inercyjnego RC zarejestrowanej na zajęciach (lub dostępnej w pliku) przeprowadź identyfikację obiektu. Zweryfikuj model przez sprawdzenie dopasowania wyjścia modelu do pomiarów i przez porównanie wartości estymat parametrów z wartościami nominalnymi elementów R i C.
LITERATURA Komputerowa identyfikacja obiektów Mańczak K., Nahorski Z., Komputerowa identyfikacja obiektów dynamicznych, PWN, Warszawa 983 Bubnicki Z., Identyfikacja obiektów sterowania, PWN, Warszawa 974 Eykhoff P., Identyfikacja w układach dynamicznych, PWN, Warszawa980