6. Stokastiska system 6. Reglering av stokastiska system Vi har hittills använt deterministiska modeller, inklusive deterministiska störningar, såsom steg, ramper och sinussignaler som inte varierar slumpmässigt. I praktiken är dock olika typer av störningar, såsom mätbrus, till sin natur stokastiska. I kursinledningen visades exempel på att störningstypen (dvs huruvida störningen är deterministisk eller stokastisk) kraftigt kunde påverka reglerkvaliteten. I exempel 5.5 visades att periodiska variationer i utsignalen, som inte beaktades vid designen av en observatör, kunde göra observatören oanvändbar. Det är därför av intresse att kunna inkludera stokastiska störningar i systembeskrivningen beakta dessa vid regulatordesign och tillståndsestimering I detta kapitel skall vi behandla sådana metoder. Reglerteknik II illståndsmetoder (419301) 6 1
6. Stokastiska system 6.1 Stokastiska variabler 6.1.1 Några definitioner En stokastisk variabel xt () antar slumpmässigt ett värde så att varje tänkbart utfall har en viss sannolikhet. En stokastisk process är en familj av stokastiska variabler { xt (), t } av utfall för den stokastiska variabeln. Speciellt om { 0,1, 2, }, dvs en följd är det frågan om en diskret stokastisk process. En stokastisk process karakteriseras av ett medelvärde mx () t = E[ x()] t (6.1.1) där E[ xt ( )] betecknar väntevärdet av den stokastiska variabeln xt (). Variansen för en stokastisk process definieras 2 2 x t x t mx t σ () = E[( () ()) ] (6.1.2) Reglerteknik II illståndsmetoder (419301) 6 2
6.1.1 Några definitioner En stokastisk process karakteriseras av kovariansfunktionen Rxx( t, s) = E[( x( t) mx( t))( x( s) mx( s))] (6.1.3) där t och s betecknar två tidpunkter; om s = t fås variansen. En stationär stokastisk process har egenskaper som inte beror av absolut tid. För en svagt stationär stokastisk process är medelvärdet, variansen och kovariansfunktionen oberoende av absolut tid (men inte nödvändigtvis andra egenskaper), dvs mx = E[ x( t)] (6.1.4) 2 2 σ x = E[( xt ( ) mx( t)) ] (6.1.5) R ( τ ) R (, t t+ τ) = E[( x() t m ())( t x( t+ τ) m ( t+ τ))] (6.1.6) x xx x x En normalfördelad stokastisk process har en klockformad frekvensfunktion 1 f( x) e σ 2π x 1 x m 2 σ x 6.1 Stokastiska variabler 6 3 x 2 = (6.1.7) som är fullständigt definierad av den stokastiska variabelns medelvärde och varians. En normalfördelad stokastisk variabel sägs ofta vara Gaussfördelad.
6.1 Stokastiska variabler 6.1.2 Stokastiska störningar Stokastiska störningar kallas ofta för brus; alldeles speciellt processbrus wt (), som påverkar systemets tillståndsvariabler mätbrus vt (), som påverkar systemets mätsignaler (dvs utsignaler) idsdiskret vitt brus ek ( ) är en följd av oberoende utfall av en stokastisk variabel, vilket betyder att kovariansen Re ( τ ) = 0, τ 0 (6.1.8) Dessutom underförstås vanligtvis också att vitt brus har väntevärdet noll, dvs m e = 0. Om man har en stokastisk variabel xk ( ) med ett väntevärde olika noll kan man definiera en ny stokastisk variabel ek ( ) = xk ( ) mx som har väntevärdet noll. Vita brusets egenskaper betyder att vitt brus inte kan predikteras. Man kan säga att det tidigare förloppet hos vitt brus inte innehåller någon information om dess framtida värden. Färgat brus är korrelerat brus, dvs (6.1.8) gäller inte. Detta betyder också att korrelerat brus kan predikteras. Färgat brus kan genereras från vitt brus med en stokastisk modell. 6. Reglering av stokastiska system 6 4
6. Stokastiska system 6.2 Den stokastiska modellen En tidsdiskret tillståndsmodell inkluderande stokastiska störningar har allmänt formen x( k+ 1) = Fx( k) + Gu( k) + w( k) (6.2.1) y( k) = Cx( k) + Du( k) + v( k) där w ( k) är processbrus, v ( k) är mätbrus och i övrigt sedvanliga beteckningar. Givetvis bör de stokastiska störningarna ha samma dimensioner som x ( k) respektive y ( k). För att betona att utsignalen y ( k) inkluderar mätfel, föredrar vi att kalla den för mätsignal. Vi antar att störningarna har väntevärdena noll, dvs E[ w( k )] = 0, E[ v( k )] = 0 (6.2.2) Ytterligare antar vi att störningarna är vitt brus, vilket betyder att E[ w( k) w( k ) ] = R w, E[ w( k) w( t) ] = 0, t k (6.2.3) E[ v( k) v( k ) ] = R v, E[ v( k) v( t) ] = 0, t k (6.2.4) E[ w( k) v( t ) ] = 0, alla t (6.2.5) Märk att R w och R v är symmetriska positivt (semi)definita matriser. Reglerteknik II illståndsmetoder (419301) 6 5
6.2 Den stokastiska modellen 6.2.1 illståndsvektorns kovariansmatris Vi skall börja med att studera tillståndsvektorns väntevärde. I avsaknad av reglering, dvs då u( k ) = 0, gäller E[ x( k+ 1)] = E[ Fx( k) + w( k)] = E[ Fx( k)] + E[ w( k)] = FE[ x ( k)] dvs m ( k + 1) = Fm ( k) (6.2.6) x Av detta följer att för ett stabilt system måste gälla att mx( k) 0 när k oberoende av begynnelsevärdet m x(0). För en stationär process gäller därmed mx = 0. illståndsvektorns kovariansmatris vid tidpunkten k + 1 definieras P ( k + 1) E[( x( k + 1) m ( k+ 1))( x( k+ 1) m ( k+ 1)) ] (6.2.7) x x x Beaktande av (6.2.1) och (6.2.6) ger x( k+ 1) mx( k+ 1) = F( x( k) mx( k)) + w ( k) Insättning i (6.2.7) ger efter utbrytning av termer innehållande w( k) x 6. Reglering av stokastiska system 6 6
6.2.1 illståndets kovarians x k + = k x k k x k + k k Fxk mx k wk + wk xk mx k F P ( 1) E[ F( x( ) m ( ))( x( ) m ( )) F ] E[ w( ) w( ) ] +E[ ( ( ) ( )) ( ) ] E[ ( )( ( ) ( )) ] Här är w ( k) okorrelerad med både m x( k) och x ( k) (som påverkas av w ( k 1) men inte av w ( k) ). Väntevärdet av de berörda termerna är då noll och vi får x( k+ 1) = x( k) + w P FP F R (6.2.8) där P x( k) införts enligt motsvarande definition som (6.27) och R w enligt (6.2.3). Kovariansmatrisen kan beräknas rekursivt enligt (6.2.8). För ett stabilt system kommer kovariansmatrisen att gå mot en konstant matris P x, dvs P ( k) P, när k (6.2.9) Den stationära kovariansmatrisen P x fås också ur ekvationen x x x = x + w P FP F R (6.2.10) 6.2 Den stokastiska modellen 6 7
6.2.1 illståndets kovarians 4Exempel 6.2.1 Beräkning av stationära variansen för ett tillstånd. Betrakta ett första ordningens system som beskrivs av den stokastiska modellen där Ekvation (6.2.10) ger P x xk ( + 1) = 0,9 xk ( ) + wk ( ) E[ wk ( )] = 0, E[ wk ( ) ] = 1 = 0,9 P 0,9 + 1 P = 5,26 x Vi kan konstatera att tillståndets stationära varians blir flerfalt större än processbrusets varians. 2 x Kan tillståndets varians bli mindre än processbrusets varians för något stabilt system? 3 6.2 Den stokastiska modellen 6 8
6.2 Den stokastiska modellen 6.2.2 Mätsignalvektorns kovariansmatris Sambandet mellan mätsignalvektorn och tillståndsvektorn ges av y( k) = Cx( k) + Du( k) + v ( k) (6.2.11) där v ( k) är mätbruset. I avsaknad av reglering ges mätsignalens väntevärde av E[ y( k)] = E[ Cx( k)] + E[ v( k)] = CE[ x ( k)] dvs my( k) = Cm x( k) (6.2.12) Uppenbarligen gäller för en stationär process my = Cmx = 0. Mätsignalvektorns kovariansmatris kan härledas på liknande sätt som ovan. Definitionen ger samt den stationära kovariansen P ( k) E[( y( k) m ( k))( y( k) m ( k)) ] (6.2.13) y y y y ( k) = x( k) + v P CP C R (6.2.14) y = x + v P CP C R (6.2.15) 6. Reglering av stokastiska system 6 9
6.2.2 Mätsignalens kovarians 4Exempel 6.2.2 Beräkning av stationära variansen för en mätsignal. Antag att mätsignalen för systemet i exempel 6.2.1 ges av där Enligt (6.2.15) fås P y y( k) = x( k) + v( k) E[ vk ( )] = 0, E[ vk ( ) ] = 1 = 1 P 1+ 1 P = 6,26 x Vi kan notera att mätsignalens stationära varians blir ännu större än tillståndets stationära varians. 2 y Är detta en generell egenskap för ett stokastiskt system? 3 6.2 Den stokastiska modellen 6 10
6. Stokastiska system 6.3 Återkoppling av mätsignalvektorn I detta avsnitt skall vi studera hur återkopplad reglering påverkar de beroende signalernas kovarianser. Vi använder en reglerlag av formen u Ky (6.3.1) ( k) = ( k) vilket innebär att utsignalens börvärde är noll. Eftersom det är ( k) det naturligt att anta att u ( k) inte påverkar y ( k), utan y ( k + 1) y som återkopplas är. Detta innebär att systemet antas vara strikt propert och att D= 0. Insättning av (6.3.1) i (6.2.1) ger modellen för det reglerade systemet. Kombinering av de olika ekvationerna ger x( k+ 1) = ( F GKC) x( k) GKv( k) + w ( k) (6.3.2) y( k) = Cx( k) + v ( k) (6.3.3) Märk att denna modell och de uttryck som härleds i det följande endast gäller för en återkoppling av formen (6.3.1), inte för en tillståndsåterkoppling. Reglerteknik II illståndsmetoder (419301) 6 11
6.3 Återkoppling av mätsignalen 6.3.1 illståndsvektorns kovariansmatris På grund av återkopplingen påverkar, förutom processbruset w ( k), även mätbruset v ( k) tillståndet x ( k + 1). illståndet x ( k) är dock oberoende av både v ( k) och ( k) Dessutom är v ( k) och ( k) w. w sinsemellan oberoende enligt (6.2.5). På liknande sätt som vid härledningen av (6.2.8) fås då x( k + 1) = ( ) x( k)( ) + v + w P F GKC P F GKC GKR K G R (6.3.4) Liksom tidigare kan den stationära kovariansen P x beräknas ur (6.3.4) med substitutionerna P ( k+ 1) = P ( k) = P. x x x 4Exempel 6.3.1 Variansen för ett tillstånd vid återkoppling av mätsignalen. Antag att systemet exempel 6.2.1 kan regleras med en insignal uk ( ) enligt modellen xk ( + 1) = 0,9 xk ( ) + 2 uk ( ) + wk ( ), yk ( ) = xk ( ) + vk ( ) med samma brusegenskaper som tidigare. Antag att reglerlagen är uk ( ) = 0,3 yk ( ). Enligt (6.3.4) blir stationära variansen av tillståndet P = (0,9 2 0,3 1) P (0,9 2 0,3 1) + 2 0,3 1 0,3 2+ 1= 0,09P + 1,36 P = 1, 49 x x x Vi ser att variansen reducerats betydligt från det oreglerade fallet. 3 6. Reglering av stokastiska system 6 12 x
6.3 Återkoppling av mätsignalen 6.3.2 Utsignalvektorns kovariansmatris För ett strikt propert system påverkas yk ( ) inte av uk ( ) och sambandet mellan yk ( ) och xk ( ) är oförändrat och ges av ekvation (6.3.3). Om kovariansen för mätsignalvektorn uttrycks med hjälp av tillståndsvektorn kovarians är sambandet det samma som tidigare, dvs ekvation (6.2.14) och (6.2.15) gäller. Detta betyder att mätsignalens varians alltid kommer att vara större än tillståndets varians trots att det är mätsignalen som återkopplas. 4Exempel 6.3.2 Variansen för mätsignalen vid återkoppling av densamma. Stationära variansen för utsignalen i exempel 6.3.1 blir enligt (6.2.15) P y = 1 P 1+ 1= 2,49 x Utsignalens varians blir således också betydligt mindre än i det oreglerade fallet. 3 6. Reglering av stokastiska system 6 13
6.3 Återkoppling av mätsignalen 6.3.3 Reglersignalvektorns kovariansmatris Insättning av (6.3.3) i reglerlagen (6.3.1) ger som ger dvs u( k) = Ky( k) = KCx( k) Kv ( k) (6.3.5) E[ u( k)] = KE[ y( k)] = KCE[ x( k)] KE[ v( k)] = KCE[ x ( k)] m ( k) = Km ( k) = KCm ( k) (6.3.6) u y x För en stationär process gäller då mu = Kmy = KCmx = 0. Reglersignalvektorns kovariansmatris kan härledas på samma sätt som tidigare. Vi har Pu( k) E[( u( k) mu( k))( u( k) m u( k)) ] (6.3.7) som ger P ( k) = KP ( k) K = KCP ( k) C K + KR K (6.3.8) samt den stationära kovariansen u y x v u = y = x + v P KP K KCP C K KR K (6.3.9) 6. Reglering av stokastiska system 6 14
6.3.3 Reglersignalens varians 4Exempel 6.3.3 Variansen för reglersignalen vid återkoppling av mätsignalen. Stationära variansen för reglersignalen i exempel 6.3.1 och 6.3.2 blir enligt (6.3.9) P u = 0,3 P 0,3 = 0, 22 y Som sammanfattning visas signalvariationerna för det oreglerade fallet nedan och för det reglerade fallet till höger. 3 6.3 Återkoppling av mätsignalvektorn 6 15
6.3 Återkoppling av mätsignalen 6.3.4 Minimering av en kvadratisk förlustfunktion Varianserna av tillståndsvektorns element är uppenbarligen mått på reglerkvaliteten medan varianserna av reglersignalvektorns element är mått på regleråtgärdernas styrka. En förlustfunktion av formen J = E[ x( k+ 1) Qxx( k+ 1) + u( k) Quu ( k)] (6.3.10) där Q x och Q u är symmetriska viktmatriser, kan då användas som ett mått på den totala reglergodheten. Här har för enkelhets skull antagits att tillståndens och reglersignalernas väntevärden är noll; om inte bör avvikelserna från dessa användas i enlighet med definitionerna i avsnitt 6.1.1. Märk att x ( k + 1) ingår eftersom u ( k) inte kan påverka x ( k). Vi önskar en förlustfunktion där tillståndens och reglersignalernas kovariansmatriser ingår explicit. Vi noterar att för två godtyckliga n -dimensionella vektorer a och b gäller n ab 11 ab= ab i i= tr = tr( ab) = tr( ba) i= 1 ab n n (6.3.11) där tr betecknar spåret av en matris som är lika med summan av dess diagonalelement. 6. Reglering av stokastiska system 6 16
6.3.4 Minimering av en kvadratisk förlustfunktion illämpning av (6.3.11) på (6.3.10) ger Jk ( ) = E[ x( k+ 1) Qxx( k+ 1) + u( k) Quu( k)] = E[tr( Qx x ( k + 1) x( k + 1) ) + tr( Qu u ( k) u( k) )] = tr( QxE[ x( k + 1) x( k + 1) ]) + tr( QuE[ u( k) u( k) ]) tr( ( k 1)) tr( ( k)) = QP + + QP x x u u där vi utnyttjat det faktum att viktmatriserna är symmetriska (dvs stationära beteendet fås tr( ) tr( ) = Q Q). För det (6.3.12) J = QP + QP (6.3.13) x x u u 4Exempel 6.3.4 Beräkning av stationärt värde för en kvadratisk förlustfunktion. Låt förlustfunktionen i de tidigare betraktade exemplen vara 2 2 J ( k) = E[ x( k+ 1) + 10 u( k) ] = P ( k+ 1) + 10 P ( k) J = P + 10P För det oreglerade systemet fås J oreglerat = 5, 26 + 10 0 = 5, 26. x För det reglerade systemet fås J reglerat = 1, 49 + 10 0, 225 = 3, 74. 3 6.3 Återkoppling av mätsignalvektorn 6 17 u x u
6.3.4 Minimering av en kvadratisk förlustfunktion Eftersom vi härlett uttryck för P x och u reglerlagen (6.3.1) är det möjligt att bestämma K så att förlustfunktionen (6.3.13) minimeras. Vi skall illustrera detta med ett exempel. P som funktion av regulatorförstärkningen K i 4Exempel 6.3.5 Minimering av en kvadratisk förlustfunktion. Låt oss för systemet i de tidigare exemplen bestämma förstärkningen K i reglerlagen uk ( ) Kyk ( ) = så att förlustfunktionen J = P + 10P minimeras. Vi har 2 2 x 2 2 x P = (0,9 2 K) P + 4K + 1 och x P = K P + K. u Problemet kan lösas genom sedvanlig optimering. I vidstående figur har J, P x och P u uppritats som funktion av K. Minimum J min = 2, 28 fås för K = 0,13 som ger P x = 1, 82 och P u = 0,047. 3 x u 6.3 Återkoppling av mätsignalvektorn 6 18
6. Stokastiska system 6.4 Linjärkvadratisk Gaussisk (LQG) reglering I föregående avsnitt använde vi en reglerlag som återkopplade mätvärdet y ( k). Vi konstaterade att det var möjligt att bestämma en optimal återkoppling genom minimering av en stokastisk förlustfunktion. Frågan är om det faktiskt är optimalt att direkt återkoppla mätvärdet. Finns det en bättre regulatorstruktur? Vi kan konstatera följande: Mätvärden har alltid högre varians än motsvarande tillstånd. Detta är klart av (6.2.11) och (6.2.14/15). Om tillståndvektorn vore känd, borde man då erhålla bättre reglering genom tillståndsåterkoppling. Om tillståndsvektorn inte är känd kan den estimeras, såsom visats i avsnitt 5.3. illståndsvektorn är då inte känd med säkerhet, men det är möjligt att den ger bättre information än (ett fåtal) mätningar behäftade med mätbrus. Vi skall i det följande undersöka dessa frågor närmare Reglerteknik II illståndsmetoder (419301) 6 19
6. Stokastiska system 6.4.1 Problemformulering Vi skall begränsa behandlingen till strikt propra system, dvs system där det inte finns en direkt verkan av reglersignalen på utsignalen. Modellen har då formen där w ( k) och ( k) v är normalfördelade störningar med väntevärdet noll och kovarianserna x( k+ 1) = Fx( k) + Gu( k) + w( k) y( k) = Cx( k) + v( k) (6.4.1) E[ w( k) w( k ) ] = R w, E[ w( k) w( t) ] = 0, t k (6.4.2) E[ v( k) v( k ) ] = R v, E[ v( k) v( t) ] = 0, t k (6.4.3) E[ w( k) v( t ) ] = 0, alla t (6.4.4) Orsaken till att störningarna antas vara normalfördelade kommer inte att framgå, men de givna resultaten förutsätter (om man vill vara helt strikt) detta antagande. Detta är också orsaken till att reglerlagen kallas Gaussisk (som har med normalfördelning att göra). Reglerteknik II illståndsmetoder (419301) 6 20
6.4.1 Problemformulering Som förlustfunktion väljer vi en allmännare funktion än den som användes i avsnitt 6.3. Vi önskar minimera N 1 N x u k = 0 J = E[ x( N) Q x( N) + ( x( k) Q x( k) + u( k) Q u ( k))] (6.4.5) N där Q N, Q x och Q u är symmetriska och positivt (semi)definita matriser. Vikten det möjligt att behandla sluttillståndet annorlunda än andra tillstånd. Q N gör Vi önskar finna en reglerlag som minimerar (6.4.5) med bivillkoren (6.4.1) (6.4.4). u. Givetvis kan endast information upp till tidpunkten k användas för bestämning av ( k) Problemet kan lösas genom stokastisk dynamisk programmering. Lösningen visar att det är optimalt att återkoppla hela tillståndsvektorn. Detta gäller såväl när den är exakt känd som när den estimeras optimalt med ett Kalmanfilter (avsn. 6.5). Vi skall här endast behandla det stationära fallet, som fås när N. Förlustfunktionen modifieras då till N 1 x u k = 0 1 J = lim E[ ( x( k) Q x( k) + u( k) Q u ( k))] (6.4.6) N N 6.4 Linjärkvadratisk Gaussisk (LQG) reglering 6 21
6.4 LQG-reglering 6.4.2 Fullständig tillståndsinformation Vi skall inledningsvis behandla fallet med fullständigt känd tillståndsvektor. Den stationära optimala reglerlagen som minimerar förlustfunktionen (6.4.6) är då där u( k) = Kx ( k) (6.4.7) 1 K = ( G SG + Q ) u G SF (6.4.8) S = F S( F GK) + Q x (6.4.9) Sambanden (6.4.8) och (6.4.9) kan uttryckas på olika sätt, vilket är förklaringen till att man ibland ser andra ekvivalenta uttryck. Vi kan notera att störningarnas statistiska egenskaper inte påverkar den optimala reglerlagen när tillståndsvektorn är fullständigt känd. Lösningen är (föga överraskande) densamma som för tidsdiskret linjärkvadratisk reglering i avsnitt 5.2.2, där den dock uttrycktes aningen annorlunda. 6. Reglering av stokastiska system 6 22
6.4 LQG-reglering 6.4.3 Ofullständig tillståndsinformation Om tillståndsvektorn inte är känd, vilket den inte är i praktiken, måste den estimeras. Låt xˆ( k ) beteckna ett estimat av x ( k) med användande av information upp till tidpunkten k. Vanligtvis är = k eller = k 1. Om estimatet är optimalt, vilket kan erhållas med ett Kalmanfilter, är den optimala reglerlagen u( k) = Kxˆ ( k ) (6.4.10) där K bestäms enligt (6.4.8) och (6.4.9), dvs precis som i fallet med fullständig tillståndsinformation. Störningarnas statistiska egenskaper kommer dock att påverka estimatet xˆ( k ). Det faktum att den optimala lösningen kan separeras i en del som ger den optimala återkopplingen (och som inte beror av störningsegenskaperna) och en del som ger det optimala estimatet brukar kallas separationsteoremet. I nästa avsnitt skall vi härleda det optimala estimatet. 6. Reglering av stokastiska system 6 23
6. Stokastiska system 6.5 Kalmanfilter Såsom ovan framgått behöver vi för LQG-reglering ett estimat av tillståndsvektorn. Vi har i avsnitt 5.3 härlett en observatör för ändamålet. Den ställdes in genom polplacering av estimeringsfelets tillståndsekvation. Metoden har dock följande nackdelar: Vi hade inget kriterium som kunde användas för att finna en optimal observatör. Vi kan beakta störningar av stegtyp, men inte stokastiska störningar av den typ vi har här. Ex. 5.5 antyder att observatören kan fungera mycket dåligt för sådana störningar. 6.5.1 Problemformulering Vi vill i stället skatta tillståndsvektorn ( k) y(0),, y( ), k utifrån mätdata { } x så bra som möjligt med beaktande av modellen (6.4.1) och störningarnas natur (6.4.2) (6.4.4) Vi betecknar en sådan skattning xˆ( k ), där k är den tidpunkt för vilken tillståndsvektorn skattas är tidpunkten för senast tillgängliga mätdata för skattningen (dvs den tidpunkt när skattningen görs) Reglerteknik II illståndsmetoder (419301) 6 24
6.5.1 Problemformulering Man talar om prediktering ifall < k (predikterande skattning) filtrering ifall = k (filtrerande skattning) (Ifall > k talar man om glättning, vilket innebär att man filtrerar gamla tillstånd.) Man vill givetvis använda så färsk information som möjligt, vilket innebär att man helst använder = k (filtrering) = k 1 ifall = k inte kan användas (1-stegsprediktion) Vi definierar den optimala skattningen som den skattning som minimerar (en lämplig förlustfunktion bestående av) skattningsfelets kovariansmatris P( k ) E[ δx( k ) δx ( k )], δ x( k ) x( k) xˆ ( k ) (6.5.1) Vi definitionen av P( k ) har vi antagit att E[ δ x( k )] = 0, men även om så inte vore fallet kommer de i det följande härledda kovariansuttrycken inte att förändras. 6.5 Kalmanfilter 6 25
6.5 Kalmanfilter 6.5.2 Predikterande Kalmanfilter Vi har modellen x( k+ 1) = Fx( k) + Gu( k) + w( k) (6.5.2) y( k) = Cx( k) + Du( k) + v( k) där alla signaler antas ha väntevärdet noll samt störningsegenskaperna E[ w( k) w ( k )] = R w, E[ v( k) v ( k )] = R v, E[ v( k) w ( k )] = R vw (6.5.3) Om D 0, kan man vid beräkningen av u ( k) i regleralgoritmen inte utnyttja y ( k). Detta betyder att < k måste användas vid beräkningen av skattningen xˆ( k ). Även om D 0, är det tänkbart att y ( k) inte kan användas ifall beräkningstiden är lång. = I praktiken kan = k 1 alltid användas. Det predikterande Kalmanfiltret har då formen p ( ) xˆ( k+ 1 k) = Fxˆ( k k 1) + Gu( k) + H ( k) y( k) Cxˆ( k k 1) Du ( k) (6.5.4) där H p ( k) avgör hur mycket den nya information som y ( k ) ger skall beaktas. I det följande skall vi härleda ett optimalt H p ( k) som minimerar estimeringsfelet kovarians. 6. Reglering av stokastiska system 6 26
6.5.2 Predikterande Kalmanfilter Prediktionsfelets kovariansmatris För prediktionsfelet δ x( k + 1 k) = x( k+ 1) x ˆ( k + 1 k) kan vi genom insättning av modellen (6.5.2) och Kalmanfiltret (6.5.4) härleda δ x( k+ 1 k) = Fδx( k k 1) + w( k) Hp ( k) ( Cδx( k k 1) + v( k) ) (6.5.5) = ( F Hp( k) C) δ x( k k 1) + w( k) Hp( k) v( k) Här är w ( k) och v ( k) okorrelerade med δ x ( k k 1). För prediktionsfelets kovariansmatris där R w, P( k + 1 k) E[ δx( k+ 1 k) δx ( k+ 1 k)] fås då p p w p v p p vw vw p P( k + 1 k) = ( F H ( k) C) P( k k 1)( F H ( k) C) R v och + R + H ( k) R H ( k) H ( k) R R H ( k) R vw insatts i enlighet med (6.5.3). Ekvation (6.5.6) är kvadratisk m.a.p. H p ( k), vilket vi skall utnyttja för att genom kvadratkomplettering hitta den lösning som minimerar varianserna i P ( k+ 1 k). (6.5.6) 6.5 Kalmanfilter 6 27
6.5.2 Predikterande Kalmanfilter Den optimala lösningen Vi försöker skriva (6.5.6) på formen P( k+ 1 k) = ( H ( k) X) Y( H ( k) X) + Z (6.5.7) p så att Z är oberoende av H p ( k). Det är då klart att Hp ( k ) = X minimerar ( k+ 1 k ) Eftersom (6.5.7) innehåller termen p 6.5 Kalmanfilter 6 28 p p H ( k) YH ( k) är det klart från (6.5.6) att P. Y = CP( k k 1) C + R v (6.5.8) Vidare innehåller (6.5.7) termerna H p ( k) YX och XYH p ( k). Från (6.5.6) fås då XY = FP( k k 1) C + R vw (6.5.9) som ger X och därmed också det optimala H p ( k). Resultatet är som vidare ger p 1 vw v ( k ) ( ( k k 1) )( ( k k H = FP C + R CP 1) C + R ) (6.5.10) w p v p P( k+ 1 k) = FP( k k 1) F + R H ( k)( CP( k k 1) C + R ) H ( k) (6.5.11)
6.5.2 Predikterande Kalmanfilter Stationär lösning Vi noterar att (6.5.10) och (6.5.11) inte är beroende av mätdata y ( k) eller de tillståndsprediktioner som (6.5.4) ger, endast av modellparametrar och störningarnas statistiska egenkaper. Därmed kan matriserna H p ( k) och P ( k+ 1 k ) beräknas rekursivt enligt (6.5.10) och (6.5.11) oberoende av själva tillståndsestimeringen. När k erhålles då en stationär lösning. Som startvärden för den rekursiva beräkningen kan användas xˆ(0 1) = E x(0) = 0, (0 1) E[ (0) (0)] P = x x = R w (6.5.12) Den stationära förstärknings- och kovariansmatrisen H p resp. P p fås också ur 1 p = ( p + vw )( p + v ) H FPC R CPC R (6.5.13) p = p + w p( p + v) p P FP F R H CP C R H (6.5.14) Förstärkningsmatrisen H kan då användas i stället för p ( k) p H i (6.5.4). 6.5 Kalmanfilter 6 29
6.5 Kalmanfilter 6.5.3 Filtrerande Kalmanfilter Ifall D= 0 i den tidsdiskreta modellen finns det ingen direkt koppling mellan u ( k) och y ( k) systemet är strikt propert. Om styrsignalen kan beräknas snabbt, så att den kan implementeras omedelbart efter en sampling, är det rimligt att utnyttja information om y ( k) när u ( k) beräknas (ifall denna information då är tillgänglig). Av detta följer att man för tillståndsestimering då också bör utnyttja information om y ( k) när x ( k) estimeras, dvs ett Kalmanfilter som filtrerar. Ett filtrerande Kalmanfilter får då formen (6.5.15) f ( ) xˆ( k k) = Fxˆ( k 1 k 1) + Gu( k 1) + H ( k) y( k) CFxˆ( k 1 k 1) CGu ( k 1) där matrisen H f ( k) avgör hur mycket den nya informationen i y ( k ) skall beaktas. Märk att H f ( k), precis som H p ( k) i (6.5.4), återkopplar estimeringsfelet y( k) y ˆ( k). Här har vi yˆ( k) = Cxˆ( k k) = C( Fxˆ( k 1 k 1) + Gu ( k 1)) (6.5.16) 6. Reglering av stokastiska system 6 30
6.5.3 Filtrerande Kalmanfilter Filtreringsfelets kovariansmatris För filtreringsfelet δ x( k k) = x( k) x ˆ( k k) fås med hjälp av modellen och (6.5.15) f ( ) δ x( k k) = Fδx( k 1 k 1) + w( k 1) H ( k) CFδx( k 1 k 1) + v( k) + Cw ( k 1) = ( I H ( k) C) Fδ x( k 1 k 1) + ( I H ( k) C) w( k 1) H ( k) v ( k) (6.5.17) f f f Här är w ( k 1) och v ( k) okorrelerade med δ x ( k 1 k 1) fås då för filtreringssfelets kovariansmatris f. Om P( k k) E[ δx( k k) δx ( k k)] f f w f f v f P( k k) = ( I H ( k) C) FP( k 1 k 1) F ( I H ( k) C) + ( I H ( k) C) R ( I H ( k) C) + H ( k) R H ( k) 6.5 Kalmanfilter 6 31 E[ v( k) w ( k 1)] = 0 Detta uttryck är aningen otrevligt. Vi har inte direkt bevisat det, men det är klart att som ger xˆ( k k 1) = E[ x( k k 1)] = E[ Fx( k 1 k 1) + Gu( k 1) + w( k 1)] = Fxˆ( k 1 k 1) + Gu( k 1) (6.5.18) (6.5.19) δ x( k k 1) = x( k) xˆ ( k k 1) = = Fδ x( k 1 k 1) + w( k 1) (6.5.20)
6.5.3 Filtrerande Kalmanfilter Sambandet mellan prediktionsfelets och filtreringsfelets kovariansmatriser blir då med vars hjälp (6.5.18) kan förenklas till 6.5 Kalmanfilter 6 32 P( k k 1) = FP( k 1 k 1) F + R w (6.5.21) f f f f P( k k) = ( I H ( k) C) FP( k k 1) F ( I H ( k) C) + H ( k) RvH ( k) (6.5.22) Den optimala lösningen Precis som tidigare kan vi genom kvadratkomplettering finna den optimala lösningen 1 f ( k ) ( k k 1) ( ( k k H = P C CP 1) C + R v ) (6.5.23) Uttrycket för kovariansmatrisen kan förenklas till P( k k) = ( I H ( k) C) P ( k k 1) (6.5.24) f Det filtrerade estimatet x ˆ( k k) och matrisen H f ( k) kan bestämmas rekursivt med hjälp av (6.5.15), (6.5.21), (6.5.23) och (6.5.24) för k = 1, 2, Som startvärden kan användas xˆ(0 0) = E x(0) = 0, P(0 0) = E[ x(0)( x (0)] = R w (6.5.25)
6.5.3 Filtrerande Kalmanfilter Stationär lösning När k i den rekursiva beräkningen närmar man sig den stationära lösningen. De stationära förstärknings- och kovariansmatriserna H f, P f och P p fås också ur 1 f p ( p ) H = P C CP C + R v (6.5.26) P = ( I H C) P (6.5.27) f f p p = f + w P FP F R (6.5.28) Förstärkningsmatrisen H kan nu användas i stället för f ( k) f H i (6.5.4). 6.5 Kalmanfilter 6 33
6.5 Kalmanfilter 6.5.4 Kombinerad prediktiv och filtrerande skattning Såsom ovan märktes kan vi arrangera beräkningarna för det filtrerande Kalmanfiltret så att vi erhåller kovariansmatrisen för det predikterande Kalmanfiltret på köpet. Det är intressant att notera att vi även kan beräkna den filtrerande skattningen av x ( k) så att vi utan extra besvär också erhåller den predikterande skattningen. Vi definierar prediktionsfelet av utsignalen som δ y( k k 1) = y( k) yˆ( k k 1) = y( k) Cx ˆ( k k 1) (6.5.29) Detta prediktionsfel kallas innovationen vid tidpunkten k eftersom det kan tolkas som den genuint nya information som erhållits. Om D= 0 fås med beaktande av (6.5.19) för det stationära fallet xˆ( k k 1) = Fxˆ( k 1 k 1) + Gu ( k 1) (6.5.30) xˆ( k k) = xˆ( k k 1) + H δ y ( k k 1) (6.5.31) Om en filtrerande skattning är möjlig erhåller vi således också den predikterande skattningen med dessa ekvationer. Märk att endast H behöver bestämmas, inte H. 6. Reglering av stokastiska system 6 34 f f p
6.5 Kalmanfilter 6.5.5 Val av Kalmanfilter Det torde vara uppenbart att man skall välja ett filtrerande Kalmanfilter framom ett predikterande ifall detta är möjligt. Man utnyttjar ju då också den senaste mätningen y ( k) vid skattningen av x ( k) och beräkningen av reglersignalen u ( k). Jämförelse av förlustfunktioner För LQG-reglering är det avgörande dock förlustfunktionens värde. Låt J p och J f beteckna förlustfunktionens (6.4.6) värde vid användning av ett predikterande resp. filtrerande Kalmanfilter. Då gäller (vilket vi dock inte bevisar) J = tr( SR ) + tr( K G SFP ) (6.5.32) Av (6.5.26) och (6.5.27) följer att p f w 6. Reglering av stokastiska system 6 35 p J = tr( SR ) + tr( K G SFP ) (6.5.33) w 1 p f p p v p P P = P C ( CP C + R ) CP > 0 (6.5.34) där > betecknar positivt definit. P p är m.a.o. alltid större än P f. Av detta följer J > J. också att p f f
6.5.5 Val av Kalmanfilter Vi skall med följande exempel illustrera skillnaden mellan de två typerna av Kalmanfilter när de används tillsammans med en LQG-regulator. 4Exempel 6.5.1 LQG-reglering med Kalmanfilter. Vi betraktar samma system med samma förlustfunktion som i de tidigare exemplen i detta kapitel. Ekvationerna (6.5.26) (6.5.28) ger f p p 1 H = P 1(1 P 1+ 1), P f = (1 H f 1) P p, Pp = 0,9 Pf 0,9 + 1 som har lösningen H f = 0,60, P f = 0,60, P p = 1, 48. Vi ser att skattningsfelets varians är mycket högre för det predikterande Kalmanfiltret än för det filtrerande. LQG-regulatorns förstärkning är oberoende av filtertypen. Enligt (6.4.8) och (6.4.9) fås 1 K = (2 S 2 + 10) 2 S 0,9, S = 0,9 S (0,9 2 K) + 1 som har lösningen K = 0,19, S = 1,87. 6.5 Kalmanfilter 6 36
6.5.5 Val av Kalmanfilter Förlustfunktionens värde för det predikterande resp. filtrerande Kalmanfiltret blir enligt (6.5.32) och (6.5.33) J p = 1,865 + 0,958 2,82 J f = 1,865 + 0,386 2,25 Vi ser att vi med ett filtrerande Kalmanfilter får något bättre resultat än vad direkt återkoppling av mätvärdet gav i exempel 6.3.5 ( J = 2, 28) medan det predikterande Kalmanfiltret ger ett klart sämre resultat. Vidstående figur visar reglerresultatet med användning av ett filtrerande Kalmanfilter. 3 6.5 Kalmanfilter 6 37
6.5.5 Val av Kalmanfilter Robusthet En viktig fråga är LQG-regulatorns robusthet mot modellfel. 4Exempel 6.5.2 Illustration av LQG-regulatorns robusthet. I vidstående figur är förlustfunktionen uppritad som funktion av en processparameter B (1,1) för 1. LQG-regulator med prediktion 2. LQG-regulator med filtrering 3. PI-regulator Parameterns nominella värde är 0, 2, för vilket regulatorerna ställts in. Vi noterar att 1. Den predikterande LQG-regulatorn är klart sämst och känslig för parametervariationer. 2. Den filtrerande LQG-regulatorn är bäst vid nominella värdet men känslig för en minskning av parameterns absoluta värde. 3. PI-regulatorn är ganska bra och inte speciellt känslig för parametervariationer. 3 6.5 Kalmanfilter 6 38