MIK-130 Systemidentifikasjon Løsningsforslag eksamen 28 mai 2004 Oppgave 1 a Energibalanse: Endring i energi = sum av tilført energi - sum av avgitt energi. Her får en da for vannet E t = (m vc pv T v ) t med tilhørende differensialligning, (2) alternativt (5). For plata får en T v = E t = (m pc pp T p ) t = Q v, (1) Q v (2) = Q p Q v Q r, (3) med tilhørende differensialligning, (4) alternativt (6) eller (7). T p = Q p Q v Q r (4) Oppgave 1 b Varmeoverføringene Q v og Q r er gitt av temperaturdifferansen, mens Q p er et pådrag som styres. En har Q v = (T p T v ) og Q r = k r (T p T r ). Med dette innsatt i differensialligningene i a får vi T p = T v = (T p T v ) = T v + T p (5) T p = Q p (T p T v ) k r (T p T r ) (6) T v + k r T p + 1 Q p + k r T r (7) Her har en tilstandene og pådragene gitt som Tv T x = ẋ = v T p T p u = Qp T r (8) 1
og nå har vi tilstandsligningen m ẋ = Ax + Bu = v c pv +k r x + 0 0 1 k r u (9) og måleligningen blir y = Dx = 1 0 x (10) Oppgave 1 c Modellen er nå en lineær, kontinuerlig, andre ordens modell. Oppgave 1 d Diskretisering av modellen med Eulers forovermetode med samplingstid T gjøres ut fra følgende ligning (se gjerne læreboka side 39, 1.133, for mer detaljer) x(k + 1) = x(k) + T ẋ(k) (11) Fra differensialligningene i 1b, (5) og (7), får vi da T p (k + 1) = T p (k) + T v (k + 1) = T v (k) T T v (k) + T T p (k) (12) T ( kv T v (k) ( + k r )T p (k)+q p (k)+k r T r (k) ) (13) Oppgave 1 e Modellen på diskret tilstandsromform er som hos Haugen side 51, 1.182-183. Altså: x(k + 1) = Φx(k) + Γu(k), (14) y(k) = Dx(k) (15) Her tar vi ikke med direktekoblingsleddet Eu(k) i måleigningen. Med tilstander og pådrag definert som i (8) og diskretisering som i (12) og (13) får vi den diskrete tilstandsligningen x(k + 1) = 1 T kv T m pc pp T 1 T (kv+kr) m pc pp x(k) + 0 0 T T k r u(k) (16) og måleligningen blir y(k) = 1 0 x(k) (17) 2
Oppgave 1 f Tar z-transform av (14), som er en kompakt notasjon for (16), og får Tar z-transform av måleligningen (15) som blir og når vi setter inn for x(z) her får vi Altså har en zx(z) = Φx(z) + Γu(z) (18) (zi Φ)x(z) = Γu(z) (19) x(z) = (zi Φ) 1 Γu(z) (20) y(z) = Dx(z) (21) y(z) = D(zI Φ) 1 Γu(z) (22) h(z) = D(zI Φ) 1 Γ (23) Dette er formelen en spurde etter i oppgaven, hint gitt i oppgaven forklarer hva som skal gjøres og at en er ved målet når en har satt formel (20) inn i (21). En alternativ fullgod løsning er selvsagt også (24). Dessverre er det råd å forstå oppgaven slik at en skal bruke den gitte problemstillingen med tilhørende symboler og konstanter. Hvis en ønsker å regne dette ut er det en del symboler å holde rede på, men det bør gå ganske greitt. Hvis en i tillegg husker formelen for den inverse av ei 2 2 matrise, Haugen C.13, kan en komme et stykke videre fra ligning (24). Men dette er ikke noe å bruke tid på ved eksamen. h(z) = 1 0 Med å bruke symboler z 1 + T kv m vc pv T kv m vc pv T z 1 + T (+k r ) 1 0 0 T T k r (24) T a, T b, T k r c, T d (25) 3
får vi h(z) = 1 0 z 1 + a a b z 1 + b + c 1 0 0 d c (26) z 1 + b + c b h(z) = 1 0 a z 1 + a 0 0 (z 1 + a)(z 1 + b + c) ab d c (27) h(z) = h(z) = siden y(z) = h(z)u(z) får vi y(z) = 0 0 (z 1 + b + c) b d c z 2 + (a + b + c 2)z + 1 (a + b + c) + ac bd bc z 2 + (a + b + c 2)z + 1 (a + b + c) + ac bdq p (z) + bct r (z) z 2 + (a + b + c 2)z + 1 (a + b + c) + ac (28) (29) (30) Og hvis vi setter inn for symbolene igjen y(z) = z 2 2z + ( 1 T 2 (Q p (z) + k r T r (z)) + +k r )T z + 1 ( + +k r )T + k r T 2 (31) En kan også gå videre og sette inn tall som gitt i oppgaven. Uten kalkulator er dette noe regnearbeid. y(z) = z 2 + ( 13074 1308125 1 T 2 (Q 2093000 p (z) + 2T r (z)) T 2)z + 1 13074 1308125 T + 1 1046500 T 2 (32) y(z) = 4.78 10 7 T 2 (Q p (z) + 2T r (z)) z 2 + (0.01T 2)z + 1 0.01T + 9.55 10 7 T 2 (33) Vi ser at for liten T, for dette tilfellet omtrent for T < 10, så vil leddet med T 2 ha svært lite å si i nevneren. I telleren er T 2 en faktor og har dermed betydning også om den blir liten. 4
Oppgave 2 a ARMAX modell er (Haugen side 374, 10.95) Ay(z) = Bu(z) + Ce(z) (34) der A, B og C er polynom i z eller z 1. Ay(z) er AR-leddet, autoregressiv del som som angir hvordan tidligere utverdier (tilstander) av prosessen påvirker nåværende utgang. Bu(z) er X-leddet, exogenous del som viser hvordan nåværende og tidligere verdier av et (kontrollert) inngangssignal påvirker utgangen. Ce(z) er MA-leddet, moving average del som viser hvordan nåværende og tidligere verdier av et hvitt støysignal påvirker utgangen (det kan for eksempel være et flytende veid gjennomsnitt av noen av de foregående støyverdiene). Oppgave 2 b I. ARMAX (MAX?) modell av nullte orden. Når det gjelder bruk av støyleddene i regressorvektoren kan en bruke tidligerer verdier siden disse antas å være beregnet i tidligere tidssteg. Støyledd for tidssteg k skal ikke tas med. Da får en ϕ T (k) = u(k) u(k 1) e(k 1) e(k 2) (35) II. ARMA modell av andre orden. Regressorvektoren er ϕ T (k) = y(k 1) y(k 2) e(k 1) (36) III. ARX modell av første orden. Regressorvektoren er ϕ T (k) = y(k 1) u(k) (37) Oppgave 2 c Minste kvadraters metode (LS) tar utgangspunkt i ligningen y(k) = ϕ T (k)θ + e(k) (38) y(k) er sample nummer k av utgangssignalet, skalar. ϕ(k) er regressorvektoren ved tid k, kolonnevektor med lengde n. θ er vektoren av de ukjente parametrene som skal estimeres, kolonnevektor med lengde n. 5
e(k) er feil nummer k, skalar. Det er kvadrert sum av disse feilene som minimeres i LS. Ligningssystemet som løses består av for eksempel k ligninger, når en har at k-en i (38) går fra 1 til k. Ligningssystemet kan skrives Y (k) = Φ(k)θ, (39) der Y (k) er en vektor med lengde k, Φ(k) er en k n matrise og θ er som før en vektor med lengde n. Dette ligningssystemet er overbestemt når k > n, husk k ligninger og n ukjente, og kan derfor normalt ikke løses eksakt. Oppgave 2 d Har en en prosess som stadig forsyner en med nye data kan det være ønskelig å finne et estimat av parametrene for hvert tidssteg. Dermed har en et gradvis voksende problem å løse siden antall ligninger for hvert tidssteg øker med en. Fordelen med RLS er at en på en rekursiv måte kan løse ligningssystemet Y (k + 1) = Φ(k + 1)θ (40) basert på løsningen (som en antar et en har fra før) fra forrige tiddsteg, altså LS-løsningen for ligningssystemet Y (k) = Φ(k)θ, ˆθ(k). Dermed kan en enkelt oppdatere estimatet etter hvert som en får nye data. RLS krever ikke matriseinvertering. En annen fordel er at en ved å bruke glemmefaktor, som er ganske enkelt å implementere, kan vektlegge de siste (nye) ligningene mer enn de tidligere (gamle) ligningene. Dette er nyttig hvis θ varierer med tiden. Oppgave 2 e Glemmefaktor er λ. Typiske verdier for λ er 0.95 < λ < 0.99. Ved å sette Λ(k) = diag(λ k 1, λ k 2,..., λ 2, λ, 1) (41) kan nå ligningssystemet (39) oppdateres til Λ(k)Y (k) = Λ(k)Φ(k)Θ (42) Hensikten med glemmefaktor er å gi ligningene gradvis midre vekt til eldre de er. I ligningssystemet (42) er den siste ligningen (ligning k) med vekt 1, 6
den nest siste ligningen (ligning k 1) med vekt λ, og ligning (k 2) har vekt λ 2, og så videre. Ligningssystemet (??) løses som et minste kvadraters problem. Ulempen er at en kan på såkalt kovarians-eksplosjon ved at estimatets kovariansmatrise vokser eksponensielt. Det kan skje ved konstant pådrag og lite støy. Oppgave 3 a Haugen forklarer dette i punkt 3 side 319. Ved utledningen av Kalmanfilteret ønsker en å minimalisere varians for kovarians til estimeringsfeilen, samtidig som at estimatoren er forventningsrett. Pådragsleddet Γ(k)u(k) i tilstandsligningen er presist kjent og bidrar ikke til kovarians for estimeringsfeilen. Tar en dette leddet med vil en hele tiden ha unødvendig lange uttrykk, og til slutt vil en (hvis en har holdt riktig orden på alt) komme fram til samme resultat. Tilstandsligningen ville med dette leddet vært: x(k + 1) = Φ(k)x(k) + Γ(k)u(k) + Ω(k)v(k), (43) Matrisa Ω(k) var med i formlene hos Haugen, men jeg tok ikke denne med i utledningen av ligningene i notatet jeg laget, matrisa er heller ikke med i oppgaven. Hvorvidt den er med eller ikke er ikke vesentlig. Oppgave 3 b Støyen, v(k) og w(k) skal være uavhengig, hvit (ikke nødvendigvis normalfordelt, Gaussisk) med middelverdi null og autokovariansmatriser gitt: Ev(k) = 0, Ew(k) = 0, (44) Ev(k)v T (k) = R v (0, k) = Q(k), (45) Ew(k)w T (k) = R w (0, k) = R(k). (46) Ev(k)w T (k) = 0. (47) Støykovariansmatrisene Q(k) og R(k) kan være tidsvarierende og de trenger ikke være diagonale. Men en har alltid at støyen ved et tidssteg er uavhengig av støyen ved andre tidssteg. Oppgave 3 c Et blokkskjema for et prediktor/korrektor Kalman-filter er tegnet i figur 9.27 side 317 hos Haugen. 7
Oppgave 3 d P (k) er kovariansematrise til x(k) x(k), der x(k) er apriori-estimat av tilstanden ved tidssteg k. ˆP (k) er kovariansematrise til x(k) ˆx(k), der ˆx(k) er aposteriori-estimat av tilstanden ved tidssteg k. ˆx(k) er det beste estimatet en får av tilstanden ved tidssteg k, og dermed kaller en gjerne også ˆP (k) for kovariansematrise til estimeringsfeilen. Hvis ˆP (k) betyr det at det er stor usikkerhet for tilstandsestimatene. Oftest er en mest interessert i diagonalelementene siden disse gir et estimat av variansen for hver enkelt av tilstandene. Oppgave 3 e Hvis matrisene Φ(k), Ω(k), Q(k), og R(k) ikke er tidsvarierende, altså har en Φ, Ω, Q, og R, så vil kovariansematrise ˆP (k) (og P (k)) utvikle seg fra initialverdien som gitt ved ligningene uavhengig av tilstandene og målingene. En sier da at en har stasjonære forhold. Da vil kovariansematrise ˆP (k) og Kalman-filterforsterkning K(k) gå mot faste verdier og etter hvert ikke endre seg fra et tidssteg til neste. Da kan en regne ut disse stasjonære verdien en gang for alle og bruke de videre ved tilstandsestimering. Dette gir en enklere (raskere) algoritme. Oppgave 3 f Variabelt arbeidspunkt, eller fortløpende linearisering, skjer ved at en lineariserer omkring aktuell tilstand ved hvert tidssteg. Selv om tilstanden er ukjent, så har en funnet et estimat for denne som en lineariserer omkring. Dette kalles gjerne et utvidet Kalman-filter (Extended Kalman Filter), algoritmen inneholder nå noen ekstra ligninger som gjør lineariseringen. Fast arbeidspunkt vil si at linearisering gjøres omkring et på forhånd valgt arbeidspunkt. En får da en lineær modell og kan bruke Kalman-filter som det er for lineære systemer. Ulempen er gjerne at det lineære systemet en har i modellen kan bli en vel unøyaktig tilnærming til det virkelige ikkelineære systemet, modellfeilen blir større jo lenger en beveger seg bort fra arbeidspunktet. Variabelt arbeidspunkt er mer nøyaktig enn fast arbeidspunkt, men også mer beregningskrevende. 8