Stavanger, 23. juni 2017 Det teknisknaturvitenskapelige fakultet ELE620 Systemidentifikasjon, 2017. Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. Innhold 1 Øving med systemidentifikasjon. 1 1.1 Lag figur med signalene...................... 3 1.2 Impulsrespons............................ 3 1.3 Stegrespons............................. 4 1.4 ARX-modeller............................ 4 1.5 Beste ARX-modell......................... 4 1.6 Verifisering............................. 4 1.7 Grafisk grensesnitt......................... 4 1 Øving med systemidentifikasjon. Hensikt med og bakgrunn for oppgaven Denne oppgaven ønsker å gi en enkel introduksjon til systemidentifikasjon. Vi skal gå gjennom deler av Matlab sin System Identification Toolbox (SIT), og lære å bruke SIT både fra kommandolinje i Matlab og i det grafiske grensesnittet. Figuren nedenfor viser en enkel skisse av et diskret system. Karl Skretting, Institutt for data- og elektroteknikk (IDE), Universitetet i Stavanger (UiS), 4036 Stavanger. Sentralbord 51 83 10 00. Direkte 51 83 20 16. E-post: karl.skretting@uis.no.
e(k) u(k) Ukjent system y(k) Vi har et ukjent system. Dette kan påvirkes av et pådragssignal, gitt som u(k) der k-en indikerer tidssteget, og i tillegg er det også en ikke regulerbar, og kansje også ikke målbar, støy, e(k). Ut av denne prosessen har en et signal, y(k). For å identifisere systemet må vi anta at systemet har en bestemt struktur, og da prøve å tilpasse ulike parametre i modellen slik at modellen passer best mulig med det fysiske systemet, det vil si at modellen virker omtrent som systemet. Valgt modell, inkludert parametren er da en identifikasjon av systemet. Her skal vi ta utgangspunkt i modellen Ay(z) = Bu(z) + Ce(z). (1) Her er A, B og C polynomer i z eller z 1. Systemet er her uttrykkt med z-transferfunksjoner, men siden vi har to innsignal, u og e, har vi to z-transferfunksjoner, H u (z) = B(z)/A(z) og H e (z) = C(z)/A(z). Vi kommer mer tilbake til z-transferfunksjoner senere (Haugen kapittel 11). Modellen over er en generell ARMAX-modell der Ay(z) er AR-leddet, Ce(z) er MA-leddet, og Bu(z) er X-leddet. Som figur kan ARMAX-modellen tegnes e(z) u(z) C B + y(z) 1/A Ofte vil en se at en skriver signalet i tidsdomenet i tilsvarende figurer, altså u(k), y(k) og e(k), eller gjerne uten parameter som indikerer domenet i det hele, u, y og e. e(z), eller i tidsdomenet e(k), er ukjente (ikke målte) forhold som påvirker systemet. Vi skal i oppgaven nedenfor regne at polynomet for støy er 1, altså at C = 1 (eller konstant), da har vi et ARX-system. Figuren for ARMAX-modellen kan alternativt tegnes slik at tilbakekoblingen vises tydeligere, den vises indirekte i boksen 1/A over. Legg merke til at vi i boksen med A-polynomet nå har 1 A og at vi her må ha a 0 = 1 (det er noen en som nesten alltid antar at en har). 2
e(z) C + y(z) + 1 A u(z) B Figur 1: Signalene som skal brukes i øvinga. Det dere skal gjøre Signalene u og y er gitt i ov1.mat, og viser i figur 1. Last disse inn i Matlab. Dere kan gjerne først løse oppgaven fra kommandolinjen i Matlab. Det er nødvendig å se på hjelpetekst for kommandoene som dere bruker. Deretter startes System Identification Toolbox (SIT) GUI fra Matlab kommandolinje, en skriver ident og trykker enter, og dere prøver så å identifisere, det vil si finne parametre for, systemet igjen. Her er oppgavene som skal løses. 3
1.1 Lag figur med signalene Lag en figur som viser både inngangs- og utgangssignalet med tidsteg langs x-aksen. Det vil si lag samme figur som den i figur 1. Dette er greitt for å sjekke at du har de riktige data, og at du behersker grunnleggende plotting med Matlab. 1.2 Impulsrespons Lag data for System Identification Toolbox med iddata. Ta så detrend av data. Første halvdel av data (signalene) skal brukes for estimering og andre halvdel skal brukes for verifisering. Estimer implusresponsen for systemet, impulseest og impulseplot, og lag en figur som viser denne. Hva kan du si ut fra estimert impulsrespons? 1.3 Stegrespons Estimer stegresponsen for systemet, stepplot, og lag en figur som viser denne. Hva kan du si ut fra estimert stegrespons? 1.4 ARX-modeller Bruk Matlab-funksjonen arx til å estimere parametrene for en ARX-modell. Merk at en i Matlab (og også i mange lærebøker) skriver q i stedet for z i polynomene. La forsinkelsen nk være 2, prøv med orden for systemet (na) 1, 2 eller 3 (AR-delen) og for X-delen (nb) 1 til 4 paramtre. Det blir da 12 ulike kombinasjoner dere skal prøve. For hver kombinasjon finn Akaike Final Prediction Error, fpe, og skriv resultatene i en tabell. na=1 na=2 na=3 nb=1 nb=2 nb=3 nb=4 Kommenter resultatene. Hvilken av modellene synes som den beste? 1.5 Beste ARX-modell Hva er parametrene, A og B polynomene, i den beste modellen? 4
1.6 Verifisering Bruk verifiseringdata og beregn parametrene for modellen med orden som i forrige oppgave, men nå basert på verifiseringsdata. Hva blir parametrene, A og B polynomene, nå? 1.7 Grafisk grensesnitt Start det grafiske grensesnittet, ident, og last inn data for estimering. Utfør nå en tilsvarende systemidentifikasjon som i Getting Started i SIT-dokumentasjonen, eksempelet som kalles Tutorial Identifying Linear Models Using the GUI, data som brukes i eksempelet er dryer2 men dere kan like gjerne bruke http://www.ux.uis.no/~karlsk/ele620/ov1.mat og se om det dere finner nå passer med det dere har i de tidligere oppgavene. Les dokumentasjon og hjelpetekst og få fram vinduet med tittelen ARX model structure selection, prøv å inkludere denne figuren i rapporten. Prøv noen av mulighetene i SIT-GUI, se del 2 The Graphical User Interface i Users Guide (SIT-UG). Hvilke modell er best nå? 5