DET TEKNISK - NATURVITENSKAPELIGE FAKULTET Institutt for data- og elektroteknikk Eksamen i ELE620, Systemidentifikasjon (10 sp) Dato: tirsdag 17 desember 2013 Lengde på eksamen: 4 timer Tillatte hjelpemidler: Kun standard enkel kalkulator, Citizen SR-270X, HP30S, Casio FX82 eller TI-30. Bokmål Utkast med løsningsforslag, 17. desember 2013. Merknader: Max oppnåelige poeng er gitt for hver oppgave, totalt kan en få 100 poeng. Med 240 minutt totalt kan en fornuftig tidsbruk være å bruke ca 10 minutt for hver 5 poeng, da har en 20 minutt til pauser og 20 minutt ekstra. Merk at oppgavene ikke er sortert etter forventet vanskelighetsgrad. Oppgavesettet er på 4 oppgaver, i tillegg er det med noen nyttige formler i del 5 side 12. Oppgavesettet er totalt 12 sider (inkludert denne forsida).
1 Smelteovn (Antall poeng for denne oppgaven er 25) En kan her tenke seg at prosessen er en smelteovn som i figur 1 side 3. Systemet er gitt av følgende differensialligninger T s = dt s dt = m s c p,s T s + T kv = dt kv dt = T s T kv + 1 Q s + v 1 (1.1) m s c p,s m s c p,s ( + F ) kv T kv + F kv T i + v 2 (1.2) m kv m kv y = T kv + w. (1.3) der de ulike bokstaver (med subskript) representerer ulike fysiske konstanter og egenskaper for systemet, de som ikke viser i figur 1 er: v 1 - prosesstøy for T s, [K/s v 2 - prosesstøy for T kv, [K/s y - måling [K w - målestøy [K a. Sett modellen opp på tilstandsromform (finn matrisene i ligningene under) ẋ = Ax + Bu + Cv y = Dx + w (1.4) Vi setter nå x = [ Ts T kv [ T, ẋ = s T kv [ Qs, u = T i [ v1, v = v 2. De oppgitte differensialligningene kan nå skrives på matriseform som ẋ = [ ( ) + F kv m kv x + [ 1 0 F 0 kv m kv u. Dette mangler bare støyen og måleligningen for å få ønsket form som i ligningssystemet i oppgaven, C som identitetsmatrisen og D = [0, 1. Skriver opp hver matrise og får A = [ ( ) + F kv m kv, B = [ 1 0 F 0 kv m kv. 2
Q s T i F kv T kv F kv T s m s c p,s h A T kv hvor: T s - temperatur i smelten [K (tilstand1/måling1) T kv - Kjølevannstemperatur [K (tilstand2/måling2) T i - Temperatur på kjølevann inn [K c p,s - Spesifikk varmekapasitet i smelte [J/K kg c p,kv - Spesifikk varmekapasitet i kjølevann [J/K kg h A - Produktet av varmeoverføringskoeffisient og areal mellom smelte og kjølevann [J/K s Q s - Effektpådrag i smelten [J/s F kv - flow av kjølevann [kg/s m kv - mengde kjølevann i kappen [kg m s - mengde smelte [kg Figur 1: Prinsippskisse av smelteovn. 3
C = [ 1 0, D = [ 0 1. 0 1 b. Utvikle en diskret tilstandsrommodell som svarer til Euler-forover-diskretisering av modellen funnet i oppgave a. Bruk samplingsintervall T som ikke må forveksles med noen av temperaturene, alle temperaturene har subskript. Skriv den diskrete tilstandsrommodellen på formen det vil si skriv uttrykkene for Φ og Γ. x(k + 1) = Φx(k) + Γu(k) (1.5) Diskretisering med Eulers forovermetode er å sette Φ = I + AT og Γ = BT. Her får vi da Φ = [ 1 T T ( 1 T + F kv m kv ) T, Γ = [ T 0 F 0 kv T m kv. c. En håndregel angir hvor stor øvre grense for valg av tidsteg er. I denne regelen inngår største egenverdi for ei matrise. Hvordan er denne håndregelen og for hvilken matrise er egenverdiene viktige. Håndregelen står i læreboka, hos Haugen i ADC ligning (8.8) side 97, og i mitt notat1 (kap. 3.4.2). Den ble også brukt i øving 6, håndregelen er T 0.1 {eig(a)} max. (1.6) Vi ser at det er (den største av) egenverdiene for matrisa A som er viktige. 2 Kalman-filter (Antall poeng for denne oppgaven er 30) Den fullstendige lineære tilstandsrommodellen for en gitt prosess er x(k + 1) = Φ(k)x(k) + Γ(k)u(k) + Ω(k)v(k), (2.1) y(k) = D(k)x(k) + E(k)u(k) + w(k). (2.2) 4
Ved utvikling av Kalmanfilteret er denne imidlertid redusert til x(k + 1) = Φx(k) + v(k), (2.3) y(k) = Dx(k) + w(k). (2.4) Anta at det er n prosesstilstander i modellen, s pådrag og l målinger. a. Forklar hva de ulike symbolene (det vil si matriser og vektorer) i ligningene ovenfor, (2.1) og (2.2), er og hvilken dimensjon de har. Stikkordspreget forklaring, mer detaljert i læreboka og notat3. x(k) og x(k + 1) er tilstandene ved tidssteg k og k + 1. Dimensjon er n 1. u(k) er pådrag ved tidssteg k. Dimensjon er s 1. v(k) er prosesstøy ved tidssteg k. Dimensjon er n 1. y(k) er måling ved tidssteg k. Dimensjon er l 1. w(k) er målestøy ved tidssteg k. Dimensjon er l 1. Φ(k) er transisjonsmatrisen ved tidssteg k. Dimensjon er n n. Γ(k) er pådragsmatrisen ved tidssteg k. Dimensjon er n s. Ω(k) er forstyrrelsesmatrisen ved tidssteg k. Dimensjon er n n. D(k) er målematrisen ved tidssteg k. Dimensjon er l n. E(k) er direktekoplingsmatrisen ved tidssteg k. Dimensjon er l s. En har ofte at E(k) er null. Det er også vanlig at matrisene ikke er tidsvarierende, altså ikke varierer med k. b. Nå skal dere forklar hvorfor en kan forenkle slik en har gjort fra ligningene (2.1) og (2.2) til ligningene (2.3) og (2.4). Endringene dere skal forklare er de fire første punkt listet nedenfor. Deretter svarer dere på de to siste punkt listet nedenfor. Φ(k) og D(k) har blitt Φ og D. Γ(k) har blitt satt til null (leddet Γ(k)u(k) er fjernet). Ω(k) har blitt satt til identitetmatrisa. E(k) har blitt satt til null. Forklar så de forutsetninger en gjør med hensyn til støy for utledning av Kalman-filter. Forklar så de forutsetninger en gjør med hensyn til initialtilstand for utledning av Kalman-filter. 5
Φ(k) og D(k) har blitt Φ og D fordi de ikke er tidsvarierende, eller gjerne mer presist at det ikke betyr noe for utledingen om de er tidsvarierende. Vi kan da innføre Φ(k) og D(k) igjen når vi har resultatet, det vil si ligningene som kan implementeres. Γ(k) har blitt satt til null (leddet Γ(k)u(k) er fjernet). Dette kan gjøres fordi en kan dele tilstanden i en deterministisk del, og en stokastisk del, x(k) = x d (k) + x s (k). x(k + 1) = Φ(k)x(k) + Γ(k)u(k) + Ω(k)v(k), x d (k + 1) + x s (k + 1) = Φ(k) ( x d (k) + x s (k) ) + Γ(k)u(k) + Ω(k)v(k). Dermed kan en skrive x d (k + 1) = Φ(k)x d (k) + Γ(k)u(k) (2.5) x s (k + 1) = Φ(k)x s (k) + Ω(k)v(k). (2.6) For utledning av Kalmanfilteret ser en kun på stokastisk del i siste ligning, den deterministiske delen har ingen stokastiske element og trenger ikke estimeres. Den kan bestemmes eksakt. Ω(k) har blitt satt til identitetmatrisa. Dette kan gjøres ved å anta at de ulike støykomponenter er uavhengige og at hver virker på kun en av tilstandene. Variansen for støy må da ofte justeres. E(k) har blitt satt til null. Som sagt over har en ofte ikke denne med i systemet i det hele. Og om den er med kan den tas bort her med tilsvarende resonnement som for Γ(k). Vi antar at støyen, v(k) og w(k), har forventningsverdi (middelverdi) null E[v(k) = 0, E[w(k) = 0, (2.7) og at sekvensene v(k) og w(k) er ukorrelerte med hverandre (R vw (τ, k) er en n l matrise) E[v(k + τ)w T (k) = R vw (τ, k) = 0, (2.8) og støyen er hvit, det vil si uavhengig av tidligere verdier, E[v(k + τ)v T (k) = R v (τ, k) = δ(τ)r v (0, k) = Q(k) = Q, (2.9) E[w(k + τ)w T (k) = R w (τ, k) = δ(τ)r w (0, k) = R(k) = R.(2.10) Q og R er da autokovariansmatriser for prosesstøy v(k) og målestøy w(k) henholdsvis. Vi skal også ha at initialtilstanden x(0) skal være en hvit stokastisk variabel med forventningsverdi E[x(0) = m 0. 6
c. Kalmanfilteret sies å være en rekursiv og optimal tilstandsestimator. Det er lineært, forventningsrett og har minimum varians. Hva mener en i denne sammenheng med de fem uthvede ordene/uttrykkene. Rekursiv: tilstandsestimatet ˆx(k) beregnes ut fra estimatet i forrige tidssteg ˆx(k 1). Også andre verdier ved forrige tidssteg kan brukes, her vil det si ˆP (k 1). Optimal: Det er det best mulige lineære estimatet som estimeres. Hvis støy er Gaussisk hvit stokastisk støy så er KF-estimatet det beste av alle mulige estimat. Med best mener en her forventningsrett og minimum varians, se nedenfor. Lineær: Estimatoren skal være en lineær kombinasjon av (estimat av) forrige tilstand og nye målinger. Altså ˆx(k) = K(k) ˆx(k 1) + K(k) y(k) (2.11) Der K(k) og K(k) er n n og n l matriser der elementene velges fritt slik at estimatet blir optimalt. Forventningsrett: Det vil si at forventningsverdien til estmatet er lik sann verdi av estimatet, selv om vi ikke kjenner sann verdi kan vi likevel lage estimatoren slik at den er forventningsrett. Altså: E[ˆx(k) = x(k). Minimum varians: Varians for estimeringsavviket, x(k) = x(k) ˆx(k), minimeres. Når det er flere tilstander blir dette at n i=1 σ2 i minimeres, og der σi 2 = E[( x i x i (k)) 2. 3 Farget støy (Antall poeng for denne oppgaven er 30) a. Hva er definisjonen på generell farget støy? Hvordan kan generell farget støy modelleres? Farget støy er all stokastisk støy som ikke er hvit, det vil si at støyen er 7
korrelert med seg selv. Autokorrelasjonsfunksjonen R ee (l) er ikke lik null for alle tidsforskyvninger l ulik 0: R ee (l) δ(l)σ 2 e. Farget støy modelleres ofte som hvit støy gått gjennom et shaping -filter. En kan også modellere farget støy med en tilstandsrommodell. Følgende diskret-tid filter er et eksempel på et shaping -filter. x(k) = ax(k 1) + (1 a)v(k), (3.1) der 0 a 1 er en parameter. v(k) er hvit støy med varians σ 2 v. x(k) er da et spesielt farget støy signal der parameteren a angir hvor sterk farget støyen er. b. Hva slags signal blir x(k) for grensetilfelene a = 0 og a = 1? Gi også variansen for x(k) i disse tilfellene. For a = 0 har en x(k) = v(k) og x(k) er da hvit støy med varians σ 2 x = σ 2 v. For a = 1 har en x(k) = x(k 1) og x(k), en konstant, σ 2 x = 0. c. Nå antar vi 0 < a < 1 og at forventningsverdien for x ved tid null er m x (0) 0. Hva blir nå forventningsverdien til x(k) for k > 0, altså m x (k)? Vi får ut fra definisjonen m x (k) = E[x(k) = E[ax(k 1) + (1 a)v(k), k = 1, 2,... m x (k) = ae[x(k 1) + (1 a)e[v(k) = am x (k 1), k = 1, 2,... m x (k) = a k m x (0), k = 0, 1, 2,... Her har vi tatt med k = 0 også siden uttrykket over gjelder for alle k 0. Fra pensum husker en kanskje ikke den nøyaktige definisjonen av krysskovarians eller (auto)kovarians, så derfor er den med her: Cov(x(k + τ), y(k)) = R xy (τ, k) = E [ ( x(k + τ) m x (k + τ) ) ( y(k) m y (k) ) T (3.2) Videre for de neste spørsmålene antar vi at m x (0) = 0 og at 0 a 1. d. Signalet x(k) i ligning 3.1 er stasjonært. Hvilke egenskaper har signalet når det er stasjonært? En skiller mellom svakt og sterkt satsjonært, hva er forskellen mellom disse? Stasjonær betyr at de stokastiske egenskapene, forventningsverdi og kovarians 8
for svakt stasjonære signal og alle egenskaper (pdf) for sterkt stasjonære signal, er uavhengige av tidssteget. For stasjonære signal x og y har en R xy (τ, k) = R xy (τ). Med y = x får en: R xx (τ, k) = R xx (τ). e. Hva blir variansen for x(k)? Variansen er kovariansen for τ = 0 altså σ 2 x = R xx (0). Dermed σ 2 x = R xx (0) = E [ ( x(k + 0) m x (k + 0) ) ( x(k) m x (k) ) T = E[x 2 (k) = E[(ax(k 1) + (1 a)v(k)) 2 = E[a 2 x 2 (k 1) + 2a(1 a)x(k 1)v(k) + (1 a) 2 v 2 (k) = a 2 E[x 2 (k 1) + 0 + (1 a) 2 E[v 2 (k) (3.3) der vi har bruk at støyen ved tid k er uavhenging (ukorrelert) med tidligere (gamle) verdier av signalet, altså E[x(k 1)v(k) = 0. Med stasjonært signal får en σ 2 x = a 2 σ 2 x + (1 a) 2 σ 2 v σ 2 x (1 a 2 ) = (1 a) 2 σ 2 v σ 2 x = (1 a)2 1 a 2 σ 2 v = (1 a)(1 a) (1 a)(1 + a) σ2 v = 1 a 1 + a σ2 v (3.4) f. Hva blir autokorrelasjonen R xx (τ). Dette er det samme som (auto)kovariansen når forventningsverdien er null slik som her. Hint: Gjør denne deloppgaven kun hvis du har tid til slutt. En starter direkte fra definisjonen i ligning 3.2 (y x) R xx (τ) = E[x(k + τ)x(k) = E[x(k + τ) (ax(k 1) + (1 a)v(k)) = ae[x(k + τ)x(k 1) + (1 a)e[x(k + τ)v(k) = ar xx (τ + 1) + (1 a)r xv (τ) (3.5) Vi trenger her R xv (τ) = E[x(k + τ)v(k). Dette er 0 når τ < 0 siden v(k) er ukorrelert til tidligere støy og dermed tidligere x(n) verdier, (n < k). For τ = 0 har en R xv (0) = E[x(k)v(k) = E [ (ax(k 1) + (1 a)v(k)) v(k) For τ > 0 har en R xv (0) = ae[x(k 1)v(k) + (1 a)e[v(k)v(k) = (1 a)σ 2 v R xv (τ) = E[x(k + τ)v(k) = E [ (ax(k + τ 1) + (1 a)v(k + τ)) v(k) 9
R xv (τ) = ae[x(k + τ 1)v(k) + (1 a)e[v(k + τ)v(k) = ar xv (τ 1) Dermed har en R xv (τ) = a τ R xv (0) = a τ (1 a)σ 2 v R xv (τ) = { 0, τ < 0 a τ (1 a)σv, 2 τ 0. (3.6) Ved å snu på ligning 3.5 får en R xx (τ + 1) = 1 a R xx(τ) 1 a a R xv(τ) Nå tar vi en og en videre, starter med τ = 0 fra ligning 3.4 R xx (0) = σx 2 = 1 a 1 + a σ2 v R xx (1) = 1 a R xx(0) 1 a ( 1 a R 1 a xv(0) = a 1 + a 1 a ) a a0 (1 a) σv 2 ( 1 a = a(1 + a) (1 ) a)2 (1 + a) σv 2 = (1 a) (1 a)(1 a2 ) σv 2 a(1 + a) a(1 + a) = (1 a)(1 1 a2 ) σ 2 (1 a)a2 v = a(1 + a) a(1 + a) σ2 v = a 1 a 1 + a σ2 v = ar xx (0) = a σx 2 R xx (2) = 1 a R xx(1) 1 a ( 1 a a R xv(1) = 1 + a 1 a ) a(1 a) σv 2 a = (1 a) (1 a)2 (1 + a) 1 + a = a 2 1 a 1 + a σ2 v = a 2 σ 2 x R xx (3) = 1 a R xx(2) 1 a ( a R xv(2) = ( 1 a = a 1 + a 1 a ) a(1 a) a σv 2 = (1 a)(1 (1 a2 ) σv 2 1 + a a 1 a 1 + a 1 a a a2 (1 a) ) σ 2 v = a(a 2 1 a 1 + a σ2 v) = a 3 σ 2 x Noe enklerer blir det faktisk hvis en finner R xx (τ) for τ < 0 og bruker symmetriegenskaper R xx (τ) = R xx ( τ). Med τ < 0 har en fra ligning 3.5. Dermed har en R xx (τ) = ar xx (τ + 1) + (1 a)r xv (τ) = ar xx (τ + 1) R xx (1) = R xx ( 1) = ar xx (0) = a σ 2 x R xx (2) = R xx ( 2) = ar xx ( 1) = a 2 σ 2 x R xx (3) = R xx ( 3) = ar xx ( 2) = a 3 σ 2 x R xx (τ) = a τ R xx (0) = a τ σ 2 x = a τ 1 a 1 + a σ2 v. (3.7) En kan legge merke til at denne formelen gjelder også for a = 1 som gir R xx (τ) = 0 τ, og for a = 0 der en bruker at 0 0 = 1 som gir R xx (τ) = δ(τ)σ 2 v. σ 2 v 10
4 Diskretisering av førsteordenssystem (Antall poeng for denne oppgaven er 15) En kontinuerlig prosess er gitt med følgende transferfunksjon h(s) = y(s) u(s) = 4 2s + 1 (4.1) Prosessen skal diskretiseres med et nullteordens holdeelement med samplingsintervall T = 0.2. Bruk eksakt diskretisering. Gi svaret som den tilsvarende diskrete transferfunksjonen h(z) = y(z)/u(z). Ligning 4.1 kan skrives 0.5 h(s) = 4 s + 0.5 Setter dette inn i lingning 5.1 på formelarket og får { h(z) = (1 z 1 )Z [L 1 0.5 t=t 4 (s + 0.5)s} k (4.2) På formelarket er det oppgitt to transformasjonspar og en kan da finne L{1 e ct } = L{1} L{e ct } = 1 s 1 c + s = c (s + c)s (4.3) Vi setter inn c = 0.5 over og bruker T = 0.2 som gitt i oppgaven og får } h(z) = 4(1 z 1 )Z [{1 e 0.5t t=0.2k = 4(1 z 1 )(Z[1 Z[e k/10 ) ( = 4(1 z 1 1 ) 1 z 1 ) 1 1 z 1 e 1/10 = 4z 1 (1 e 1/10 ) 1 z 1 e 1/10 = 4(1 e 1/10 ) z e 1/10 = 0.3807 z 0.9048 (4.4) 11
5 Formler og ligninger Diskretisering z-transferfunksjon for kontinuerlige prosesser med nullteordens sample- og holdeelement på inngangen: [ h(z) = (1 z 1 )Z L 1 { G(s) s } t=kt. (5.1) Tranformasjonspar, δ( ) er enhetsimpuls og u( ) er enhetssteg. L { e at} = 1 s a (n 1)! s n 1 L { δ(t a) } = e as L { u(t a) } = e as (s a) 2 s L{1} = 1 s, L{t} = 1 s 2 og generelt L{t n 1 } = L { te at} = Z { δ(k) } = 1 Z { δ(k n) } = z n Z { a k u(k) } = z z a Z { ka k u(k) } = az (z a) 2 Z { k 2 a k u(k) } = az(z + a) (z a) 3 Kalman-filter I vår utledning av Kalman-filteret kom vi fram til følgende ligninger som oppsummerer hovedløkka, det er det som gjøres for hvert tidssteg k. x(k) = Φˆx(k 1) + Γu(k 1) (5.2) P (k) = Φ ˆP (k 1)Φ T + Q (5.3) K(k) = P (k)d T (DP (k)d T + R) 1 (5.4) ˆx(k) = x(k) + K(k)[y(k) Dx(k) (5.5) ˆP (k) = (I K(k)D) P (k) (5.6) Matriser Ei 2 2 matrise og den inverse er [ a b A = c d, A 1 = 1 ad bc [ d b c a. (5.7) Determinanten er: det(a) = ad bc. Egenverdier for ei matrise er verdier λ slik at det(λi A) = 0. Derivasjon x = [ x1 x 2 d d sin x = cos x dx [ f1 ( ), f = f 2 ( ) dx gir cos x = sin x (5.8) [ f f1 f 1 x = x 1 x 2. (5.9) f 2 x 1 f 2 x 2 12