Simulering av simulinkmodeller med Extended Kalman Filter

Storlek: px
Starta visningen från sidan:

Download "Simulering av simulinkmodeller med Extended Kalman Filter"

Transkript

1 Simlering av simlinkmodeller med Etended Kalman Filter P E R B A C K Master's Degree Project Stockholm, Sweden 5 IR-RT-EX-58

2 Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av Kalmanfilter Per Back Eamensarbete D-nivå KTH Handledare: Björn Sohlberg, Högskolan Dalarna

3 i Abstract Simlations of simlink models sing Kalman filters are often very time-consming. This problem depends mainly on the fact that the Kalman correction has to be performed at each sample instance throgh the whole simlation. The goal for this thesis work is to redce that time-consmption for the filtering part (the integration part is treated in a complementary report) of a simlation. Frthermore a Matlab rotine to perform parameter tning and finally a graphical ser interface is developed. The filtering part of the simlation in this thesis is based on an Etended Kalman Filter (EKF). The time optimization of this filter considers searching for the possibility to replace the today s eisting Matlab fnctions that is sed to perform the filtering calclations. Eamples of sch fnctions are rotines for linearization and integration. To decrease the time-consmption, we have also developed a rotine to make it possible to convert a simlink model to a state-space description. This conversion makes it possible to avoid a lot of time-consming calls to the simlink model. In this case it is the bilt-in fnctions in Matlab that cases the large time-consmption. The main time-consming parts in the filter are the bilt-in rotines for linearization (linmod) and the nmerical method that is sed to calclate the prediction error (riccatieqation). By creating new rotines to solve these problems, the total time-consmption for the filtering part is redced by approimately a factor of eighteen. As a final step the time optimized Kalman filter and the time optimized integration (treated in a complementary report) are broght together in a time efficient rotine for simlation. This final rotine for simlation may frther be sed to perform a time efficient simlation, bt also to form a rotine, which can be sed to estimate nknown parameters in a simlink model. Using the time optimized parts of the simlation rotine will make it possible to redce the eection time for a filtering simlation by approimately a factor of ten. Three kinds of models are sed to confirm that the different element of the Kalman filter and the new developed rotines work properly. These models consist of one fermentation system that describes a biological process, and two different tank systems that describe the level and the torrent of water in several water tanks.

4 ii Sammanfattning Vid filtrerande simlering av simlinkmodeller är tidsåtgången i dagsläget mycket påtaglig, mest beroende på att kalmankorrigeringen måste appliceras i varje samplingspnkt. Målet med detta eamensarbete är att minska tidsåtgången som för närvarande råder för den filtrerande delen (den integrerande delen av simleringen behandlas i en komplimenterande rapport) av en simlering. Utöver detta tvecklas även en Matlab-rtin för parametersökning samt ett enkelt grafiskt användargränssnitt som nderlättar användandet av tvecklade rtiner. Den filtrerande delen av simleringen består i detta eamensarbete av ett s.k. tvidgat kalmanfilter, EKF (Etended Kalman Filter). Tidsoptimeringen av detta filter bygger på att ndersöka och eventellt ersätta de inbyggda Matlabfnktioner som i dagsläget måste användas för att genomföra en sådan filtrering. Eempel på sådana är fnktioner för linjarisering och integrering. För att minska tidsåtgången tvecklas även en rtin för konvertering av simlinkmodeller till en s.k. tillståndsbeskrivning. Detta medför bl.a. att tidsödande anrop till simlinkmodellen kan ndvikas. De i Matlab inbyggda fnktioner som i detta fall står för den största delen av den påtagliga tidsåtgången är linmod för linjarisering samt en inbyggd nmerisk metod för att beräkna prediktionsfelets varians (riccati-ekvationen). Genom att skapa nya metoder för att lösa dessa problem, har tidsåtgången för att tföra den filtrerande delen av simleringen redcerats med en faktor 8. I ett sltskede sammanfogas sedan det tidsoptimerade kalmanfiltret med en tidsoptimerad rtin för integrering (behandlas i en komplimenterande rapport) till en komplett simleringsrtin. Denna simleringsrtin kan sedan användas för tidseffektiva simleringar av simlinkmodeller, men tnyttjas även som grndstomme vid tveckling av parametersökningsrtinen. Den sammanfogade simleringsrtinen har med hjälp av de två tidsoptimerade delarna för kalmanfiltrering och integrering medfört att tidsåtgången för att genomföra en filtrerande simlering redcerats med ngefär en faktor. För att testa de olika momenten och de tvecklade rtinerna används tre olika modeller. Dessa modeller består av ett fermatorsystem som beskriver en biologisk tillvätprocess samt två olika tanksystem som beskriver flöden och nivåer i det aktella systemets vattentankar.

5 iii Förord Detta eamensarbete har tförts vid Högskolan i Dalarna, Borlänge på ppdrag av Björn Sohlberg. Eaminator för eamensarbetet är Bo Wahlberg på avdelningen för reglerteknik vid Kngl. Tekniska Högskolan, Stockholm. Jag sklle vilja tacka min handledare Björn Sohlberg som gjort det möjligt att genomföra detta eamensarbete, både vad gäller vägledning och ämneskompetens. Jag vill även tacka Mikael Norberg som jag genomfört arbetet tillsammans med. Borlänge 5-3- Per Back

6 iv Notation Här ges en kortare beskrivning av de förkortningar och termer som är vanligast förekommande i rapporten. Simlinkmodell linmod sim Mätstörning (w() Grafisk beskrivningssätt för modeller. Kommando för linjarisering av simlinkmodell. Reslterar i de s.k. A, B, C och D-matriserna. Detta kommando är inbyggt i Matlab och används för att linjarisera simlinkmodeller. Kommando för simlering av en simlinkmodell. Detta kommando är inbyggt i Matlab och används för att integrera simlinkmodeller. Störning som inverkat vid mätpnkten då mätning av signaler i en process tförts. Processtörning (v() Störning som verkar inti en process och påverkar signalerna som ppmätts. PRBS K P EKF Prediktion Psedo Random Binary Signal, Styrsignal som används för att testa en modells egenskaper. Korrigeringstermen i ett kalmanfilter. Prediktionsfelets varians. Beskriver störningarnas inverkan på prediktionen av e. tillstånden. Etended Kalman Filter, ett kalmanfilter för hantering av olinjära system. En prediktion betecknas med ett streck ovanför den aktella variabeln, e. på sådana kan vara, y och P. Estimat Ett estimat betecknas med ett tak ovanför den aktella variabeln, e. på sådana kan vara ˆ, ŷ och Pˆ.

7 Inledning.... Bakgrnd.... Problembeskrivning....3 Tidigare arbeten Metod/Avgränsningar Målsättning Rapportens strktr... 6 Teori Linjarisering av tillståndsmodell Observatör Kalmanfilter..... Etended Kalman Filter Modeller som använts Inledning Fermatorsystem Tvåtanksystem Fyrtanksystem Tidsoptimering av simlering Bakgrnd Tidsoptimering av integrering Tidsoptimering av kalmanfiltrering Analys av tidsåtgången Uppbyggnad av tidsoptimerad kalmanfiltrering Resltat och tester för kalmanfiltrering Beskrivning av simleringsrtinen Resltat filtrerande simlering Simlering med referensrtin Simlering med optimerad rtin Modellinläsning Önskade fnktioner Tillvägagångssätt för inläsning av modell Beräkning av grenar mellan tillstånd och smmor/prodkter Beräkning av tsignaler från systemet Sammanfogning av inläst data till en tillståndsmodell Rtinens begränsningar Parametersökning med simleringsrtin Fnktion och ppbyggnad Grafiskt användargränssnitt (GUI) Resltat parametersökning Parametersökning med referensrtin Parametersökning med optimerad rtin Vidare tredningar Sltsats Referenser... 7 v

8 Inledning. Bakgrnd Simlering av reglersystem kan ske tifrån att ett system modelleras genom blockscheman vilka sammankopplas till ett helt system. Matlab/Simlink innehåller en epanderande mängd av olika block och system för detta ändamål. De ingående blocken kan vara linjära, olinjära, kontinerliga eller diskreta, vilka kan sammansättas till komplea system. Simleringen med matlab/simlink sker genom integrering baserat på olika lösningsmetoder. I många fall är man intresserad av att simlera olinjära simlinkmodeller med hjälp av kalmanfilter. Det är möjligt att implementera rtiner för att simlera Etended Kalmanfilter för olinjära simlinkmodeller i form av m- filer, men det visar sig vara alltför tidskrävande trots dagens snabba datorer. I dagsläget har någon rtin inte fnnits som någorlnda snabbt simlerar simlinkmodeller som ppdateras med kalmanfilter. Detta eamensarbete skall tföras av två stdenter och går sammantaget t på att stdera hr en generell rtin för Etended kalmanfilter kan tformas, som kan användas för att simlera olinjära simlinkmodeller, så att tidsåtgången för simleringen blir hanterbar. Desstom ska rtinen implementeras.. Problembeskrivning Då man vill simlera en modell baserad på en verklig process är man ofta intresserad av att göra detta med hjälp av ett kalmanfilter. Detta för att estimera tillstånden hos en process som påverkas av såväl mät- som processtörningar. Skillnaden mellan simlering med eller tan kalmanfilter är att kalmanfiltrering kräver att integreringen avbryts i varje samplingspnkt. Anledningen till detta är att en beräkning av korrektionstermen och en ppdatering av tillståndsvektorn måste ske innan simlering kan fortskrida till nästkommande samplingspnkt. En simlering tan kalmanfilter kan däremot ske i ett svep tan avbrott. Principerna för dessa kan ses i Fig...

9 Insignal () Insignal () Verklig tsignal (y) Simlering Modell integrering Modell Utsignal (y) Tillståndsvektor () Korrigering Predikterad tsignal (y) Estimerade tillstånd () Fig.. Simlering tan filter (vänster), med filter (höger) Problematiken kring hanterande av kalmanfiltrering är som tidigare nämnts att integreringen måste avbrytas i varje samplingspnkt, vilket i sin tr reslterar i en stor tidsåtgång pga. modellanrop m.m. I synnerhet ppkommer problemet då modellen är av olinjär karaktär, eftersom en linjarisering av systemet då är nödvändig vid varje samplingspnkt. Då modellbeskrivningen tgörs av en simlinkmodell tillkommer även andra faktorer som bidrar till problemet såsom tidskrävande modellanrop. Procedren att avbryta simleringen för varje sampel ger nämligen pphov till att ett sådant modellanrop måste genomföras efter varje avbrott. En kombination av dessa faktorer reslterar i att den totala tidsåtgången blir ganska påtaglig för en simlering med filtrerande verkan. Denna problematik ger inte sällan pphov till simleringstider rnt en halvmint vid filtrering, där motsvarande simlering tan filtrering tar bråkdelar av en seknd. Utifrån detta inses ganska snabbt att tidsåtgången vid filtrerande simlering är av oacceptabel storlek. I synnerhet vid tillämpningar där flertalet simleringar skall ske i följd, eller då tillämpningen är av tidskritiskt slag. Hvdppgiften i det fortsatta arbetet blir därmed att försöka optimera tidsåtgången för filtrerande simlering mot en simlinkmodell. Eftersom detta eamensarbete tförs av två stycken stdenter har arbetet delats pp i två inriktningar. Den ena delen baseras på att försöka optimera tidsåtgången för den integrering som sker mellan två samplingspnkter. Medan den andra delen, som behandlas i denna rapport, främst inriktas mot tidsoptimering av de beräkningar Kalmanfiltret tför mellan de ovan nämnda integreringarna. Dvs. de beräkningar som krävs för att korrigera tillståndsvektorn i varje samplingspnkt. Denna optimering inriktar sig då främst på den tidigare nämnda problematiken, dvs. den långa tidsåtgången för linjarisering.

10 3.3 Tidigare arbeten Vid ett tidigare eamensarbete på teknologie kandidat nivå vid Högskolan Dalarna (Kalibrering av simlinkmodeller) [] skapades bl.a. en rtin för parametersökning mot en simlinkmodell. I denna del gjordes ett ytligt försök att applicera kalmanfiltrering med hjälp av Matlabs inbyggda kommandon för bl.a. linjarisering och simlering []. Dessvärre visade det sig att tidsåtgången vid kalmanfiltrering blev tämligen ohanterlig. Under detta arbete tfördes dock inga vidare analyser kring denna problematik, varför frågeställningen kvarstått. Problematiken som pptäckts i det tidigare arbetet har fått tjäna som bakgrnd till de frågeställningar som väcks i detta eamensarbete. Ett första steg i detta eamensarbete är därför att ndersöka vad som redan finns gjort inom området. Det har visat sig att det endast finns ett fåtal arbeten som har liknande förtsättningar. Ett eempel på arbeten som inriktat sig mot användning av Etended Kalman Filter i Matlab-miljö är KalmanTool [3]. Arbetet behandlar liknande problem i en liknande miljö som detta eamensarbete. Med andra ord skall en simlering med kalmanfiltrering tföras med hjälp av programvaran Matlab. Den stora skillnaden ligger dock i att simleringen sker i diskret tid och att modellen förtsätts vara beskriven med matematiska ekvationer. Eftersom detta eamensarbete bygger på att modellen är beskriven på kontinerlig form i Simlink så ppstår en annorlnda problematik. Bl.a. krävs en integrering vid beräkning av predikterade tillstånd, desstom krävs att verktygen för såväl integrering som linjarisering hanterar simlinkbeskrivningen. Ett annat arbete [6] inriktar sig mot tillståndsestimering av olinjära system där modellen beskrivs genom differentialekvationer, dock ej ordinära. I detta arbete använder man sig desstom av ett etended kalmanfilter. Arbetet behandlar dock inte samma typ av problem som detta eamensarbete, dvs. en tidsoptimering av simlering mot simlinkmodeller.

11 4.4 Metod/Avgränsningar Som tidigare framgått bygger metoderna i detta arbete på användning av Matlab. Matlab innehåller ett stort antal möjligheter för att lösa matematiska/tekniska problem. Bland annat finns ett verktyg (Simlin inriktat mot att beskriva och simlera olika modeller. I Simlink finns en lång rad olika block och fnktioner som kan sammansättas till kompletta system inom flertalet teknikområden. En stor fördel med detta är att modellen sätts samman med ett grafiskt verktyg, vilket ger användaren en god överblick över systemets beståndsdelar och ppbyggnad. En grafisk beskrivning gör även att användaren enkelt kan tföra ändringar i systemet. Detta är en av de största anledningarna till att detta beskrivningssätt har varit en av grndspecifikationerna i detta eamensarbete. Som tidigare nämnts finns redan en del liknande arbeten tförda kring simlering med kalmanfiltrering. Den stora nyheten i detta arbete är att modellbeskrivningen sker genom den grafiska miljö som Simlink erbjder. Med tgångspnkt från ovanstående resonemang kommer arbetet att bygga på att efterlikna de eisterande kommandona, för simlering m.m, på ett mera tidsoptimalt sätt. Detta ska sedan implementeras i matlabmiljön där de på ett mera tidseffektivt sätt ska knna arbeta mot den i Simlink beskrivna modellen. Själva implementeringen görs genom s.k. Matlab m filer. För att möjliggöra en sådan tidseffektivisering och implementering görs en del avgränsningar redan i det inledande skedet. Denna rapport inriktar sig till största del på den filtrerande delen av simleringen. Den del av simleringen som innefattar integrering av modellen beskrivs närmare i arbetet Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5] Foksering sker enbart på de delar i Kalmanfiltret som är av tidsmässig betydelse för simleringen, dvs. detaljer som inte nämnvärt påverkar tidsåtgången kommer därför inte att behandlas djpare. Endast modeller som stöds av Simlink kommer att hanteras. Med detta menas att Simlinks begränsningar vad gäller modellppbyggnad även kommer att gälla i detta arbete. Endast modeller av kontinerlig typ kommer att behandlas. Anledningen till detta är att begränsa arbetets omfattning.

12 5.5 Målsättning Målsättningen med detta arbete är att empiriskt ndersöka möjligheterna att redcera den tidsåtgång som för närvarande råder i den filtrerande delen av simleringen då olinjära simlinkmodeller används. Mer specifikt betyder detta att de mest tidskrävande delarna i det aktella Kalmanfiltret skall optimeras med avseende på tiden. Eempel på tänkbara delar att tidsoptimera kan vara linjarisering, ppdatering av tillståndsvektor, beräkning av prediktionsfelets varians m.m. I ett sltskede skall den tidsoptimerade lösningen tillsammans med den tidsoptimerade integreringen [5] implementeras i form av Matlab m-filer. Detta för att sltligen knna genomföra en filtrerande simlering av simlinkmodeller nder en hanterbar tidsrymd.

13 6.6 Rapportens strktr Kapitel Inledning I detta kapitel behandlas bakgrnd, problembeskrivning m.m. Kapitel Teori I detta kapitel beskrivs grnderna för den teori som arbetet bygger på. Här beskrivs teorin för linjarisering och kalmanfiltrering. Kapitel 3 Modeller som används Beskriver de olika modeller som används för att simlera och verifiera olika lösningar. Kapitel 4 Tidsoptimering av simlering Behandlar hr problemet kring tidsåtgång vid filtrerande simlering kan förbättras. Hvdpnkten i detta kapitel är hr själva kalmanfiltret kan förbättras med avseende på tiden. En kort sammanfattning av problemen kring integrering presenteras dock för att skapa en helhet. En mer detaljerad beskrivning av detta presenteras i arbetet Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5] Kapitel 5 Modellinläsning Beskriver fnktion och ppbyggnad för vissa delar av en i Matlab implementerad rtin för konvertering av simlinkmodell till tillståndsmodell. Kapitel 6 Tillämpning av simleringsrtin Beskriver ett användningsområde för den implementerade simleringsrtinen och framhäver även vikten av en snabb simlering. Vidare beskrivs även ett grafiskt användargränssnitt som tvecklats. Kapitel 7 Vidare tredningar Tar pp olika idéer för fortsatta stdier kring problemet. Kapitel 8 Sltsats En kortare diskssion kring sltsatserna och resltatet från detta eamensarbete.

14 7 Teori För att få en förståelse för de teoretiska samband och ttryck som kommande kapitel bygger på, definieras här teori kring linjarisering och kalmanfiltrering.. Linjarisering av tillståndsmodell För att knna hantera olinjära system vid användandet av t.e. kalmanfilter krävs att systemet kan representeras som ett linjärt system i de pnkter filtret skall appliceras. Dvs. i varje samplingspnkt där ett estimat av tillståndsvektorn skall beräknas krävs att systemet är linjärt (se avsnitt..). Ett sätt att göra detta är att tveckla de olinjära fnktionerna i en första ordningens taylorserie kring arbetspnkten (, ) [7]. Utgångspnkten för denna typ av linjariseringen är att systemet beskrivs på tillståndsform enligt (.). g t y f t, ) (, ) ( (.) Genom att anta att ändringen i systemet kring arbetspnkten är liten i förhållande till de högre ordningens termer i taylortvecklingen kan dessa termer ignoreras. Detta ger med termer pp till första ordningen (.). ) ( ), ( ) ( ), ( ), ( ), ( ) ( ), ( ) ( ), ( ), ( ), ( g g g g f f f f (.) Låt ändringen i tillstånd och tsignal i förhållande till de nominella värdena på och tecknas enligt (.3). y y y (.3) Genom insättning av (.)-(.3) i (.) fås ekvation (.4). D C y B A (.4) Där matriserna A,B,C och D definieras enligt nedan.

15 8 ), ( n n n n n n f f f f f f f f f f A ), ( n n n n n n f f f f f f f f f f B ), ( n n n n n n g g g g g g g g g g C ), ( n n n n n n g g g g g g g g g g D Med hjälp av detta kan systemet i (.) representeras som ett linjärt system giltigt kring den angivna arbetspnkten och. Detta kan sedan användas vid t.e. beräkning av kalmankonstanten då ett Etended Kalman Filter används, se avsnitt...

16 9. Observatör I många tekniska system är man intresserad av information angående tillståndens värden. Dessvärre är det av olika anledningar inte alltid möjligt att mäta alla dessa tillstånd. Ta t.e. tvåtanksystemet som beskrivs i avsnitt 3.3. I detta fall är det endast nivån i den ndre tanken som mäts medan den övre tankens nivå är okänd. För att ändock knna få information angående tillstånden kan en så kallad observatör användas för att ppskatta de okända tillstånden [7]. För tvåtanksystemet betyder detta att man kan få en ppskattning av nivån i den övre tanken trots att denna nivå inte mäts. Principen för en observatör kan ses i Fig... System y Observatör ˆ Fig.. Observatör Som illstreras i Fig.. bygger en observatör på in- och tsignalen till systemet. Ifrån observatören fås sedan en ppskattning (estimat) av de verkliga tillstånden i systemet. Själva beräkningen av estimatet består av två delar, en prediktiv- och en korrektionsdel. Den predikterande delen baseras på en modell av systemet och korrektionen baseras på skillnaden mellan den mätta tsignalen samt en prediktion av tsignalen [9]. Vidare finns även en viktfaktor K, som styr hr mycket korrektionstermen ska inverka på de estimerade tillstånden []. Denna viktfaktor kan beräknas på olika sätt beroende på vilken typ av observatör som skall konstreras. I de fall som störningar finns representerade används olika matriser som beskriver störningarna vid beräkningen av K. I dessa fall brkar man använda kalmanfilter. Estimerat tillstånd = Predikterat tillstånd + K * korrektionsterm (.5) Enligt tidigare resonemang bygger arbetet i denna rapport på att processoch mätstörningar finns med i bilden, så fortsättningsvis behandlas enbart observatörer baserade på kalmanfilter. Det finns flera olika typer av kalmanfilter men i detta eamensarbete används den typ som senare beskrivs (EKF). När det gäller kalmanfilter/observatör brkar man ofta använda två olika typer, predikterande och filtrerande typ [5]. Skillnaden mellan dessa två typer är inte till synes stor men ändock av betydande karaktär. För att få en inblick i hr en observatör/kalmanfilter fngerar samt för att lyfta fram skillnaden mellan predikterande och filtrerande typ så kommer en mer ingående beskrivning av dessa två typer att göras. I detta fall för

17 diskreta linjära modeller för att göra det så enkelt som möjligt. Eftersom den predikterande typen brkar vara enklast att förstå så inleds med denna... Kalmanfilter Som tidigare nämnts används kalmanfilter för att hantera störningar i ett system. Kalmanfiltret används därmed till att korrigera ett/flera tillstånd i en modell så att störningarna blir representerade. För att knna hantera dessa störningar brkar man anta att dessa ppträder slmpmässigt med medelvärdet noll, dvs vitt brs [5]. Antag en linjär diskret modell enligt (.6)-(.7) ( k ) F( G( v( y( C( w( (.6) (.7) där v( är processtörningen och w( är mätstörningen. Antag vidare att v( och w( är vitt brs. Dessa störningar beskrivs sedan med hjälp av kovariansmatriserna R och R [9]. v T R E ( v ( T R E w( w ( k ) (.8) (.9) där Ev ( Ew( (.)... Predikterande observatör I det fall en predikterande typ används beräknas estimatet av tillstånden enligt (.) [4]. ˆ( k ) Fˆ( G( K( { y( Cˆ( } Pr ediktion korrektion (.) där K( skall bestämmas så att estimatet blir bra. Detta görs genom att minimera variansen av estimeringsfelet enligt (.). Estimeringsfelet fås genom att sbtrahera de verkliga tillstånden med de estimerade enligt (.) [9]. Genom insättning av (.) i (.6) fås estimeringsfelet som (.3). e( ( ˆ( e( k ) ( F KC) e( v( K( w( (.) (.3)

18 För att minimera estimeringsfelet så formas variansen av estimeringsfelet enligt (.4). T P( E e( e ( (.4) Utfrån detta kan sedan problemet lösas och det minimerade problemet får lösning enligt (.5)-(.6) [9]. K( FP( C T T R CP( k C ) (.5) T T R CP( C CP( F T T (.6) P( k ) FP( F FP( C R Eftersom minimeringsberäkningen är ganska omfattande och i detta fall inte speciellt relevant så telämnas denna i rapporten.... Filtrerande observatör En filtrerande typ [5] av observatör beskrivs enligt ekvation (.7). ˆ ( ( K( y( C( (.7) där ( är prediktionen av tillstånden vid sampel k. ( Fˆ( k ) G( k ) (.8) Lösningen till minimeringsproblemet följer samma gång som för den predikterande observatören och blir i detta fall [9]: K( FPˆ( C T T R CPˆ( k C ) T T R CP( C CP( k F T T P ˆ ( FP( F FP( C ) där P( FPˆ( k ) F T R (.9) (.) (.)

19 ...3 Skillnaden mellan filtrerande och predikterande Skillnaden mellan dessa två typer av observatörer/filter är vilket värde på y( som används vid beräkning av tillståndsestimatet ˆ. Genom att titta på ekvationerna för respektive observatör så framgår det ganska klart. Låt göra en jämförelse mellan de båda typerna. Nedan finns ekvationerna för respektive. Predikterande observatör: ˆ( k ) Fˆ( G( K( { y( Cˆ( } Pr ediktion Filtrerande observatör: ˆ ( ( K( y( C( ( Fˆ( k ) G( k ) korrektion (.) (.3) (.4) Genom att skriva om ekvationerna (.3)-(.4) så framhävs skillnaden bättre: ˆ ( k ) Fˆ( G( K( k ) y( k ) C( k ) (.5) Här kan man se att skillnaden mellan (.) och (.5) enbart är från vilket sampel som korrektionstermen grndas. I det predikterande fallet baseras ˆ( på en korrektionsterm som skapas av tsignaler ett sampel tillbaks (k- ), medan i det filtrerande fallet baseras ˆ( på en korrektionsterm från samma samplingspnkt (. Detta kan enklare åskådliggöras med hjälp av Fig... ˆ ( filtrerande * * predikterande y( k- k k+ k * k- k k+ k Fig.. Illstrerar skillnad mellan filtrerande och predikterande

20 Frågan är då vilken typ av som skall användas fortsättningsvis i detta eamensarbete. En första reaktion är att det borde vara bäst att använda sig av den filtrerande typen, eftersom den bygger på värden från det sampel som är aktellt att korrigera och inte föregående sampel. För att reda t detta presenteras två stycken plottar i Fig..3 och Fig.4. 3 Fig..3 Filtrerande Fig.4 Predikterande Fig..3 och Fig..4 visar en liten del av en simlering med filtrerande respektive predikterande kalmanfilter. Den röda krvan är det verkliga tillståndet och den blå är det simlerade. Som synes är skillnaden ganska stor mellan dessa två plottar, i det predikterande fallet så ppträder nämligen tillståndet något förskjtet. Detta är inte helt förvånansvärt med tanke på att korrigeringen grndas på en skillnad som ppträdde ett sampel tidigare, vilket då ger pphov till att korrigeringen är fördröjd ett sampel. Vidare kan det tänkas att skillnaden mellan predikterande och filtrerande blir änn mer påtaglig om samplingstiden ökas. Om samplingstiden ökas, så ger det i sin tr att korrektionstermen i det predikterande fallet blir mer och mer inaktell. Utifrån detta resonemang så kommer observatören i detta eamensarbete att vara av filtrerande typ. Hvdargmentet till detta blir då att den filtrerande är bättre eftersom denna grndar sitt resltat på ett mer aktellt värde istället för att använda sig av värden från föregående samplingspnkt.

21 4.. Etended Kalman Filter Det kalmanfilter som behandlades i avsnitt.. bygger på att man har en linjär modell. Emellertid är verkligheten oftast inte linjär och därmed är det inte heller alltid lämpligt att göra en så pass grov approimation att man antar linjaritet. I dessa fall måste man beskriva verkligheten med hjälp av en olinjär modell. Däremot går det i ett sådant fall oftast att finna en linjär modell som är giltig i en specifik pnkt (arbetspnkt). Lösningen är att modellen linjariseras i varje pnkt där kalmanfiltret skall appliceras. Ett filter anpassat för sådana fall kallas för Etended Kalman Filter (EKF) [5]. En nackdel med denna typ av filter är dock att det blir beräkningskrävande då en linjarisering måste ske vid varje samplingspnkt. ˆ (, ( Integrering linjarisering ( k ) Olinjär kontinerligmodell Kalmankorrigering y(k+) ˆ ( k ) Fig..5 Principschema för simlering och kalmankorrigering I Fig..5 kan principen för en integrering och korrigering med hjälp av ett EKF ses. Som synes så integreras den olinjära kontinerliga modellen mellan två diskreta samplingspnkter, därpå linjariseras den olinjära modellen kring den aktella arbetspnkten varpå korrigeringen tförs. Den korrigerade tillståndsvektorn (estimatet) agerar sedan som begynnelsevärden vid integrering mellan nästkommande samplingspnkter. Även det tvidgade kalmanfiltret (EKF) kan byggas pp på olika sätt, normalt används en kontinerlig eller diskret variant. I detta eamensarbete ska en kombination av dessa två användas. Anledningen till detta är att eamensarbetet i första hand skall hantera kontinerliga modeller medan mätdata är diskreta. Med detta menas att man integrerar tifrån en kontinerlig modell varpå kalmankorrigeringen appliceras i diskreta pnkter. Dvs. tidsppdateringen sker kontinerligt medan mätppdateringen sker diskret. Nedan presenteras mer ingående fnktion och ppbyggnad av ett sådant EKF.

22 5 Kontinerligt/diskret EKF Det olinjära kontinerliga systemet beskrivs enligt (.6) [4]: ( t) f y( t) g ( t), ( t) v( t) ( t), ( t) w( t) (.6) där v(t) är processtörning och w(t) är mätstörning. Vidare gäller enligt tidigare resonemang att störningarna beskrivs med hjälp av matriserna R och R enligt ekvation (.7) och (.8). R v ( t) v ( ) T E t T E w( t) w ( t R ) (.7) (.8) Filtret består vidare av två hvddelar, dels den kontinerliga tidsppdatering och dels den diskreta mätppdatering. Tidsppdatering (a priori): Vid en given tidpnkt t k genomförs en integration av ekvationerna (.6) och (.9) mellan tidpnkterna t k och t k+. Integrationen startas med de estimerade tillstånden ( t ) och prediktionsfelets varians P ˆ( ). Vid ˆ k tidpnkten t k+ fås då en prediktion av tillstånden ) samt av prediktionsfelets varians P ) [9]. ( t k ( t k t k P T ( t) F( t) P( t) P( t) F ( t) R f F( t) ( t), ( t) ( t ), ( k t k ) (.9) (.3) Variansen av prediktionsfelet ges av riccatiekvationen (.9) och används i ett senare skede för att beräkna viktfaktorn i mätppdateringen.

23 6 Mätppdatering (a posteriori): Med mätppdatering menas att tillstånden i detta skede korrigeras, denna korrektion ger då ett estimat av tillstånden. Vidare beräknas även estimatet av prediktionsfelets varians. Mätppdateringen ges av följande ekvationer [9]: K( k ) P( k ) C( T C ( P( k ) C( R T (.3) g( ( t), ( t)) C( ˆ( t k ) (.3) Som synes i ekvation (.33) används en filtrerande typ av observatör i detta fall. Se avsnitt... för mer information angående detta. ˆ ( k ) ( k ) K( k ) y( k ) g( ( k ), ( k )) (.33) Uppdatering av prediktionsfelets varians som används som tgångsläge vid nästkommande integrering, kan ses i ekvation (.34). Pˆ ( k ) I K( k ) C P( k ) (.34) mätppdatering tidsppdatering ˆ ( t k ) Pˆ( t k ) * ˆ ( tk ) Pˆ( t k ) * * ( t k ) P( t k ) t k k t k+ k+ t Fig..6 Kalmankorrigering med kont./diskret EKF I Fig..6 visas en graf för att nderlätta förståelsen för hr mät- resp. tidsppdateringen fngerar. Det bör nämnas att tidpnkten t k är den tidpnkt där sampel k är samplat osv.

24 7 3 Modeller som använts 3. Inledning För att verifiera de olika delmomenten som ingår i detta arbete används några olika system. Anledningen till att flera system används är främst att det kan vara svårt att få med alla olika typer av systemegenskaper i ett och samma system. Systemen har beskrivits i form av simlinkmodeller, vilket enligt specifikation skall vara den aktella formen för att beskriva modellerna. En avgränsning till tidskontinerliga modeller har även gjorts för att arbetets omfång inte skall bli allt för stort (se avsnitt.4). De modeller som har blivit aktella efter ett antal tester och viss efterforskning är ett så kallat fermatorsystem och två stycken tanksystem (tvåtanksystemet resp. fyrtanksystemet). För fermatorsystemet har enbart en deterministisk mätserie skapats, medan för tanksystemen har enbart stokastiska mätserier skapats. Det deterministiska systemet är i första hand tänkt att användas för att verifiera tidsprestanda i olika linjariseringsmetoder men även för att verifiera olika integreringsmetoder vid beräkning av prediktionsfelets varians i kalmanfiltret. De stokastiska mätserierna används för att dels jämföra prestanda hos kalmanfilter (både kvalitativt och tidsmässigt) men framförallt för att verifiera fnktionen hos den sltgiltiga simleringsrtinen. Till detta har mätserier från tanksystem av två olika storlekar valts för att visa (och verifiera) hr modellens storlek påverkar tidsprestanda för de olika momenten av den filtrerande simleringen. I avnitt görs i vart och ett av avsnitten först en beskrivning av systemen varpå en simlinkmodell för dessa presenteras.

25 8 3. Fermatorsystem En fermenteringsprocess har valts som jämförelseobjekt eftersom den beskriver ett mer komplet system som innehåller mycket olinjäriteter. Här kommer endast en översiktlig presentation att ske. För en tförligare beskrivning hänvisas till litteratren [9]. I fermenteringsprocesser inbegrips bl.a. bakterieprocesser, jäsningsprocesser och biologiska processer. I detta fall beskrivs en biologisk process. Processen består av en biologisk massa med en viss tillvät, och ett sbstrat vars syfte är att styra tillväten. Processen beskrivs i det här fallet genom en tillståndsbeskrivning bestående av tre olinjära ordinära differentialekvationer. Dessa kan ses i (3.). (, 3) ( S (, ) ) 3 f Cb / v 3 3, 3) ( (3.) Där tillståndet beskriver koncentrationen biologisk massa, koncentrationen sbstrat och sltligen 3 som beskriver koncentrationen av biologisk massa. Systemets insignal är [h - ] och tsignal [g/l]. Notera att insignalen i detta fall styr förloppets hastighet. Tillväthastigheten ges r ekvation (3.) och nominella värden för övriga parametrar kan ses i Tabell 3.. ( 3 m P m, 3) K m K i (3.) Tabell 3. Nominella parametervärden Parameter C b / v Pm Ki Värde.4 g/g. h - 5 g/l g/l. g/g.48h -. g/l g/l m Km S f I testerna har tillstånden initierats till värdena och g / L. 6. g / L, g / L 5. Tillståndsbeskrivningen i ekvation (3.) får sedan ligga till grnd för den modell som byggs i Simlink. Simlinkmodellen över den aktella processen kan ses i Fig. 3..

26 9 Fig. 3. Simlinkmodell av Fermatorprocessen För att skapa en mätserie till systemet har en så kallad Psedo Random Binary Signal (PRBS) använts som insignal till modellen. En sådan signal används för att skapa en mätserie som återger så mycket som möjligt av systemets dynamik [9]. Dvs. för att mätserien skall innehålla så mycket av systemets egenskaper som möjligt. Skapandet av denna kräver en del knskap om systemet, bl.a. stigtid, högsta och lägsta nivå för styrsignalen m.m. Några av dessa data har etraherats genom att titta på systemets stegsvar (Fig. 3.). Andra har testats fram för att tsignalen från systemet skall ge så mycket information om systemet som möjligt. [g/l] [h - ] t [h] Fig. 3. Stegsvar för Fermatorprocessen t [h] Den övre krvan i Fig. 3. visar systemets svar på den insignal som kan ses

27 i nedre krvan. Ur stegsvaret kan bl.a. systemets stigtid etraheras till ca. 6 h [8]. De parametrar som sltligen använts vid skapandet av den aktella PRBS, kan ses i Tabell 3.. I denna tabell kan även några tmregler [9] för valet av parametrar till PRBS ses. Observera att tmreglerna endast ger en fingervisning för i vilket ngefärligt område parametrarna skall väljas. Vissa avvikelser förekommer därför med anledning av att de valda parametrarna vid tester återgett mer av processen. Tabell 3. Data till PRBS för Fermatorsystemet Parameter Mätseriens Samplingstid Lägsta tid Längsta tid Signalens Signalens längd (lång ( - % vid samma vid samma låga nivå höga nivå nog för att ge av stigtiden) tillräcklig information om systemet) nivå nivå Värde 5 h.5 h h h. h -.3 h - Den reslterande eperimentinsignalen och modellens tsignal kan ses i Fig [g/l] [h - ] t [h] Fig. 3.3 PRBS (ndre krvan) och modellens tsignal (övre krvan) I Fig. 3.3 kan man se att modellens tsignal spänner över ett område från snabba svängningar till delar där den planar t. Dessa egenskaper eftersträvas i tsignalen då mycket av systemets specifika information ligger i dessa ytterområden. t [h]

28 3.3 Tvåtanksystem För tanksystemet har en stokastisk mätserie skapats. Denna mätserie består av både process- och mätstörningar. Här presenteras en översiktlig beskrivning av ett tanksystem innehållande två tankar (tvåtanksystemet). Härledningar av systemets olinjära tillståndsbeskrivning [8] kommer att telämnas då den inte är relevant i denna rapport. Systemets principiella ppbyggnad kan vidare ses i Fig q q q Fig. 3.4 Tvåtanksystemets principiella ppbyggnad Nivån i den övre tanken betecknas med och nivån i den ndre med. Flödet till hela systemet betecknas med q km, där k m är förstärkningen av pmpspänningen. Flödet r den övre resp. den ndre tanken betecknas med q och q. Tankarnas höjd är vardera om. m. Mätning tförs på den ndre tanken, dvs. mätning sker på tillståndet. Systemet kan vidare beskrivas med nedanstående system av olinjära ordinära differentialekvationer. A A3 y v A A w v (3.3) Parametrarna v, v och w betecknar processtörningarna respektive den mätstörning som modellen belagts med. Störningarna ppträder i form av vitt brs med medelvärden noll och variansen -7 m. Konstanterna A och A3 beskriver hålens tloppsarea och tankarnas inverkan på flödet. Konstanten A beskriver på liknande sätt överföringen mellan pmpens spänning och det aktella flödet ned i den övre tanken. Parametrarnas nominella värden kan ses i Tabell 3.3.

29 Tabell 3.3 Nominella parametervärden Parameter km A A A3 Värde m /. m / s /. m / s Tillståndsbeskrivningen ovan ligger sedan till grnd för den modell som byggs pp i Simlink. Fig. 3.5 Simlinkmodell av Tvåtanksystemet I Fig. 3.5 kan man se hr modellen byggts pp av simlinkblock. Här kan även konstanterna A, A och A3, som nämnts tidigare, ses i de s.k. Gain blocken, vilka återger en konstant förstärkning. Ur modellens stegsvar, Fig. 3.6, etraheras sedan några av de data som behövs för att skapa en PRBS. y [m] Fig. 3.6 Stegsvar för Tvåtanksystemet För att skapa det aktella stegsvaret har en konstant pmpspänning om 4.8 volt använts (maimal effekt fås för volt). Det går att se i figren att vattennivån kommer pp i en nivå mycket nära den ndre tankens totala höjd (. meter). Ur stegsvaret kan ngefärliga värden på bl.a. stigtid fås som 4 seknder. Data till PRBS har sedan skapats enligt följande tabell. t [s]

30 Tabell 3.4 Data till PRBS för tvåtanksystemet Parameter Mätseriens Samplingstid Lägsta tid Längsta tid Signalens Signalens längd (lång ( - % vid samma vid samma låga nivå höga nivå nog för att ge av stigtiden) tillräcklig information om systemet) nivå nivå Värde 5 sek 5 sek 5 sek 7 sek volt 4.8 volt 3 Eperimentinsignal och tsignal får med dessa data tseende enligt Fig För tydlighetens skll plottas bara en del av signalerna. Denna del representerar dock signalernas tseende i stort. y [m] t [s] [volt] t [s] Fig. 3.7 PRBS (ndre krvan) och modellens tsignal (övre krvan) I den övre av krvorna i Fig. 3.7 går det att se modellens tsignal då den belagts med både process och mätbrs, motsvarande ca. /3 millimeter i amplitd. Påverkan på processen är redan vid dessa ganska små störningar pp emot 3 millimeter på tsignalen vid vissa tidpnkter. Detta får anses vara av en tillräcklig storlek för att kalmanfiltrets prestanda skall knna sättas på prov vid de tester som skall tföras. I testerna med tanksystemet har båda tillståndens värden initierats till. meter då detta ansetts vara en lämplig nivå med tanke på tsignalens och tillståndens arbetsområden i det aktella fallet. Precis som för fermatorsystemet kan man se att detta system har en tsignal med både snabba förlopp och förlopp där den planat t.

31 4 3.4 Fyrtanksystem Detta system är en tvidgning av tvåtanksystemet och har använts för att visa hr tidsprestanda påverkas vid ett större system. Systemet består i princip av en sammankoppling av två stycken tvåtanksystem. Detta innebär att systemet består av fyra tankar med två insignaler och två tsignaler. En samankoppling av de två delsystemen har tförts genom att låta de två respektive delsystemen pmpa en del av vattnet till det andra delsystemet (korskoppling). Störningarna på systemet i form av process och mätbrs, är desamma som för tvåtanksystemet. Notera dock att det här finns mätstörningar på två tsignaler. Den principiella ppbyggnaden av systemet kan ses i Fig q p q p q p q p4 q p3 q p q t3 q t4 3 4 q t3 q t4 Fig. 3.8 Fyrtanksystemets principiella ppbyggnad Nivån i respektive tank betecknas med 4. Flödet från pmparna till de två delsystemen betecknas med q p respektive q p, där q p km och q p km. Dessa delas sedan pp i delflöden till de olika tankarna. Uppdelningen av flödet från de två pmparna är sådan att 6 % går till det egna delsystemets övre tank (q p, q p ), och 4 % går till det andra delsystemets nedre tank (q p4, q p3 ). Denna ppdelning har valts godtyckligt. Vidare kan systembeskrivningen tgöras av systemet i (3.4) av olinjära ordinära differentialekvationer.

32 5 A 3 A A 3 v A 4 A A 4 v 3 A A3 v 4 A A4 y w y w v där (3.4) Parametrarna v v 4 och w, w betecknar processtörningarna respektive de mätstörningar som modellen belagts med. Störningarna är precis som för tvåtanksystemet av formen vitt brs med medelvärden noll och variansen -7 m. Konstanterna A A4 beskriver inverkan av tankarnas och hålens tloppsarea på flödet. Konstanterna A, A, A och A beskriver överföringen mellan pmpens spänning och flödet ned i det egna delsystemets övre tank (A och A) och det andra delsystemets nedre tank (A och A). Nominella värden på parametrarna kan ses i Tabell 3.5. Tabell 3.5 Nominella parametervärden Parameter k A... A4 A, A A, A m Värde /. m / s.6 m.4 m Tillståndsbeskrivningen ger sedan systemets simlinkmodell enligt Fig Fig. 3.9 Simlinkmodell av Fyrtanksystemet För detta system fås ett liknande stegsvar som för tvåtanksystemet. Efter några tester med olika parametrar för PRBS, där modellens tsignaler stderats, kan de sltliga parametrarna ses i Tabell 3.6.

33 Tabell 3.6 Data till PRBS för fyrtanksystemet Parameter Mätseriens Samplingstid Lägsta tid Längsta tid Signalens Signalens längd (lång ( - % vid samma vid samma låga nivå höga nivå nog för att ge av stigtiden) tillräcklig information om systemet) nivå nivå Värde 5 sek 5 sek sek sek. volt 4.4 volt PRBS Värde PRBS 5 sek 5 sek 5 sek 5 sek.6 volt 4.8 volt Med användning av dessa data fås eperimentinsignaler och tsignaler enligt Fig. 3.. Även här visas bara en del av signalerna då en mer detaljrik återgivning fås på det sättet. y (grön), y (blå) [m] t [s] (grön), (blå)[volt] t [s] Fig. 3. PRBS (ndre krvan) och modellens tsignal (övre krvan) I den övre av krvorna i Fig. 3. kan modellens två tsignaler ses. Precis som för tvåtanksystemet är påverkan av brset ganska stort. I testerna med detta tanksystem har alla tillstånden ( 4 ) initierats till. meter. Denna nivå har valts godtyckligt men har ansetts vara en bra nivå med tanke på i alla fall tsignalernas arbetsområde. Även för detta system kan man se på tsignalerna att de återger det som eftersträvats i fråga om både snabba och mer långsamma förlopp. I detta system har tillfället tagits i akt att ge det ena delsystemet en snabbare styrsignal än för det andra. Detta med anledning av att mer av systemets totala dynamik skall framträda.

34 7 4 Tidsoptimering av simlering 4. Bakgrnd En simlering med kalmanfiltrering bygger på att integreringen måste avbrytas i varje samplingspnkt. Anledningen till detta är att det framintegrerade värdet (prediktionen) på tillstånden måste korrigeras för störningarna innan en fortsatt integrering till nästa samplingspnkt kan ske. I de fall olinjära modeller används måste även linjarisering ske i varje samplingspnkt för att möjliggöra beräkningen av kalmankorrektionen (se avsnitt... En illstration över ett sådant förlopp kan ses i Fig. 4.. Verklig tsignal (y) Styrsignal () Integrering Linjarisering av olinjär modell Korrigerad tillståndsvektor Kalmankorrektion Predikterad tsignal (y) Estimerade tillstånd () Fig. 4. Principen för filtrerande simlering I Fig. 4. kan den generella arbetsgången ses. Förloppet inleds med en integrering mellan två samplingspnkter. Därefter avbryts integreringen och en linjarisering av systemet genomförs. Med hjälp av den linjära systembeskrivningen beräknas sedan ett estimat av tillståndsvektorn. Detta estimat används därefter som tgångspnkt vid integrering mellan nästkommande samplingspnkter. Förloppet pprepas sedan tills hela mätserien behandlats. Vägarna för att rent praktiskt genomföra detta på ett korrekt sätt med hjälp av Matlab är dock ganska begränsade till antalet. Då modellbeskrivningen enligt specifikation skall tgöras av en simlinkmodell är de direkta vägarna för att behandla problemet begränsade. I detta fall är man bnden till att använda Matlabs inbyggda fnktioner för integrering och linjarisering, sim respektive linmod [3]. Dessvärre är dessa fnktioner generellt sett ganska långsamma för detta ändamål. Ett sätt att ndvika någon av dessa prestandakrävande fnktioner kan då vara att skapa alternativa lösningar som bygger på än mer approimativa metoder. Detta kan då ge en god fingervisning om tgångsläget för det fortsatta arbetet. Två stycken sådana metoder har testats och tvärderats i arbetet Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5]. De alternativa metoderna som ndersöks bygger i ena fallet på en diskretisering

35 av modellen och i det andra fallet på en linjariserad modell. Den diskretiserade varianten är intressesant att ndersöka eftersom metoden möjliggör att prediktionen av näskommande sampel kan beräknas tan någon tidsödande integrering. Medan den andra metoden ger fördelen att andra integreringsmetoder än Matlabs sim kan användas. Detta är möjligt eftersom den linjariserade modellen finns tillgänglig i form av A,B,C och D- matriser i Matlab, vilket gör att integreringsmetoden inte behöver hantera någon simlinkmodell. Tyvärr visar det sig att både dessa alternativa metoder ger ett alltför dåligt kvalitativt resltat. Hvdanledningen till detta är att båda varianterna arbetar tifrån linjariserade modellbeskrivningar och inte direkt mot den olinjära modellen. Ett sådant förfarande gör att en allt för stor del av den olinjära modellens egenskaper faller bort. Med tgångspnkt från detta måste det fortsatta arbetet tgå från en metod som bygger på användandet av de i Matlab inbyggda fnktionerna för bl.a. linjarisering och integrering (sim och linmod) mot simlinkmodeller. Denna rtin för simlering kommer fortsättningsvis att benämnas som referensrtinen och hädanefter kommer enbart metoder nära besläktade med denna i fråga om ppbyggnad att behandlas. Med detta menas att principerna för integrering och linjarisering måste bygga på samma grndmetodik. Framförallt måste en olinjär modellbeskrivning bibehållas. För mer detaljerad information kring de olika varianterna och främst den så kallade referensrtinen se [5]. Det bör dock nämnas att denna referensrtin bygger på att integrering sker mot en simlinkmodell med hjälp av Matlab kommandot sim. Vidare så bygger den filtrerande delen på ett s.k. Etended Kalmanfilter (se avsnitt..) där linjariseringen sköts med hjälp av Matlabs inbyggda rtin (linmod). Problemet med den s.k. referensmetoden är dock att den är mycket prestandakrävande, dvs. tidsåtgången för att genomföra en filtrerande simlering är ganska påtaglig. I Tabell 4. kan två eempel på tidsåtgång för den aktella referensrtinen ses. Vid en första anblick av dessa tider pplevs de kanske inte som ett problem. Detta kan i och för sig vara sant, åtminstone så länge enbart en simlering tförs. Tyvärr är man ofta i behov av att göra flertalet simleringar för att ppnå det resltat som eftersträvas. Ett eempel på detta kan vara om simleringsrtinen skall användas som en del i någon form av parametersökning. I ett sådant fall kan det finnas behov att genomföra hndratals simleringar i en följd för att knna ppnå realistiska resltat hos de aktella parametrarna. Att genomföra tiotals ibland hndratals simleringar, som krävs i vissa fall, kommer då att bli mycket tidsödande med den tidsåtgång som rtinerna i nläget kräver. 8 Tabell 4. Simleringstider Simlering enligt referensmetoden med kalmanfiltrering Total tidsåtgång [s] Tvåtanksystemet 3 Fyrtanksystemet 44 För att komma till rätta med tidsåtgång delas problemet pp i två hvdproblem. Det ena blir att försöka tidsoptimera integrering mot en olinjär modell och det andra blir att ndersöka vad som kan göras för att

36 tidsoptimera kalmanfiltreringen. Tidsoptimeringen av kalmanfiltreringen presenteras tförligt i avsnitt 4.3. Medan tidsoptimeringen för integreringen enbart beskrivs kortfattat i avsnitt 4., då denna behandlas tförligt i arbetet Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5] Tidsoptimering av integrering Denna del av arbetet bygger på att tidsoptimera själva integreringen som tförs i den s.k. referensrtinen. Ett av de stora problemen vad gäller tidsåtgången med Matlabs inbyggda rtin för integrering (sim) mot simlinkmodeller, visar sig vara själva modellanropet. För att kringå problemet med modellanropet tgår ndersökningarna från att modellen finns beskriven på tillståndsform i Matlab. Detta medför även att metoderna som används för integrering inte behöver hantera någon simlinkmodell, tan beräkningen kan ske direkt tifrån en ordinär differentialekvation. För att hitta en metod som ger en förbättring av tidsåtgången ndersöks en rad olika nmeriska metoder för integrering. Bland annat testas några av de i Matlab inbyggda nmeriska metoderna (ODE3 och ODE45) för integrering. Dessa integreringsmetoder ger ett fllt jämförbart kvaliltativt resltat med de som Matlabs sim ger, dessvärre är inte de tidmässiga egenskaperna tillfredsställande. Den sltgiltiga lösning blir därför tifrån såväl kvalitativa som tidsmässiga egenskaper att främst implementera olika lösningsmetoder som bygger på Rng-Ktta algoritmen. Denna lösning ger en klar förbättring av tidsprestandan, men kräver som tidigare nämnt att modellen finns bekriven på tillståndsform i Matlab. För att ge en bild av hr stor tidmässig förbättring som erhålls, kan nämnas att den nyimplementerade algoritmen är pp till.5 ggr snabbare är motsvarnade integrering med Matlabs sim. Givetvis varierar detta resltat beroende på systemets kompleitet samt vilken Rnge-Ktta ordning som används vid integreringen. För mer detaljerad beskrivning angåenden denna del av simleringen hänvisas till Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5], där tförlig information kring de olika metoderna och resltaten finns.

37 3 4.3 Tidsoptimering av kalmanfiltrering 4.3. Analys av tidsåtgången Korrigeringsdelen består av en rad olika operationer såsom linjarisering, integrering av prediktionsfelets varians, beräkning av viktfnktionen K samt sltligen korrigeringen av själva tillstånden. Dessa operationer beskrivs mer ingående i avsnitt... Som diskterats i avsnitt 4. är simlering med kalmanfiltrering tidsödande tifrån de specifikationer som detta arbete bygger på. I denna del av rapporten behandlas därmed vilka delar av själva kalmankorrigeringen som kan förändras för att minska tidsåtgången med tgångspnkt från referensrtinen (se avsnitt 4.). Insignal () Verklig tsignal (y) Störningarnas kovarianser Linjarisering av modell Initiering Integrering av P Beräkning av K Beräkning av Pˆ, ˆ Integrering Kalmanfiltrering Estimerade tillstånd () Predikterad tsignal (y) Korrigerad tillståndsvektor för bättre tgångsläge till nästkommande integrering (k till k+) Fig. 4. Hvdpnkter vid korrigering I Fig. 4. visas ett blockschema med speciell förstoring över de olika delmoment som tförs vid kalmanfiltrering. För att få en ppfattning om hr tidsåtgången är fördelad över de olika delmomenten i filtreringen, genomförs en mätning på detta. Ett angreppssätt är då att dela pp filtret enligt Fig. 4. och sedan mäta tidsåtgången för var och en av dessa moment. En sådan mätning bör då ge en fingervisning om vilka delar som är i störst behov av tidsoptimering. Att mäta tidsåtgången för olika programrader i Matlab kan vara komplicerat. Anledningen till detta är att eekveringstiden för en beräkning oftast är mycket kort samtidigt som pplösningen på de verktyg som finns i Matlab är ganska låg (ms). Vidare varierar resltatet från gång till gång eftersom operativsystemet samtidigt som mätningen äger rm, även hanterar en rad högprioriterade avbrott. I detta fall löses båda dessa problem genom att tföra mätningen över beräkningar. Utifrån denna mätning kan

38 sedan ett relativt bra värde fås genom medelvärdesbildning av den totala tidsåtgången om så önskas. I denna rapport presenteras dock alla tidsmässiga resltat baserade på alla beräkningarna, för att ge lättöverskådliga värden. Då etrem noggrannhet inte är relevant nder detta arbete så anses denna metod vara fllt tillräcklig för mätning av eekveringstider. Tabell 4. Eekveringstid Linjarisering Integrering av P Beräkning K Beräkning P, Tot % Tid (sec) 6 <ms <ms 7 Värdena i Tabell 4. baseras på beräkningar av kalmanfiltreringen mot tvåtankssystemet (se avsnitt 3.3). Det bör här påpekas att den procentella fördelningen av tidsåtgången mellan linjarisering och integreringen varierar ganska kraftigt beroende på system. Då mer avancerade system används blir tidsåtgången för beräkning av prediktionsfelets varians (P) (se avsnitt..) än mer påtaglig medan tidsåtgången för linjariseringen i stort sett är oförändrad oberoende av system. Då detta steg enbart syftar till att indikera vilka delar som är i behov av tidsoptimering så räcker det med att ndersöka fördelningen i ett system. Som synes i Tabell 4. ligger den stora tidsåtgången i linjarisering och i integreringen för att beräkna prediktionsfelets varians. I båda dessa fall används inbyggda fnktioner i Matlab vid beräkningen. Vid linjarisering används kommandot linmod och vid integrering används en i Matlab inbyggd nmerisk metod. Sltsatsen från dessa mätningar blir att fortsättningsvis försöka tidsoptimera delarna som tför linjarisering och beräkningen av P. De övriga delarna i kalmanfiltret tlämnas eftersom de inte nämnvärt bidrar till tidsåtgången. Här bör också nämnas att simlink version R3 har en bgg vilket medför att tidsåtgången för en linjarisering i vissa fall kan bli dbbelt så lång om modellen är öppnad gentemot om den är stängd i Matlab. Denna bgg skall enligt Mathworks vara tillrättad i version R4. 3 Linjarisering Som nyligen nämnts står linjariseringen för mer än hälften av den totala tidsåtgången i kalmanfiltreringen, beroende på hr komplicerad modell som används. Enligt tidigare resonemang så är tidsåtgången för denna relativt konstant oberoende av vilken modell som används. Med bakgrnd av detta kan man misstänka att det inte är själva linjariseringen som är tidskrävande, tan att det snarare är anropet och hanteringen av simlinkmodellen som är tidskrävande. En tänkbar lösningsgång för att minska tidsåtgången sklle knna vara att försöka modifiera Matlabs linjariseringsrtin linmod. Troligtvis kommer denna väg dessvärre inte ge mycket förbättring av tidsproblemet eftersom rtinen i grnden bygger på att arbeta mot simlinkmodellen. Som nyss

39 nämndes är det jst anropet till denna som är den stora delen av tidsåtgången vid linjarisering. Med bakgrnd av detta är det därmed lämpligare att skapa en ny rtin för linjarisering. Fördelarna med att skapa en ny rtin är att denna kan tformas för att passa eamensarbetet och behöver inte som Matlabs inbyggda fnktion för linjarisering vara generell för alla typer av problem. Desstom finns då möjlighet att helt eller delvis redcera antalet tidskrävande modellanrop. En väg att genomföra en tidsoptimering av linjariseringen är att tnyttja det faktm att modellstrktren inte förändras mellan de olika pnkterna där linjariseringen ska appliceras. Enda skillnaden mellan de olika samplingspnkterna är att värdet (arbetspnkten) kring vilken systemet linjariseras ändras. En tänkbar lösning med bakgrnd av detta sklle då vara att dela pp linjariseringen i två delar. Där den ena delen tför de beräkningar som inte kommer att ändras mellan de olika samplingspnkterna och den andra delen tför de beräkningar vars resltat förändras. Tanken är då att genomföra själva modellanropet och derivataberäkningarna (se avsnitt.) av linjariseringen i ett tidigt skede, dvs. tanför de tidskritiska delarna av simleringen. I jämförelse med att använda linmod kan därmed stora delar av beräkningen, inklsive modellanropet, flyttas ifrån de tidskritiska områdena. En sådan ppbyggnad bör därför medföra en kraftig förbättring av tidsprestandan. Fördelen med att tföra dessa moment i ett initierande skede är att själva anropet till modellen och derivataberäkningarna enbart genomförs en gång för varje simlering. Vid varje korrigering tförs sedan enbart evalering av den aktella arbetspnkten i A-, C- och D- matriserna. Att skapa en sådan rtin för linjarisering verkar tifrån ovanstående resonemang som en lämplig metod att attackera problemet. Att lösa problemet på detta viss kommer dock att kräva en inläsning av modellen. Dvs. modellen som normalt sett är beskriven i simlink måste konverteras till en beskrivning på tillståndsform, för att den tänkta linjariserings metoden skall knna tillämpas (se avsnitt.). Eftersom den starkt tidsoptimerade integreringen också kräver denna typ av modellrepresentation (se avsnitt 4.) finns det ingen anledning att ndvika detta tillvägagångssätt. 3

40 33 Beräkning av prediktionsfelets varians Som framkommit i Tabell 4. är även beräkningen av prediktionsfelets varians (P) en mycket tidskrävande del vid kalmanfiltrering. Det stora problemet vid beräkningen av denna är dels integreringen som sköts via en i Matlab inbyggd nmerisk metod. Men även en fnktionsevalering som ppdaterar riccati-ekvationen mellan varje integrationssteg. Att fnktionevaleringen till riccatiekvationen är krävande medför att tidsåtgången ökar med antalet tillstånd. Det vill säga då antalet tillstånd i modellen ökar så stiger även antalet variabler som skall evaleras. Att tidsoptimera denna beräkning är därmed av betydande karaktär för detta arbete. Dessbättre finns flera olika vägar att gå för att genomföra en optimering av denna. En tänkbar väg är att använda någon av de kraftigt tidsoptimerade integreringsrtinerna som beskrivs i avsnitt 4.. En sådan lösning sklle ge en klar förbättring av tidsåtgången med bibehållet resltat. Dessvärre förbättras enbart själva integreringen av detta förfarande, medan tidsåtgången för fnktionsevaleringarna kvarstår. Ett annat sätt att lösa problemet är att tnyttja egenskapen att prediktionsfelets varians tidsmässigt konvergerar relativt snabbt. Fördelen med detta beteende är att en lösning troligtvis kan erhållas tan att använda någon av de i Matlab inbyggda fntionerna för integrering. Genom att dela pp krvan i ett antal steg t och beräkna sltvärdet av P rent nmeriskt kan sannolikt ge en mycket god approimation av värdet med tanke på det fördelaktiga beteendet. Rent tidsmässigt bör prestandan i varje fall bli bra, då varken fnktionsevalering eller integrering är nödvändigt med denna metod. I Fig. 4.3 kan ett eempel på en sådan fnktion ses. För att illstrera de för detta fall relativt fördelaktiga egenskaperna har en integrering genomförts på en enkel modell med samplingstiden seknder. Här kan det ses att värdet konvergerar mot att vara konstant på mindre än 4 seknder. I vissa fall kan det dock ta pp till ett par sampel innan värdet konvergerat till konstant. Detta beroende av vilket initieringsvärde som används m.m. Fig. 4.3 Prediktionsfelets varians

41 Uppbyggnad av tidsoptimerad kalmanfiltrering Utifrån problemanalysen har problemen kring kalmankorrigeringen stderats och de två stora tidsproblemen har lyfts fram. I detta avsnitt ska n dessa två problem behandlas vidare med målet att hitta en lösning som ger bättre resltat vad gäller tidsprestandan, samtidigt som kvaliteten inte får försämras märkbart Prediktionsfelets varians Enligt resonemanget i avsnitt 4.3 tar integreringen vid beräkningen av prediktionsfelets varians (P) stor del av den totala tidsåtgången. För att komma tillrätta med detta nämns en alternativ lösning som löser problemet approimativt tan någon tidsödande fnktionsevalering eller integrering med någon av de i Matlab inbyggda nmeriska metoderna. Eftersom det är fnktionsvärdet av P vid nästkommande sampel som är intressant så kan förändringen av P definieras approimativt enligt (4.). Genom att göra en approimativ integration där fnktionen hackas pp i ett antal delar, dvs. t väljs till samlingstid/antal delar, så kan denna beräkning troligtvis göras mycket snabbt. Givetvis kan tidvinsten i vissa fall vara på bekostnad av kvalitet. En mer ingående diskssion förs kring detta i avsnitt Förändringen av variansen kan approimativt ttryckas som P ( t) P( t t) P( t)) t (4.) Evalering av (4.) i (.9) ger P( t t) P( t)) t F( t) P( t) P( t) F T ( t) R (4.) T P( t t) P( t) t ( F( t) P( t) P( t) F ( t) R ) (4.3) Detta ger att fnktionsvärdet i vid nästkommande sampel kan beräknas genom att genomföra en loop av ekvation (4.3) tills P vid nästkommande sampel är beräknat. Dvs. att tföra loopen lika många gånger som problemet delats pp i och för varje gång stega fram med tidsinkrementet t. Vad gäller valet av ppdelningen så kan det sägas att efter en rad försök med olika processer och steglängder har jst steglängden t = t/ valts, dvs. fnktionen delas pp i delar vid beräkning. Anledning till jst detta val är att det visat sig vara fllt tillräckligt för att få en god prediktion av P. Detta är givetvis en avvägning mellan tidsåtgång och kvalitet, men som tidigare nämnts baseras valet på en rad försök och i samtliga fall har det visat sig vara ett mycket bra val.

42 Linjarisering Den största tidsåtgången vid kalmanfiltrering är som tidigare nämnts linjariseringen av den i Simlink beskrivna olinjära modellen. Det nämndes i avsnitt 4.3 två tänkbara vägar för att minska tidsåtgången för denna. Eftersom Matlabs linmod bl.a. genomför ett tidsödande modellanrop vid varje eekvering, drogs sltsatsen att istället tveckla en ny rtin för linjarisering. I Tabell 4. kan man se att tidsåtgången för enbart linjarisering vid en mätserie på sampel kan vara ppemot seknder. Om detta jämförs med den totala åtgången för att simlera hela serien (se avsnitt 4.), så ser man att linjariseringen är en mycket tidskrävande del och behovet av att tidsoptimera denna del är därmed stort. Att skapa en helt ny rtin för att genomföra linjariseringen är därför en god idé för att komma till rätta med problemet i detta arbete. En stor fördel ligger som tidigare nämnts i att rtinen kan delas pp i två delar, där den ena delen genomför själva derivata beräkningen av systemet medan den andra delen enbart evalerar in den aktella arbetspnkten. Övriga fördelar med skapandet av en ny rtin är att den helt och hållet kan anpassas efter problemet i detta arbete. Ett eempel på en sådan anpassning kan vara att enbart A-, C- och eventellt D-matrisen är nödvändiga vid kalmanfiltreringen (se avsnitt..). Detta medför att B- matrisen i detta fall är helt meningslös att ta fram och tillskillnad mot Matlabs linmod så behövs ingen energi läggas på beräkning denna. En helt ny rtin ger därmed att flertalet för detta problem helt onödiga beräkningar kan ndvikas, samt att de nödvändiga beräkningarna kan delas pp och genomföras i olika delar av simleringen. I jämförelse med linmod kan mycket tid besparas på detta sätt, framförallt eftersom anropen till modellen redceras.

43 36 Insignal () Verklig tsignal (y) Störningarnas kovarianser Del av linjarisering Integrering Kalmanfiltrering Del av linjarisering Korrigerad tillståndsvektor för bättre tgångsläge till nästkommande integrering (k till k+) Estimerade tillstånd () Predikterad tsignal (y) Fig. 4.4 Placering av de två delarna av linjariseringen I Fig. 4.4 illstreras förfarandet med att dela pp linjariseringen i två delar. Här kan man se att den ena delen (del ) ligger tanför den tidskrävande simleringsloopen och tförs därmed enbart vid ett tillfälle per simlering. Denna del består som sagt av de mest tidsödande operationerna av linjariseringen, såsom modellanrop och matrisberäkningar. Den andra delen ligger som synes i direkt ansltning till kalmankorrigeringen, inti de tidskritiska områdena och tför enbart en ppdatering av matriserna med den aktella arbetspnkten. Det finns dock en del praktiska problem vad gäller själva ppbyggnaden av denna rtin. Hr dessa löses och vilka problem som finns kring detta tas pp mer detaljerat nedan, där del och del i Fig. 4.4 behandlas separat. Beräkning av linjariserad modell (del ) För att knna lösa linjariseringen enligt den väg som diskteras i avsnitt 4.3. så krävs att systemet kan deriveras på det vis som behandlas i avsnitt.. Problemet ligger alltså i att systemet måste beskrivas på tillståndsform för att denna metod ska vara användbar. Enligt specifikationerna för detta eamensarbete skall däremot systemet beskrivas med hjälp av en simlinkmodell. Som simlinkmodell är systemet ppbyggt på ett grafiskt sätt där olika block sammankopplas till ett komplett system. De olika fnktionerna som Matlab använder sig av för t.e. simlering och linjarisering (sim och linmod) anropar sedan denna simlinkmodell och simlerar via denna. Dessvärre är detta enligt tidigare resonemang tidsödande och den lösning som är tänkt att användas n bygger på andra principer. Därmed finns ett behov av att få en för detta fall hanterbar

44 beskrivning av modellen men ändock ha simlinkmodellen som tgångspnkt. Tyvärr finns det inga inbyggda fnktioner i Matlab som kan konvertera en modell från simlinks beskrivningssätt till t.e. tillståndsform som är av intresse i detta fall. Eftersom det finns ett behov av att tillgå simlinkmodellen på tillståndsform även vid simlering, så är den enda vägen att även skapa en rtin som läser in modellen från simlink och sedan presenterar den på tillståndsform. Mer om denna rtin tas pp senare i kapitel 5. Hädanefter antages därför att modellen finns tillgänglig på tillståndsform enligt ekvation (4.4). 37 ( t) f y( t) g ( t), ( t) ( t), ( t) (4.4) Med tgångspnkt från att systemet finns beskrivet på tillståndsform enligt (4.4) kan därmed metoden för linjarisering i avsnitt. tillämpas. f A g C g D (4.5) I (4.5) ses hr de nödvändiga matriserna beräknas. Genom att tföra beräkningen av dessa derivator grndat på ekvation (4.4), kan en linjär representation av modellen fås i en godtycklig arbetspnkt. Observera att denna del av linjariseringen (del ) enbart skall genomföras vid ett initierande skede, därför tlämnas själva evaleringen av arbetspnkten till ett senare skede. Tillsvidare representeras därför arbetspnkten av symboliska ttryck. I den andra delen (del ) av linjariseringen ersätts sedan de symboliska ttrycken i de deriverade matriserna (från del ) med värden i den aktella arbetspnkten (, ). Rtinens ppbyggnad I ett första skede så linjariseras simlinkmodellen med hjälp av det tidigare nämnda kommandot linmod. Anledningen till att detta kommando används, trots att syftet med dessa rtiner är att ersätta denna, är att en första linjarisering med linmod ger viktig information kring in-, tsignaler samt tillstånd. Denna information är nödvändig för att senare knna veta vilka variabler som systemet skall deriveras med avseende på samt för att matriserna skall få korrekta storlekar. Det bör även nämnas att det tidsmässigt inte har någon större betydelse att kommandot används, eftersom det enbart används vid ett enda tillfälle för varje simlering. I nästa skede används den modell som förtsätts finnas inläst på tillståndsform (se kapitel 5). Den aktella tillståndsmodellen förtsätts vidare vara beskriven som ett s.k. symbolobjekt. Anledningen till detta är att möjliggöra att lösningen efter derivering kan var av icke-nmerisk karaktär. Detta är nödvändigt eftersom kommandot som genomför derivatorna i annat

45 fall kräver att lösningen är rent nmerisk, vilket inte är fallet då arbetspnkten änn inte är känd. Sltligen genomförs själva deriveringen med hjälp av en i Matlab inbyggd fnktion (diff) []. För att skapa korrekta matriser används i detta skede den information som Matlabs linjariseringsrtin tidigare gav. Se Fig. 4.5 för en grafisk beskrivning av rtinen. 38 Namn på simlinkmodell Hämtar info om tillstånd m.m Initierande rtin Hämtar modell på tillståndsform Deriverar modell Modell på tillståndsform Inläsning av simlinkmodell till tillståndsform A,C,D-matriser med symbolisk representation av arbetspnkten. Namn på arbetspnkt Fig. 4.5 Blockschema över rtinens beståndsdelar och fnktion (del ) I (4.6) kan ett eempel på resltatet som den initierande delen (del ) av linjariseringen levererar. Här vissa enbart A-matrisen som fås då tvåtankssystemet som beskrivs i avsnitt 3.3 linjariserats enligt denna metod. Som synes är arbetspnkten änn inte representerad av ett nmeriskt värde. Matrisen i (4.6) är en linjarisering av det olinjära systemet giltig i pnkten och. Enligt tidigare resonemang förblir denna matris oförändrad genom hela mätserien och det enda som ändras mellan varje samplingspnkt är därmed och..55 A (4.6) Rtinen som tvecklats för den här delen av linjariseringen heter linmodelinit.m och levererar matriserna A,C och D på den form som beskrivs i (4.6), dvs. med en symbolisk representation av arbetspnkten. Vidare så levereras även en variabel som innehåller de symboliska namnen på arbetspnkten. I fallet (4.6) sklle de symboliska namnen vara och. Dessa data används sedan som inparametrar till den andra delen (del ) av linjarisering där arbetspnkten evaleras in. Rtinen har enbart en inparameter vilket är namnet på den aktella simlinkmodellen.

46 39 Evalering av arbetspnkten i linjariserade matriser (del ) Föregående avsnitt behandlade den del av linjariseringen som enbart tförs en gång för varje simlering. Den del som presenteras här är de beräkningar som tförs i varje samplingspnkt och är med andra ord den del som är mycket tidskritisk. För att denna del ska eekvera så snabbt som möjligt är det av högsta vikt att inga onödiga beräkningar görs i denna. Eftersom de enda nödvändiga operationerna i denna rtin är att sbstitera in värdena på den aktella arbetspnkten i matriserna, så finns det inte mycket som kan göras för att påverka tidsåtgången. Den enda tidskrävande delen som kan nämnas är kommandot för att sbstitera in värdet på arbetspnkten. För att sbstitera in den aktella arbetspnkten i respektive matris finns ett par olika kommandon (eval och sbs) i Matlab [6]. Skillnaden mellan dessa är inte stor vad gäller fnktion men tidsmässigt skiljer de sig kraftigt. I detta fall används kommandot eval för att genomföra denna sbstittion då denna visat sig vara väsentligt snabbare än sbs. Den enda fnktionella skillnaden mellan dessa två är att eval kräver rent nmeriska resltat av evalering medan sbs även hanterar icke-nmeriska resltat. Med andra ord får det inte finnas några symbolobjekt kvar efter evaleringen när eval används. Eftersom denna del alltid kommer att leverera helt nmeriska matriser så kan eval användas tan problem i detta fall. Det bör även nämnas att rtinen omvandlar eventella icke-reella element i matriserna till helt reella tal. Eftersom matriserna för verkliga system inte ska knna anta imaginära tal, kan man j ifrågasätta varför detta görs. Enda anledning till detta är att vid t.e. parametersökning kan systemet hamna fel, vilket kan ge pphov till imaginära element i framförallt A-matrisen. För att ändock hålla sökningen igång genomförs därmed denna korrektion av matriserna. Eventella imaginära element görs helt reella genom att sbtrahera realdelen med imaginärdelen. E. i. Bakgrnden till jst denna lösning är att Matlabs inbyggda fnktion linmod hanterar problemet på samma sätt. Rtinens ppbyggnad Som tidigare nämnts består inte denna rtin av särskilt många operationer. Egentligen så tförs hela sbstittionen av arbetspnkten med hjälp av tre rader kod. Dessa tre rader kan ses i (4.7) och består av kommandot eval och de tre matriserna (Alin, Blin och Clin) som den initierande delen av linjariseringen skapat. A=eval(Alin); C=eval(Clin); D=eval(Dlin); (4.7)

47 4 Före detta finns dock några rader som tilldelar ett värde (arbetspnkten) till de variabler som skall sbstiteras in i matriserna med hjälp av eval. Vidare så består resterande del av koden av de operationer som korrigerar de element som eventellt är imaginära. Utparametrar från initierande del (del ) Värden på arbetspnkten Tilldelar värden till de variabler som skall sbstiteras in i matriserna. Sbstiterar in de aktella värdena i matriserna Kontrollerar om något element är imaginärt A-, C- och D- matriserna Fig. 4.6 Blockschema över rtinens beståndsdelar och fnktion (del ) I Fig. 4.6 kan ett blockschema över hr rtinen arbetar ses. Som tidigare nämnts är rtinen mycket kompakt och består av mindre än 5 rader kod. Denna kompakta lösning gör att den här delen av linjariseringen är mycket snabb i jämförelse med inbyggda fnktioner som linmod. Rtinen som tvecklats för denna del av linjariseringen heter linmodel.m och anropas med hjälp av tparametrarna från den initierande delen av linjariseringen samt av värden på den aktella arbetspnkten. Som tparametrar levereras svaret av linjariseringen kring den angivna pnkten i form av A-, C- och D-matrisen.

48 Resltat och tester för kalmanfiltrering För att testa den sltliga prestandan hos de tvecklade rtinerna för kalmankorrigering används de modeller som framställs i kapitel 3. Testningen av snabbheten genomförs som tidigare nämnts genom att göra samma operation ggr, i detta fall för sampel, vilket eliminerar inverkan av bl.a. operativsystemets avbrottshantering. Givetvis så är det inte tiderna i sig som är intressanta tan tiderna relaterade till varandra. Eftersom tidsåtgång är direkt relaterad till datorns klockfrekvens m.m. är det den procentella skillnaden som är av intresse för att avgöra om prestandan har förbättrats. Vad gäller kvaliteten så har linjariseringsrtinerna testas genom att jämföra resltatet från den nytvecklade metoden med resltatet från Matlab-rtinen linmod i flertalet olika arbetspnkter. Den nytvecklade approimativa rtinen för beräkningen av prediktionsfelets varians testas gentemot den metod som referensmetodiken (se avsnitt 4.) erhåller. Prediktionsfelets varians Notera att fermatorsystemet egentligen är en deterministisk process, dvs. inga störningar finns representerade. I detta fall används denna ändock för att påvisa hr tidsåtgången påverkas av en mer avancerad modell. Resltatet med avseende på tiden från den nytvecklade approimativa rtinen jämförs sedan med resltatet från samma beräkning då integreringen görs enligt referensmetodiken med en i Matlab inbyggd nmerisk metod. I Tabell 4.3 visas beräkningstiderna då systemet linjariserats i en godtyckligt vald arbetspnkt i de tre olika systemen. Precis som tidigare baseras tiderna på beräkningar av samma problem. Tabell 4.3 Beräkningstider för P System Tidsåtgång [s] Tidsåtgång [s] Förbättring [ggr] Integration med Matlabs inbyggda nmeriska metod Nytvecklad rtin för beräkning av P Tvåtankssytem Fyrtankssystem Fermatorsystem Man kan i Tabell 4.3 se att tidsvinsterna med den nytvecklade approimativa rtinen är stora. De stora skillnaderna mellan de olika systemen beror, för varianten där Matlabs inbyggda metod används, av hr många evaleringar som behövs för att lösa problemet samt av hr komple fnktionen är. Medan vid den nytvecklade lösningen kommer skillnaderna av antalet tillstånd, dvs. fler tillstånd ger större matriser, vilket i sin tr kräver mer beräkningstid. Utifrån de kraftigt förbättrade beräkningstiderna måste den nytvecklade approimativa lösningen ses som mycket lyckad. Dessvärre har som tidigare nämnts denna tidsvinst erhållits på bekostnad av

49 kvalitet, i varje fall i jämförelse med en teoretiskt korrekt integrering. Eftersom även Matlabs inbyggda nmeriska metod för integrering är en approimativ lösningsmetod med ett begränsat antal steg för att komma fram till prediktionen, så kan i vissa fall den nytvecklade lösningen ge ett mer korrekt svar. Detta beror på att Matlabs inbyggda metod använder olika steglängd beroende på hr fnktionen ser t. Vid t.e. snabba förändringar används fler steg medan vid långsamma förändringar används färre steg. För vissa enkla fnktioner kan Matlabs inbyggda metod använda färre än de steg som den nytvecklade approimativa rtinen alltid använder. Givetvis kan steglängden i Matlabs inbyggda nmeriska metod påverkas genom att ändra på toleranserna. Med en sådan ändring kan steglängden tvingas ner varpå en änn bättre integrering kan genomföras (för värdena i Tabell 4.3 är 3 toleransen ). Detta ger dock att tidsåtgången ökar medan resltatet för testfallen visat sig bli i stort sett desamma. Med tanke på det som diskterats ovan är det komplicerat att göra en kvalitetsbedömning. Detta p.g.a. det är svårt att hitta en lösning som kan betraktas som helt korrekt att jämföra resltatet från den approimativa beräkningen mot. Det bör dock nämnas att skillnaderna mellan Matlabs inbyggda metod och den approimativa lösningen enbart är i storleksordningen <% i alla de testade fallen. Utifrån detta får den metod som den nytvecklade beräkningsrtinen använder anses som en fllt godkänd lösningsmetod, särskilt med tanke på de stora tidsvinster som erhålls. Linjarisering Testningen av linjariseringsrtinen genomförs mot de tre modellerna som beskrivs i kapitel 3. Tillvägagångssättet för att testa hr tidsprestandan har förbättrats med den nya rtinen är som tidigare att en linjarisering genomförs ggr kring en specifik pnkt (i detta fall ett). Därefter genomförs samma linjarisering kring samma pnkt med Matlabs linmod varpå en jämförelse mellan de två eekveringstider kan stderas. Tabell 4.4 Eekveringstider för linjarisering System Tidsåtgång [s] Tidsåtgång [s] Förbättring [ggr] Matlabs linmod optimerad rtin (linmodel.m) Tvåtankssytem Fyrtankssystem Fermatorsystem I Tabell 4.4 kan man se att förbättringarna ifråga om tidsprestanda är ganska påtagliga vid en jämförelse mellan Matlabs linmod och den nyskapade rtinen för linjarisering. Resltatet från tvåtanksystemet är som synes mycket bra, den nya rtinen är hela gånger snabbare än Matlabs linmod. Vidare så minskar förbättringen alltmer då systemets kompleitet ökas. Fermatorsystemet är enligt tabellen det system som ger den minsta förbättringen (6. ggr) medan tvåtanksystemet ger den bästa (. ggr). Anledningen till dessa variationer är att antalet variabler som ska 4

50 sbstiteras med värden ökar i de komplea systemen. Med detta menas inte nödvändigtvis att antalet tillstånd måste öka tan snarare att förekomsten av symbolerna som betecknar arbetspnkten ökar. Ett eempel på detta sklle knna vara ett system likt det i (4.6), fast där och förekommer på fler ställen i matrisen. Därmed är tidsåtgången i den nya rtinen ganska beroende av vid hr många positioner som en given arbetspnkt måste sbstiteras in i. I t.e. fermatorsystemet måste värden sbstiteras in på 43 positioner jämfört med tvåtankssystemet där enbart 3 positioner krävs. Vid en given kompleitet så kommer den nyskapade rtinen för linjarisering tifrån ovanstående resonemang att bli långsammare än Matlabs linmod. Detta inträffar dock inte för system av normal kompleitet och eftersom fermatorsystemet bör anses som ganska komplet, får en förbättring med hela 6. ggr för ett sådant system ses som mycket bra. Resltatet avseende kvalitet är i detta fall ganska enkelt att kontrollera. Tillvägagångssättet har i detta fall varit att genomföra samma linjarisering med båda metoderna varefter element för element jämförts. Då dessa stämmer överens anses linjariseringen korrekt. En enkel testkod skapades för att tföra dessa tester. Denna testkod genomför en rad olika linjariseringar med ett stort antal olika arbetspnkter och jämför resltatet från de olika metoderna vid varje tillfälle. Vid varje genomfört test har de båda metoderna gett samma resltat. Med bakgrnd av detta kan rtinen för linjarisering anses fngera korrekt. 43 Kalmanfilter med tidsoptimerade delar För att få en ppfattning om hr mycket den totala tidsåtgången för hela kalmanfiltret har förbättrats, presenteras en tabell med data kring tidsåtgången. Dessa data baseras på en komplett kalmankorrigering för tvåtank- och fyrtanksystemet då en mätserie med samplingspnkter används. Observera att dessa resltat enbart innefattar tidsåtgång för själva kalmanfiltret, för resltat kring kompletta simleringar hänvisas till avsnitt 4.5. Tabell 4.5 Tidsåtgång för hela kalmankorrigeringen System Optimerad kalmankorrigering [s] Referensberäkning av kalmankorrigering [s] Förbättring [ggr] Tvåtankssystem Fyrtankssystem Som synes i Tabell 4.5 så har den totala tidsåtgången för kalman-korrigering förbättrats avsevärt med hjälp av de optimerade delarna för linjarisering och beräkning av prediktionsfelets varians (P). Givetvis kan graden av förbättring variera beroende på vilket system som är aktellt. Generellt sätt minskar tidsvinsten med ökande kompleitet hos systemet.

51 Beskrivning av simleringsrtinen I den sltgiltiga simleringsrtinen har de två tisdoptimerade delarna för integrering och kalmanfiltrering sammanfogats. Vad gäller integreringen så har en implementering skett av de nmeriska integrationsmetoder som ansetts varit fördelaktiga [5]. Anledningen till att flera metoder implementerats är att de innehar egenskaper som gör att de är bra på olika sätt. I Fig. 4.7 kan de aktella integreringsmetoderna och en principiell beskrivning av rtinen ses. Som synes så spelar kalmanfiltret (se avsnitt 4.3) en central roll i rtinen. Rtinen är alltså skapad tefter kalmanfiltreringens behov i form av strktr, och speciellt med tanke på att optimera med avseende på tidsåtgång. Uppbyggnaden har skett dels i parallella led för att inga villkor skall behöva testas nder simleringens gång, och dels genom att flytta t allt som är möjligt till ett slags initieringsstadie. Insignal () Initieringstillstånd Tolerans, vid RKF45 och RKato Verklig tsignal (y), för Kalmanfiltrering Kovariansmatriser, R och R, vid Kalmanfiltrering Steglängd, främst vid lösare med fast steglängd Hvdinitiering Initiering för Kalman RK ordning - 5 RKF45 RKato Matlabs sim Kalmanfiltrering Estimerade tillstånd () Predikterad tsignal (y) Fig. 4.7 Principiell beskrivning av simleringsrtinen Vid anropet till simleringsrtinen krävs, beroende på vilken integreringsmetod som valts, ett antal inparametrar. Dessa parametrar beskrivs närmare i rtinen, men de hvdsakliga parametrarna kan även här beskrivas för att få en inblick i rtinens fnktion. För alla integreringsmetoder krävs förtom processens insignal även samplingstid och eventella initieringstillstånd för tillstånden. Om kalmanfiltrering valts skall även störningarnas kovarians-

52 matriser anges (R och R, se avsnitt..) samt den verkliga processens tsignal(er). Vid RKF45 och RKato krävs även att relativa toleranser anges. Relativa toleransen beskriver skillnaden mellan prediktionen av lösare med olika ordning. För samtliga integreringsmetoder som arbetar med fast steglängd krävs även att steglängden anges. Steglängden anges lämpligast till samma längd som samplingstiden, men den kan också anges till ett annat värde än samplingstiden så länge den är lägre än samplingstiden och en jämn mltipel av denne. Rtinen levererar förtom ett estimat av tillstånden även en prediktion av systemets tsignal. Prediktionen av tsignalen behövs internt för att beräkna kalmankorrektionen, men är också nödvändig vid parametersökning (se kapitel 6). 45

53 Resltat filtrerande simlering I de tidigare avsnitten i detta kapitel ndersöktes kalmanfiltreringen på detaljnivå. Medan integreringen endast behandlats kortfattat då denna behandlas detaljerat i arbetet Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5]. I detta avsnitt kommer den sltgiltiga sammansatta lösningen att ndersökas och jämföras mot referensmetoden. Anledningen till detta är att åskådliggöra de olika delarnas samverkande resltat. Med andra ord är alla delar sammanfogade, dvs. integrering, kalmanfiltrering och modellinläsning. Vidare påvisas även skillnaden mellan att använda referensrtinen och den optimerade rtinen vid parametersökning. Detta för att påvisa den stora inverkan som de respektive rtinerna har i ett tidskritiskt tillämpningsområde Simlering med referensrtin Denna del har testats för att ge en jämförelsegrnd inför testerna som tförs med de optimerade rtinerna. Simleringen med referensrtinen bygger på den i avsnitt 4. beskrivna metodiken, dvs. den bygger helt på Matlabs redan befintliga kommandon för integrering m.m. Till alla tester har två stokastiska modeller använts, tvåtanksystemet och fyrtanksystemet. En mer detaljerad beskrivning av dessa system kan ses i kapitel 3. Det kan dock nämnas att mätserien består av samplingspnkter och att störningsnivån ligger på ca. en tredjedels 7 millimeter (kovarians ). För att få ett tgångsläge presenteras i Tabell 4.6 data för simleringar mot de två systemen. Tabell 4.6 Förlstfnktion och simleringstider för referensrtin System Lösare Total tidsåtgång [s] Förlstfnktion: Tvåtanksystem antal sampel Ode Ode Ode Ode Ode k y ( y n n ( Fyrtanksystem Ode Ode Ode Ode Ode I Tabell 4.6 visas simleringstider och förlstfnktion [5] för fem olika lösare vid simlering av de två tanksystemen. Eftersom fyrtanksystemet har två stycken tsignaler så bildas förlstfnktionen för var och en av dessa två, vilket kan ses i tabellen. Med tgångspnkt från dessa data kan sedan en jämförelse mellan referensrtinen och den optimerade rtinen göras.

54 Simlering med optimerad rtin För att få en ppfattning om hr mycket den nytvecklade rtinen har förbättrats rent tidsmässigt och kvalitativt tförs samma procedr för denna som för referensrtinen (se avsnitt 4.). Systemet simleras med samma mätserie, med enda skillnaden att den optimerade rtinen används istället för referensrtinen. Utifrån en sådan simlering kan sedan resltatet jämföras med de som presenterades i Tabell 4.6. Tabell 4.7 Förlstfnktion och simleringstider för optimerad rtin System Lösare Total Förlstfnktion: Förbättring i tidsåtgång antal sampel jämförelse [s] yn ( yn ( med referensk rtin i Tabell 4.6 [ggr] RK RK RK RK RK Tvåtanksystem Fyrtanksystem RK RK RK RK RK Som synes i Tabell 4.7 så används lösarna RK-RK5 i det optimerade fallet. Dessa lösningsmetoder är motsvarigheterna till de metoder som sim använder (Ode Ode5) i referensrtinen (se Tabell 4.6). En jämförelse mellan resltaten ifrån den optimerade rtinen (Tabell 4.7) och referensrtinen (Tabell 4.6) visar på stora tidsskillnader. Skillnaderna rent tidsmässigt varierar mellan ca 5- ggr, beroende på lösare och system. I de aktella fallen kan man se att en lösare av ordning tre sklle vara fllt tillräcklig med tanke på att förlstfnktionen inte förbättras märkvärt vid högre ordning. För tvåtanksystemet är tidsförbättringen för denna ordning 9. ggr och för fyrtanksystemet 7.9 ggr. Som synes så minskar förbättringen något då systemet blir mer komplet. Mest beroende på att fler tillstånd måste evaleras in i fnktionerna inför varje simlering. Dessa tidsförbättringar måste ses som en stor framgång med tanke på att ingen märkbar förändring av förlstfnktionen har skett. De två metoderna tför samma sak vad gäller kvalitativt resltat medan tidsförbättringen är mycket kraftig, även vid större system som t.e. fyrtanksprocessen.

55 48 5 Modellinläsning För att knna minska tidsåtgången för integreringen och kalmankorrigeringen på ett tillfredställande sätt, krävs enligt resonemangen i avsnitt 4. och 4.3 att modellen finns tillgänglig på tillståndsform. Enligt specifikationerna till eamensarbetet skall dock modellen som används vara beskriven som ett simlinkobjekt. Problemet kring detta är att en simlinkmodell är en grafisk beskrivning av modellen där olika block sammankopplas till ett komplett system, medan en tillståndsbeskrivning är en beskrivning med differentialekvationer. Sltsatsen är att det krävs någon form av konvertering mellan de två beskrivningssätten. I Fig. 5. visas en figr med dels en simlinkmodell av ett tvåtanksystem och dels en motsvarande tillståndsbeskrivning. A A3 A A y Fig. 5.Tvåtanksystem på simlink- och tillståndsform Det finns en rad kommandon tillhörande Simlink som gör det möjligt att få information om hr modellen är ppbyggd. Denna information beskriver helt och hållet hr de olika blocken i systemet är kopplade, värde på parametrarna samt vilket typ block det är frågan om. Eempel på sådana kommandon är get_param, find_system [3] m.fl. Utifrån denna typ av information sklle det vara möjligt att t.e. skapa en beskrivning på tillståndsform. Simlink ger dock även en möjlighet till att få systemet beskrivet i ANSI C- kod via en del i Simlink som heter Real-Time Workshop []. Utifrån detta kan en eekverbar fil innehållande en modellbeskrivning erhållas. Problemet kring detta är dock att denna fil fngerar på samma sätt som simlinkmodellen, dvs. beskrivningen av modellen är på sätt och vis den samma. För att knna använda modellen krävs därmed att de inbyggda rtinerna används vid integrering, linjarisering m.m. Skillnaden ligger i att man istället för att simlera mot simlinkmodellen, simlerar mot en eekverbar fil som är en direkt beskrivning av simlinkmodellen. Visserligen kan viss tidsbesparing erhållas via denna lösning men hvdsyftet med denna typ av beskrivning är att koden skall knna köras på t.e. en mikrodator. Desstom är tidsvinsten inte ens i närheten av den som kan erhållas om systemet beskrivs på tillståndsform. Eftersom det inte finns några redan eisterande rtiner som konverterar den

56 i Simlink beskrivna modellen till den önskade tillståndsformen, måste en sådan därmed konstreras. Att skapa en sådan rtin är dessvärre ganska så komplicerat och omfattande då Simlink har stöd för många olika typer av fnktioner, allt från integratorer till relän. Med tanke på detta är det redan i ett tidigt skede läge att specificera pp vilka typer av block som denna rtin skall stödja, då det med tanke på arbetets omfattning sklle vara omöjligt att hantera alla befintliga fnktioner Önskade fnktioner För att få en ppfattning om hr problemet ska lösas krävs kännedom om vilka block som önskas användas. För att problemet ska knna lösas på rimlig tid krävs även att kraftiga begränsningar i fråga om antalet fnktioner görs. Det är därför lämpligt att tgå ifrån de vanligaste fnktionerna för beskrivning av kontinerliga modeller, med bakgrnd av att eamensarbetet till största del inriktar sig mot jst dessa (se avnitt.4). I en inledande fas kan det då vara lämpligt att försöka skapa en rtin som hanterar de fnktioner som presenteras nedan. Överföringsfnktion e. Integrator e. s s Pol- nollställe fnktion e. s s( s ) Tillståndsbeskrivningsfnktion Fnktionsblock I detta block kan olinjariteter som t.e. anges. Förstärkning Fördröjning De block som angivits ovan är de block som kan sägas vara de vanligast förekommande delarna i olika modeller. Givetvis finns det många fler fnktioner/block som sklle knna tänkas vara viktiga att ha med. Eempel på sådana sklle knna vara mättnadsfnktion, reläfnktioner m.fl. Även vissa diskreta fnktioner/block sklle knna tänkas behövas i de fall där systemet är av både kontinerlig och diskret karaktär. Dessa block tlämnas dock till framtida vidaretvecklingar.

57 Förtom de ovan angivna blocken/fnktionerna krävs även att rtinen hanterar de block som används för in- och tsignaler till systemet. Vidare skall även smmatorer och prodkter hanteras. In port Ut port Smmator 5 Prodkt Med hjälp av dessa olika typer av block/fnktioner kan som tidigare nämnts ett stort antal system beskrivas. Några eempel på sådana system är bl.a. de som beskrivs i kapitel 3.

58 5 5. Tillvägagångssätt för inläsning av modell En rtin för inläsning (konvertering) av en simlinkmodell måste vara generell då den förväntas hantera alla olika typer av system som kan konstreras med hjälp av blocken som beskrivs i avsnitt 5.. Att skapa en sådan rtin är heller inte helt problemfritt med tanke på alla olika kombinationer och tänkbara vägar det finns att bygga ett system på. Ett första steg vid inläsningen bör därför vara att lokalisera de vitala delarna i simlinkmodellen. En vital del kan tänkas vara delar som generellt finns i alla tillståndsmodeller. Ett bra eempel på sådana är tillstånd och insignaler. Eftersom varje tillståndsmodell bygger på jst dessa så är det av stort intresse att ha kännedom om dom redan i ett tidigt skede av inläsningen. Tillstånden och insignalerna kan sedan användas som kända sltpnkter vid beräkning av smmor och prodkter etc. Ett bra eempel på detta är om man tänker sig kopplingarna till smmatorn i Fig. 5. som två olika slingor. Varje slinga beräknas sedan var för sig med sltpnkt tillstånd eller insignal och därefter tförs själva smmeringen. Beräkningen av smman i Fig. 5. sklle då bli -. Samma resonemang gäller även för prodkter med enda skillnaden att varje slinga sltligen mltipliceras ihop. Fig. 5. Simlinkmodell Utifrån ovanstående resonemang så är steg två i inläsningen att beräkna alla smmor och prodkter i modellen. Som ett tredje steg i själva inläsningen blir att beräkna allting bakom respektive tillstånd. Med detta menas att inläsningen tgår från ett tillstånd och arbetar sig sedan bakåt tills en smmator, prodkt, nytt tillstånd eller en insignal stöts på. I eemplet i Fig. 5. blir denna beräkning smman. Som ett sista steg i själva s inläsningen attackeras alla tsignaler. Genom att lokalisera alla tportar i modellen fås information om vart i systemet tsignalerna finns. För att beräkna dessa är det lämpligt att tgå från en tport och stega tillbaks tills tillstånd, smmator eller prodkt stöts på. I eemplet blir resltatet av ett sådant förfarande y =. En sammanfattning av de fyra hvddelarna för inläsning av modelldata kan ses nedan: Steg : Lokalisera tillstånd och insignaler i modellen (grön) För mer information se [5] Steg : Beräkna smmor och prodkter (röd) För mer information se [5]

59 5 Steg 3: Läs in block som finns mellan smmor och tillstånd m.m (blå) (se avsnitt 5..) Steg 4: Beräkna tsignaler (brn) (se avsnitt 5..) Fig. 5.3 Eempel på de olika stegen De olika stegen som beskrivits ovan är enbart en grovskiss för hr själva inläsningen av simlinkmodellen kan byggas pp. Utöver detta tillkommer sedan ett steg där all inläst data sammanfogas till den typ av beskrivning som modellen skall presenteras på. Steg 5: Sammanfogning av inläst data till en tillståndsmodell (se avsnitt 5..3) Vidare behövs delar där relevant data från respektive block i modellen avkodas till hanterbar information för de beräkningar som varje steg kräver. Dessa delar bakas dock in i de ovan nämnda stegen. För mer information kring hr dessa data inhämtas från simlinkmodellen se Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5]. Observera att endast steg 3-5 behandlas i denna rapport. För ingående information om steg - hänvisas till Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5]. 5.. Beräkning av grenar mellan tillstånd och smmor/prodkter I detta avsnitt beräknas de grenar i modellen som ligger i direkt ansltning till ett tillståndsgenererande block, dvs. block som ger pphov till ett eller flera tillstånd (den blå delen i eempelfigren Fig. 5.3). Eempel på sådana block är integrator, överföringsfnktion och pol- nollställeblock (se avsnitt 5.). Vid beräkning av en gren är den generella arbetsgången att i ett första skede att ta fram källhandtagen (SrcBloc (se [5]), dvs. de handtag som anger vad som är närmast kopplat till det tillståndsgenererande blocket. Därefter påbörjas beräkningen genom att tgå från det första källhandtaget, som är ett handtag till det block som finns närmast efter det tillståndsgenererande blocket i den aktella grenen. Med hjälp av handtaget anropas sedan det nya blocket varpå ett fnktionsvärde och ett nytt handtag erhålls. Det nya handtaget är i sin tr adressen till nästkommande block i den aktella grenen. Denna procedr pprepas sedan ända tills handtaget som erhållits är

60 lika med en i förväg specifierad stoppnkt. I detta fall består en sådan stoppnkt av ett tillstånds-genererande block, insignaler, smmor eller prodkter [5]. Som nämndes ovan så tgår beräkningen av dessa grenar från ett tillstånd eller snarare de variabler som lokaliserades i steg av inläsningen [5]. Dessa variabler representerar alltså inte alla tillstånd tan snarare de block som genererar tillstånd. Anledningen till att variablerna valts till att representera tillståndsgenererande block istället för tillstånden i sig, är att nderlätta beräkningen av smmor/prodkter. I detta steg är det dock nödvändigt att även beakta de interna tillstånden som vissa av blocken ger pphov till. Dessa interna tillstånd ppkommer endast i de block som innehåller överföringsfnktioner där ordningen är högre än ett. I det här arbetet handlar det därmed om de två blocken, överföringsfnktion och polnollställefnktion som beskrivs i avsnitt 5.. För att beskriva hr de olika tillståndsgenererande blocken hanteras vid beräkningen av denna gren, används tre eempel. Dessa eempel påvisar lösningsgången för var och ett av blocken. 53 Eempel, Integrator I de fall då en integrator ger pphov till det tillståndsgenererande blocket är lösningen ganska enkel, eftersom inga interna tillstånd förekommer. Fig. 5.4 Integrator Utifrån den tidigare nämnda arbetsgången blir systemet i Fig A då tgångspnkten är och A är en s.k. stoppnkt. Denna s ekvation omvandlas därefter enkelt till en tillståndsrepresentation enligt: 5 A s 5 A s När denna beräkning tförs i modellinläsningen så används dock inte värdet /s från integratorblocket. Istället hoppas blocket över och ersätts direkt med för att förenkla beräkningen. För ett sådant fall är beräkningen därmed mycket enkel. Eempel, överföringsfnktion När det är fråga om en överföringsfnktion blir beräkningsgången inte riktigt lika enkel som för en integrator. Detta beror i första hand på att fnktionen kan ha högre ordning än ett, vilket medför att fnktionen inhyser

61 flera tillstånd. Men även för att fnktionen har en term (st+) jämfört med en integrator som bara har en s-term. Med tidigare beräkningsmetod tillämpat på systemet i Fig. 5.5 fås 5A s A s 5, vilket ger 5A. 54 Fig. 5.5 överföringsfnktion (första ordningen) Detta system är av första ordningen och har därmed bara ett tillstånd, men visas ändock för att illstrera skillnaden mot en integrator. Att påvisa denna skillnad är av intresse för att illstrera att en förenkling liknande den vid integratorberäkningen inte är möjlig i detta fall. Eftersom termen (s+) ger pphov till att både och återfinns i lösningen kan alltså inte bara ersättas med i detta fall. Lösningen blir därför att beräkna grenen enligt samma princip som i eemplet, dvs. beräkna hela grenen och sedan ersätta s med. Eempel 3, överföringsfnktion av högre ordning När ett system har högre ordning än ett, vilket som tidigare nämnt ger pphov till interna tillstånd, blir beräkningen betydligt mer omfattande. I detta fall används en metod som bygger på att en hjälpvariabel införs i systemet vid beräkningen. För att illstrera ett sådant beräkningsförfarande så tnyttjas änn ett eempel. Eemplet som används ses i Fig. 5.6 och är av andra ordningen. Detta betyder att systemet har två stycken tillstånd, varav ett är internt. Fig. 5.6 överföringsfnktion (högre ordning) För att konvertera detta system till tillståndsform införs en hjälpvariabel (y) i systemet. Fig. 5.7 Införd hjälpvariabel I Fig. 5.7 kan det ses hr den interna hjälpvariabeln infogats i fnktionen. Förfarandet vid infogande av hjälpvariabel är att dela pp fnktionen med

62 avseende på täljare och nämnare. Täljaren placeras till höger om hjälpvariabeln och nämnaren till vänster. Hjälpvariabeln fngerar sedan som en intern stoppvariabel. Med detta menas att beräkningen stoppas när denna stöts på för att sedan använda den samma som tgångspnkt vid beräkning av resterande del av grenen. Med detta förfarande blir beskrivningen av systemet i Fig. 5.7 ppdelat i två delar enligt (5.) och (5.): B ( s ) y B y s y B y y (5.) 55 y 5 A y s y s y 5A y y y A s s 5 (5.) Nästa steg är sedan att införa de två tillstånden som systemet ger pphov till. Här bör nämnas att för att få tillstånden på samma plats som i simlinkbeskrivningen, krävs att det första tillståndet placeras vid den näst högsta derivatan av y, nästa tillstånd vid efterföljande derivata osv. I detta fall blir placeringen av tillstånden enligt (5.3). y (5.3) y Med hjälp av ekvation (5.) och (5.3) skapas tillståndsbeskrivningen för systemet. 5 A (5.4) Tillståndbeskrivningen i (5.4) bygger på ekvationen (5.) och är en beskrivning av systemet från hjälpvariabeln och bakåt. Den sista delen, dvs. tsignalen från systemet fås sedan r ekvation (5.) och (5.3) som B y y (5.5) Att tföra beräkningen av tillståndsbeskrivningen på detta sätt är mycket bra r den synvinkeln att det är relativt lätt att implementera i en rtin. Dessvärre är metoden med hjälpvariabel begränsad till att enbart hantera system där gradtalet i nämnaren är större än täljaren. Om fallet är annat så kommer inläsningen av modellen inte att lyckas. Som användare kan man om möjligt redan vid ppbyggnaden av simlinkmodellen försöka tänka på att lägga ihop olika block. För att på så sätt få en fnktion som är hanterbar. Ett eempel på en sådan sammansättning kan ses i Fig De två olika systemen i eemplet är alltså matematisk identiska. Men den vänstra beskrivningen fngerar inte, eftersom täljare och nämnare i ena blocket är av samma gradtal. Med beskrivningen i den högra delen av figren fngerar metoden och systemet kan konverteras till en tillståndsmodell. Hopslagningen som illstreras i Fig. 5.8 är inte atomatiserad tan ligger på användarens ansvar.

63 56 Fig. 5.8 Olika beskrivningssätt Eftersom beräkningsgången är den samma för de två blocken överföringsfnktion och pol- nollställefnktion så eemplifieras inte den sistnämnda. Vad gäller gradtalet i nämnare resp. täljare så måste även detta beaktas för pol- nollställerfnktionen. 5.. Beräkning av tsignaler från systemet Som en sista del i själva inläsningen av modellen beräknas de aktella tsignalerna. Denna del är ganska okomplicerad och tgår ifrån att identifiera vilka tportar som finns i systemet. Dessa tportar namnges sedan till y,y, där nmreringen av dessa variabler bygger på data som hämtas från respektive tport. Beräkningsgången för tsignalerna följer sedan direkt av tidigare metod med tillstånd, smmor och prodkter som stoppnkt. Fig. 5.9 Eempel på tsignaler I Fig. 5.9 ses ett eempel på den tidigare nämnda nmreringen av tsignaler. Som synes heter tportarna resp.. Dessa nmmer används för att nmrera respektive variabel, dvs. y respektive y. Beräkning för detta system med ovan nämnda lösningsmetod ger då y = 5A och y =.

64 Sammanfogning av inläst data till en tillståndsmodell I denna fas i konverteringen av simlinkmodellen har all data redan lästs in. Det som återstår är att knyta samman beräkningarna som genomförts i de fyra föregående stegen av modellkonverteringen. Observera att två av dessa steg beskrivs i arbetet Simlering av simlinkmodeller med Etended Kalman Filter Tidsoptimering av integrering [5]. Eftersom varje tidigare steg har haft s.k. stoppvariabler där inläsningen har avbrtits så återstår endast att väva samman dessa olika delar. Detta tförs genom att sbstitera in de olika delarna i tillståndsekvationerna som skapades i steg 3. För att illstrera detta används här ett eempel på ett komplett system. Fig. 5. Eempelsystem Med tgångspnkt av systemet i Fig. 5. så ger de föregående stegen av konverteringen följande information om systemet. I första steget införs variabler för insignalen () samt för det tillståndsgenererande blocket (X), där X är en slaskvariabel som ersätts mot små när det blir fråga om att de riktiga tillstånden skall införas. Som ett andra steg beräknas smman till A X. Tredje steget ger sedan själva grnden i tillståndsmodellen. A X Som sista steg i inläsningen ges tsignalen till y sqrt( X). Utifrån dessa inlästa data tförs sedan sammanfogningen av tillståndsmodellen. Gången för att genomföra detta är i ett första skede att sbstitera in smma/prodktberäkningen i tillståndsmodellen. I nästkommande steg byts sedan de variabler som betecknar ett tillståndsgenererande block t mot de verkliga tillstånden.

65 Det sltliga resltatet från sammanfogningen av systemet i Fig. 5. får då följande tseende. ( ) 3 3 y sqrt( ) Ovanstående beskrivning av systemet kan sedan direkt användas i den starkt tidsoptimerade rtinen för simlering Rtinens begränsningar Som framhävs i avsnitt 5. gjordes en rad begränsningar redan i den inledande fasen av modellkonverteringen. Dessvärre så har några ytterliggare begränsningar ppstått nder tvecklingen av rtinen. Samtliga kända begränsningar bortsett från de som framhävts i avsnitt 5. återfinns i pnktlistan nedan. Blocket för tidsfördröjning (transport delay) som finns nder önskade block i avsnitt 5. hanteras för närvarande inte av rtinen. Detta beror på att ingen bra lösning över hr denna ska beskrivas i en tillståndsmodell fnnits. En tanke var att markera i tillståndsmodellen vart denna fnktion ligger och sedan låta simleringen fördröja de aktella signalerna. Detta visade sig dock vara ganska komplicerat och tidsödande att genomföra rent kodmässigt. Av den anledningen telämnas därför detta till eventella framtida vidaretvecklingar. Blocket som hanterar tillståndsmodeller (state-space) är begränsat till att enbart hantera en insignal resp. en tsignal. Anledningen till detta är att rtinen som den ser t idag inte hanterar vektoriella förbindelser mellan blocken. Blocken överföringsfnktion (TransferFcn) och pol- nollställefnktion (ZeroPole) hanteras enbart då täljaren är av lägre gradtal än nämnaren. Detta beror på att metoden som används för att omforma dessa till tillståndsform bygger på en princip som kräver detta. Se eempel 3 i avsnitt 5... Givetvis så finns det många brister i rtinen som inte har pptäckts i skrivandets stnd eller nder den testning som tförts nder arbetets gång. Rtinen fngerar dock problemfritt för samtliga av de system som används i detta arbete.

66 59 6 Parametersökning med simleringsrtin I många sammanhang kan det vara av intresse att använda simleringsrtinen för andra syften än enbart simlering. Ett eempel på en sådan tillämpning kan vara en så kallad parametersökning. Syftet med en parametersökning kan vara att t.e. kalibrera en modells parametrar mot en mätserie. Då en modell skall skapas tifrån en verklig process kan det i många fall vara svårt att skapa en fllständig modell tifrån t.e. fysikaliska samband. Oftast kan dock själva strktren bestämmas medan enstaka parametrar endast kan ppskattas tifrån den knskap som finns om systemet. I dessa fall kan det därför vara av intresse att genomföra en kalibrering av de aktella parametrarna. Tillämpningen av simleringsrtinen i en parametersökning har valts dels för att visa ett av användningsområdena och dels för att påvisa problematiken kring långa simleringstider. Eftersom användningen av simleringsrtinen och parametersöknings - rtinen telämnar många valmöjligheter till användaren, är det även läge att skapa ett grafiskt användargränssnitt. Ett sådant gränssnitt möjliggör då en bättre översikt för användaren i fråga om de val som kan göras (se avsnitt 6.). 6. Fnktion och ppbyggnad Vid parametersökning används simleringsrtinen som ett verktyg för att genomföra en parameteroptimering. En sådan sökning kan vara av intresse då enbart ett systems strktr är känt medan vissa parametrar, så som förstärkningar m.m, är ppskattningar. Denna tillämpning är intressant att stdera av den anledningen att den oftast kräver en lång rad simleringar mot modellen för att återskapa relevanta värden på de eftersökta parametrarna. Grndidén för en parametersökning är att tgå ifrån ett antaget värde på de/den okända parametern. Utifrån detta antagande simleras sedan modellen varpå residalen bildas enligt (6.). Residalen ger då optimeringsrtinen ett mått på hr bra parametervärdena är. Optimeringsrtinen försöker därefter optimera parametrarna genom att iterativt ändra deras värde. Efter en sådan parameterändring tförs änn en simlering för att retrnera ett nytt värde på residalen. Optimeringsrtinen fortsätter enligt detta mönster tills residalen är så pass liten att den hamnar innanför en angiven accepterad tolerans.

67 6 ( process modell y( yˆ ( - + e( optimeringsrtin Fig. 6. Principen för parametersökning I Fig. 6. kan principen för parametersökningen ses. Som synes så bildas skillnaden mellan den verkliga och den simlerade tsignalen, dvs. residalen. Därefter analyseras denna med hjälp av optimeringsrtinen varpå eventella jsteringar av parametrarna tförs. Som tidigare sagts arbetar optimeringrtinen tifrån ett aktellt värde på residalen. Internt bildas sedan den s.k. förslstfnktionen genom att smmera kvadraten av residalen i varje samplingspnkt enligt (6.). Denna förlstfnktion används därefter som måttstock för att avgöra hr bra den simlerade modellen stämmer överens med den verkliga processen. Grndprincipen är att efter varje simlering iterativt ändra värdena hos parametrarna för att försöka ppnå en bättre förlstfnktion vid nästkommande simlering. Denna procedr pprepas sedan gång på gång tills ett minima hos fölstfnktionen ppnåtts. Residalen beräknas enligt: e( yˆ( y( (6.) där y ˆ( är den simlerade tsignalen och y( är den verkliga Förlstfnktionen beräknas enligt: V N k e( (6.) där e( är residalen och N är antalet samplingspnkter i mätserien.

68 6 V ^a a Fig. 6. Eempel på förlstfnktion I Fig. 6. kan ett eempel på arbetsprincipen för optimeringsmetoden ses. Som nämndes tidigare itereras parametervärdena tills ett minimm hos förlstfnktionen påträffats. Då detta inträffar avbryts itereringen och ett i detta avseende optimalt värde erhålls på parametrarna. Fig. 6. illstrerar jst detta, dvs. då värdet på parametern nått â har ett minimm av förlstfnktionen påträffats och iterationen avbryts. För att rent praktiskt konstrera denna rtin tnyttjas en fnktion vid namnet lsqnonlin, vilken finns att tillgå i Optimization Toolbo [4]. Denna fnktion bygger på nmerisk beräkning av ickelinjära minsta kvadrat problem och passar därför bra i detta sammanhang. Vidare så används även de optimerade rtinerna för simlering med kalman-korrigering i denna rtin. Insignal () Verklig tsignal (y) Störningarnas kovarianser Filtrerande simlering Optimering med lsqnonlin Fortgår tills parametervärdena ger ett minima hos förlstfnktionen Optimerade parametervärden Fig. 6.3 Parametersökningsrtin

69 Fig. 6.3 visar i stora drag hr rtinen för parametersökning är ppbyggd. Som synes tförs simleringen på samma sätt som tidigare och fngerar mest som ett redskap för optimeringsrtinen. Man kan säga att optimeringsrtinen har applicerats som ett skal tanpå den redan eisterande simleringsrtinen. Mer information angående tester och resltat ifrån denna rtin presenteras i avsnitt

70 63 6. Grafiskt användargränssnitt (GUI) I början av detta kapitel omnämndes de många inställningsmöjligheter som finns att tillgå i de skapade rtinerna. Detta gör att det kan bli svårt för användaren att manövrera och få överblick över valmöjligheterna. För att göra användandet mer lättöverskådligt och hanterbart har därför ett grafiskt användargränssnitt tvecklats med hjälp av Matlab GUI (Graphical User Interface). Utseendet på det skapade gränssnittet samt några av dess fnktioner presenteras nedan. Fig. 6.4 Grafiskt användargränssnitt I Fig. 6.4 visas det grafiska gränssnittet. Som synes kan en stor mängd val göras i de skapade rtinerna för simlering, parametersökning och modellinläsning. För att översiktligt beskriva några av de olika valen, har grpperingar gjorts enligt figren. För respektive nmrering finns en kort beskrivning nedan.. Inläsning av modell inkl. kontroll av modellens riktighet Riktigheten kontrolleras genom att jämföra egenvärdena från den inlästa modellen och simlinkmodellen.. Val av simleringsmetod (sim, sim med linmod, RK-RK5,RK45, RKato) För vissa av dessa val måste även relativ tolerans och/eller steglängden anges. När detta är aktellt träder valet fram som ett vitt fält. Om sim väljs måste även aktell lösare väljas. 3. Val av operation (simlering, parametersökning, kalmanfiltrering) Här kan valet av simlering eller parametersökning göras, i båda fallen med eller tan kalmanfiltrering. 4. Val av parametrar att tföra sökning på inkl. val av initieringsvärde Här listas samtliga okända parametrar som finns i modellen. Utifrån dessa kan sedan de parametrar som skall sökas på väljas. För parametersökningen kan initieringsvärde samt övre och ndre gräns som de får anta väljas.

Simulering av simulinkmodeller med Extended Kalman Filter Tidsoptimering av integrering

Simulering av simulinkmodeller med Extended Kalman Filter Tidsoptimering av integrering Simulering av simulinkmodeller med Extended Kalman Filter Tidsoptimering av integrering M I K A E L N O R B E R G Master's Degree Project Stockholm, Sweden 2005 IR-RT-EX-0506 Simulering av simulinkmodeller

Läs mer

Datorsimuleringsuppgift i Mekanik I del 2, Ht Stela Kroppens Dynamik (TMME18) Rulle på Cylinder. Deadline för inlämning: , kl 15.

Datorsimuleringsuppgift i Mekanik I del 2, Ht Stela Kroppens Dynamik (TMME18) Rulle på Cylinder. Deadline för inlämning: , kl 15. (6) Bakgrnd Datorsimleringsppgift i Mekanik I del, Ht 0 Stela Kroppens Dynamik (TMME8) Rlle på Cylinder Deadline för inlämning: 0--09, kl 5.00 I ppgiften skall d ställa pp rörelseekvationerna för ett mekaniskt

Läs mer

VEKTORRUMMET R n. 1. Introduktion

VEKTORRUMMET R n. 1. Introduktion VEKTORRUMMET R n RYSZARD RUBINSZTEIN 28--8. Introdktion Låt n vara ett heltal. Med R n kommer vi att beteckna mängden vars element är alla n-tipplar av reella tal (a, a 2,..., a n ), R n = { (a, a 2,...,

Läs mer

Ordinära differentialekvationer,

Ordinära differentialekvationer, (ODE) Ordinära differentialekvationer, del 1 Beräkningsvetenskap II It is a truism that nothing is permanent except change. - George F. Simmons ODE:er är modeller som beskriver förändring, ofta i tiden

Läs mer

Föreläsning 7. Reglerteknik AK. c Bo Wahlberg. 26 september Avdelningen för Reglerteknik Skolan för elektro- och systemteknik

Föreläsning 7. Reglerteknik AK. c Bo Wahlberg. 26 september Avdelningen för Reglerteknik Skolan för elektro- och systemteknik Föreläsning 7 Reglerteknik AK c Bo Wahlberg Avdelningen för Reglerteknik Skolan för elektro- och systemteknik 26 september 2013 Introduktion Förra gången: Känslighet och robusthet Dagens program: Repetion

Läs mer

TENTAMEN I MODELLBYGGE OCH SIMULERING (TSRT62)

TENTAMEN I MODELLBYGGE OCH SIMULERING (TSRT62) TENTAMEN I MODELLBYGGE OCH SIMULERING (TSRT6) SAL: ISY:s datorsalar TID: Tisdagen den 3 oktober 01, kl. 14.00 18.00 KURS: TSRT6 Modellbygge och simlering PROVKOD: DAT1 INSTITUTION: ISY ANTAL UPPGIFTER:

Läs mer

Lösningsförslag till tentamen i Reglerteknik fk M (TSRT06)

Lösningsförslag till tentamen i Reglerteknik fk M (TSRT06) Lösningsförslag till tentamen i Reglerteknik fk M (TSRT6) 216-1-15 1. (a) Känslighetsfunktionen S(iω) beskriver hur systemstörningar och modellfel påverkar utsignalen från det återkopplade systemet. Oftast

Läs mer

Modellering av en Tankprocess

Modellering av en Tankprocess UPPSALA UNIVERSITET SYSTEMTEKNIK EKL och PSA 2002, AR 2004, BC2009 Modellering av dynamiska system Modellering av en Tankprocess Sammanfattning En tankprocess modelleras utifrån kända fysikaliska relationer.

Läs mer

Flervariabel reglering av tanksystem

Flervariabel reglering av tanksystem Flervariabel reglering av tanksystem Datorövningar i Reglerteori, TSRT09 Denna version: oktober 2008 1 Inledning Målet med detta dokument är att ge möjligheter att studera olika aspekter på flervariabla

Läs mer

F08: Tillståndsåterkoppling, Styrbarhet, Integraldel i regulator

F08: Tillståndsåterkoppling, Styrbarhet, Integraldel i regulator F8 Innehåll Denna föreläsning F8: Tillståndsåterkoppling, Styrarhet, Integraldel i reglator 6 Ferari, 9 Lnds Universitet, Inst för Reglerteknik Tillståndsåterkoppling 3 Exempel 5 Integraldel i reglatorn

Läs mer

TENTAMEN I REGLERTEKNIK TSRT03, TSRT19

TENTAMEN I REGLERTEKNIK TSRT03, TSRT19 TENTAMEN I REGLERTEKNIK TSRT3, TSRT9 TID: 23 april 29, klockan 4-9 KURS: TSRT3, TSRT9 PROVKOD: TEN INSTITUTION: ISY ANTAL UPPGIFTER: 5 ANSVARIG LÄRARE: Johan Löfberg, 7-339 BESÖKER SALEN: 5.3, 7.3 KURSADMINISTRATÖR:

Läs mer

Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation

Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation Projekt 1 (P1) Problembeskrivning och uppdragsspecifikation Etapp 1 Problem med mätsignalen m.a.p. sampling, vikning och spektraltäthet Problembeskrivning Uppdragsgivaren överväger att skaffa nya A/D-omvandlare

Läs mer

3. Matematisk modellering

3. Matematisk modellering 3. Matematisk modellering 3. Modelleringsprinciper 3.. Modelltyper För att knna göra design och analys av reglersystem behöver man en matematisk modell, som beskriver systemets dynamiska beteende. Vi kan

Läs mer

6. Reglering av stokastiska system

6. Reglering av stokastiska system 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.

Läs mer

Styr- och Reglerteknik för U3/EI2

Styr- och Reglerteknik för U3/EI2 Högskolan i Halmstad Sektionen för Informationsvetenskap, Dator- och Elektroteknik 071111/ Thomas Munther LABORATION 3 i Styr- och Reglerteknik för U3/EI2 Målsättning: Bekanta sig med olika processer.

Läs mer

Verksamhetsstrategi

Verksamhetsstrategi Verksamhetsstrategi 2018 2022 Innehåll Verksamhetsstrategier 3 Omvärldsanalys 5 Strategin 6 Målsättning för 2022 7 Utgångsläge 2017 8 Ekonomi 9 Hållbarhetsområden 12 Hr vi arbetar 14 2 Verksamhetsstrategier

Läs mer

8.3 Variabeltransformationer Frånkoppling. Betrakta ett 2x2-system, som beskrivs med modellen (8.3.1)

8.3 Variabeltransformationer Frånkoppling. Betrakta ett 2x2-system, som beskrivs med modellen (8.3.1) 8.3 Variabeltransformationer Betrakta ett 2x2-system, som beskrivs med modellen y () s G () s G () s u () s 1 11 12 1 y2() s = G21() s G22() s u2() s (8.3.1) Figuren till höger visar ett blockschema över

Läs mer

Reglerteori. Föreläsning 3. Torkel Glad

Reglerteori. Föreläsning 3. Torkel Glad Reglerteori. Föreläsning 3 Torkel Glad Föreläsning 1 Torkel Glad Januari 2018 2 Sammanfattning av föreläsning 2 Det mesta av teorin för envariabla linjära system generaliseras lätt till ervariabla (era

Läs mer

Tentamen i Reglerteknik, för D2/E2/T2

Tentamen i Reglerteknik, för D2/E2/T2 Högskolan i Halmstad Sektionen för Informationsvetenskap, Data- och Elektroteknik (IDE) Tentamen i Reglerteknik, för D2/E2/T2 Tid: Lördagen den 15 Augusti kl.9.-13. 29 Sal: Tillåtna hjälpmedel: Valfri

Läs mer

4. Optimal styrning. 4. Optimal styrning. 4. Optimal styrning. 4. Optimal styrning. 4. Optimal styrning. 4.1 Dynamisk programmering.

4. Optimal styrning. 4. Optimal styrning. 4. Optimal styrning. 4. Optimal styrning. 4. Optimal styrning. 4.1 Dynamisk programmering. . Optimal styrning. Optimal styrning. Optimal styrning Vad är optimal styrning? I allmänna termer kan reglertekniska problem formleras på följande sätt: Välj styrsignaler så att systemet beter sig så bra

Läs mer

A. Stationära felet blir 0. B. Stationära felet blir 10 %. C. Man kan inte avgöra vad stationära felet blir enbart med hjälp av polerna.

A. Stationära felet blir 0. B. Stationära felet blir 10 %. C. Man kan inte avgöra vad stationära felet blir enbart med hjälp av polerna. Man använder en observatör för att skatta tillståndsvariablerna i ett system, och återkopplar sedan från det skattade tillståndet. Hur påverkas slutna systemets överföringsfunktion om man gör observatören

Läs mer

TSRT09 Reglerteori. Sammanfattning av Föreläsning 1. Sammanfattning av Föreläsning 1, forts. Sammanfattning av Föreläsning 1, forts.

TSRT09 Reglerteori. Sammanfattning av Föreläsning 1. Sammanfattning av Föreläsning 1, forts. Sammanfattning av Föreläsning 1, forts. Reglerteori 217, Föreläsning 2 Daniel Axehill 1 / 32 Sammanfattning av Föreläsning 1 TSRT9 Reglerteori Föreläsning 2: Beskrivning av linjära system Daniel Axehill Reglerteknik, ISY, Linköpings Universitet

Läs mer

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen

En generell prediktiv kodare utnyttjar signalens utseende N steg tillbaka i tiden för kodningen, dvs vi kodar efter den betingade fördelningen Prediktiv kodning Närliggande sampel i en signal är oftast starkt korrelerade med varandra, det kan därför vara en bra ide att försöka utnyttja denna korrelation (minnet) innan kvantiseringen för att få

Läs mer

TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING

TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING TID: 13 mars 2018, klockan 8-12 KURS: TSRT21 PROVKOD: TEN1 INSTITUTION: ISY ANTAL UPPGIFTER: 6 ANSVARIG LÄRARE: Johan Löfberg, 070-3113019 BESÖKER SALEN: 09.30,

Läs mer

Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE. Introduktion till verktyget SIMULINK. Grunderna...2

Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE. Introduktion till verktyget SIMULINK. Grunderna...2 Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE Version: 09-0-23 StyrRegM,E Introduktion till verktyget SIMULINK Grunderna.....2 Tidskontinuerliga Reglersystem.... 7 Övningsuppgift...9

Läs mer

Gruvkraft- Kan en gammal gruva bli ett effektivt energilager?

Gruvkraft- Kan en gammal gruva bli ett effektivt energilager? Grvkraft- Kan en gammal grva bli ett effektivt energilager? Presentation Västerbergslagens Ingenjörsklbb -02-25 20 febrari Power Transmission Conslting, PTC AB 1 Agenda 1. Bakgrnd 2. Marknad och prodkter

Läs mer

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08

Laboration 5: Regressionsanalys. 1 Förberedelseuppgifter. 2 Enkel linjär regression DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 LUNDS TEKNISKA HÖGSKOLA MATEMATIKCENTRUM MATEMATISK STATISTIK Laboration 5: Regressionsanalys DATORLABORATION 5 MATEMATISK STATISTIK FÖR I, FMS 012, HT-08 Syftet med den här laborationen är att du skall

Läs mer

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2 UPPSALA UNIVERSITET AVDELNINGEN FÖR SYSTEMTEKNIK EKL och PSA, 2002, rev BC 2009, 2013 MODELLERING AV DYNAMISKA SYSTEM DATORSTÖDD RÄKNEÖVNING OCH INLUPP 2 1. Överföringsfunktioner 2. Tillståndsmetodik Förberedelseuppgifter:

Läs mer

Föreläsning 8, Introduktion till tidsdiskret reglering, Z-transfomer, Överföringsfunktioner

Föreläsning 8, Introduktion till tidsdiskret reglering, Z-transfomer, Överföringsfunktioner Föreläsning 8, Introduktion till tidsdiskret reglering, Z-transfomer, Överföringsfunktioner Reglerteknik, IE1304 1 / 24 Innehåll 1 2 3 4 2 / 24 Innehåll 1 2 3 4 3 / 24 Vad är tidsdiskret reglering? Regulatorn

Läs mer

Reglerteknik. Kurskod: IE1304. Datum: 12/ Tid: Examinator: Leif Lindbäck ( )

Reglerteknik. Kurskod: IE1304. Datum: 12/ Tid: Examinator: Leif Lindbäck ( ) Tentamen i Reglerteknik (IE1304) 12/3-2012 ES, Elektroniksystem Reglerteknik Kurskod: IE1304 Datum: 12/3-2012 Tid: 09.00-13.00 Examinator: Leif Lindbäck (7904425) Hjälpmedel: Formelsamling, dimensioneringsbilaga,

Läs mer

TENTAMEN I REGLERTEKNIK Y/D

TENTAMEN I REGLERTEKNIK Y/D TENTAMEN I REGLERTEKNIK Y/D SAL: TER3 TID: 8 augusti 8, klockan 8-3 KURS: TSRT, Reglerteknik Y/D PROVKOD: TEN INSTITUTION: ISY ANTAL UPPGIFTER: 6 ANTAL SIDOR PÅ TENTAMEN (INKLUSIVE FÖRSÄTTSBLAD): 6 ANSVARIG

Läs mer

osäkerhetsberäkningar

osäkerhetsberäkningar Kvalitetssäkring och osäkerhetseräkningar vid kontroll av miljökvalitetsnormer för tomhslft ITM Referenslaoratoriet för tätortslft Krsens syfte Ni skall efter krsen förstå osäkerhetsegreppet som det finns

Läs mer

EL1000/1120/1110 Reglerteknik AK

EL1000/1120/1110 Reglerteknik AK KTH ROYAL INSTITUTE OF TECHNOLOGY EL1000/1120/1110 Reglerteknik AK Föreläsning 12: Sammanfattning Kursinfo: Resterande räknestugor 141208, 10-12 Q24 141210, 10-12 L21 141215, 10-12 Q34 141215, 13-15 Q11

Läs mer

Granskning av hemtjänsten

Granskning av hemtjänsten Revisionsrapport nr 1/2014 Granskning av hemtjänsten På ppdrag av revisorerna i Nacka kommn Innehåll 1 Sammanfattning... 2 2 Inledning... 4 2.1 Bakgrnd... 4 2.2 Syfte... 4 2.3 Ansvarig nämnd... 4 2.4 Revisionskriterier...

Läs mer

AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET. M. Enqvist TTIT62: Föreläsning 2. Här är

AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET. M. Enqvist TTIT62: Föreläsning 2. Här är Martin Enqvist Återkoppling, PID-reglering, specifikationer Reglerteknik Institutionen för systemteknik Linköpings universitet Repetition: Reglerproblemet 3(21) Exempel: Farthållare i en bil 4(21) Välj

Läs mer

TSRT09 Reglerteori. Sammanfattning av föreläsning 5: RGA, IMC. Föreläsning 6. Sammanfattning av föreläsning 5: LQG. Föreläsning 6: LQ-reglering

TSRT09 Reglerteori. Sammanfattning av föreläsning 5: RGA, IMC. Föreläsning 6. Sammanfattning av föreläsning 5: LQG. Föreläsning 6: LQ-reglering Reglerteori 7, Föreläsning 6 Daniel Axehill / 4 Sammanfattning av föreläsning 5: RGA, IMC TSRT9 Reglerteori Föreläsning 6: LQ-reglering Daniel Axehill Reglerteknik, ISY, Linköpings Universitet RGA mäter

Läs mer

Föreläsning 14-16, Tillståndsmodeller för kontinuerliga system

Föreläsning 14-16, Tillståndsmodeller för kontinuerliga system Föreläsning 14-16, Tillståndsmodeller för kontinuerliga system Reglerteknik, IE1304 1 / 50 Innehåll Kapitel 141 Introduktion till tillståndsmodeller 1 Kapitel 141 Introduktion till tillståndsmodeller 2

Läs mer

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare

Linjär prediktion. Prediktiv kodning. Linjär prediktion. Prediktiv kodare och avkodare Prediktiv kodning Linjär prediktion Närliggande sampel i en signal är oftast starkt korrelerade med varandra, det kan därför vara en bra ide att försöka utnyttja denna korrelation (minnet) innan kvantiseringen

Läs mer

Ellära och Elektronik Moment AC-nät Föreläsning 4

Ellära och Elektronik Moment AC-nät Föreläsning 4 Ellära och Elektronik Moment AC-nät Föreläsning 4 Kapacitans och Indktans Uppladdning av en kondensator Medelvärde och Effektivvärde Sinsvåg över kondensator och spole Copyright 8 Börje Norlin Kondensatorer

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Instittionen för data- och informationsteknik Chalmers tekniska högskola Från data till digitala byggblock: Krsens inledande föreläsningarna

Läs mer

Lösningsförslag till tentamen i Reglerteknik (TSRT19)

Lösningsförslag till tentamen i Reglerteknik (TSRT19) Lösningsförslag till tentamen i Reglerteknik (TSRT9) 26-3-6. (a) Systemet är stabilt och linjärt. Därmed kan principen sinus in, sinus ut tillämpas. Givet insignalen u(t) sin (t) sin ( t) har vi G(i )

Läs mer

Välkomna till TSRT19 Reglerteknik Föreläsning 3. Sammanfattning av föreläsning 2 PID-reglering Blockschemaräkning Reglerdesign för svävande kula

Välkomna till TSRT19 Reglerteknik Föreläsning 3. Sammanfattning av föreläsning 2 PID-reglering Blockschemaräkning Reglerdesign för svävande kula Välkomna till TSRT19 Reglerteknik Föreläsning 3 Sammanfattning av föreläsning 2 PID-reglering Blockschemaräkning Reglerdesign för svävande kula Sammanfattning av förra föreläsningen 2 Vi modellerar system

Läs mer

Välkomna till TSRT15 Reglerteknik Föreläsning 2

Välkomna till TSRT15 Reglerteknik Föreläsning 2 Välkomna till TSRT15 Reglerteknik Föreläsning 2 Sammanfattning av föreläsning 1 Lösningar till differentialekvationer Karakteristiska ekvationen Laplacetransformer Överföringsfunktioner Poler Stegsvarsspecifikationer

Läs mer

Tentamen i Reglerteknik, för D2/E2/T2

Tentamen i Reglerteknik, för D2/E2/T2 Högskolan i Halmstad Sektionen för Informationsvetenskap, Data- och Elektroteknik (IDE) Tentamen i Reglerteknik, för D2/E2/T2 Tid: Torsdagen den 3 Juni kl.9.-13. 21 Sal: R1122 Tillåtna hjälpmedel: Valfri

Läs mer

Reglerteknik AK, FRT010

Reglerteknik AK, FRT010 Institutionen för REGLERTEKNIK Reglerteknik AK, FRT Tentamen januari 27 kl 8 3 Poängberäkning och betygssättning Lösningar och svar till alla uppgifter skall vara klart motiverade. Tentamen omfattar totalt

Läs mer

Revisionsrapport 4 / 2013 Genomförd på uppdrag av revisorerna Januari Åstorps kommun. Granskning av förrådsrutiner

Revisionsrapport 4 / 2013 Genomförd på uppdrag av revisorerna Januari Åstorps kommun. Granskning av förrådsrutiner Revisionsrapport 4 / 2013 Genomförd på ppdrag av revisorerna Janari 2014 Åstorps kommn Granskning av förrådsrtiner Innehåll 1. Sammanfattning...2 2. Inledning...3 2.1. Bakgrnd...3 2.2. Syfte och avgränsning...3

Läs mer

Fördelningsfria / icke - parametriska / generella test

Fördelningsfria / icke - parametriska / generella test Statistikteori fr F vt 4 4 - - 9 Frdelningsfria / icke - parametriska / generella test I de hypotesprvningssitationer som behandlats hittills har årminstone endera av nedanstående frtsättningar ingått

Läs mer

Lösningsförslag TSRT09 Reglerteori

Lösningsförslag TSRT09 Reglerteori Lösningsförslag TSRT9 Reglerteori 8-8-8. (a) RGA(G()) = med y. ( ), dvs, vi bör para ihop u med y och u s+ (b) Underdeterminanter till systemet är (s+)(s+3), s+, s+3, s+, s (s+)(s+)(s+3). MGN är p(s) =

Läs mer

Modellbygge och simulering av L. Ljung och T. Glad - Kap 1-2

Modellbygge och simulering av L. Ljung och T. Glad - Kap 1-2 Modellbygge och simulering av L. Ljung och T. Glad - Kap 1-2 Experiment vs modellbygge Många frågor om ett system kan besvaras genom att utföra experiment. Vettigt! Men ibland finns nackdelar: Kostnader.

Läs mer

MVE051/MSG Föreläsning 7

MVE051/MSG Föreläsning 7 MVE051/MSG810 2016 Föreläsning 7 Petter Mostad Chalmers November 23, 2016 Överblick Deskriptiv statistik Grafiska sammanfattningar. Numeriska sammanfattningar. Estimering (skattning) Teori Några exempel

Läs mer

6. Reglering av stokastiska system

6. Reglering av 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

Läs mer

Flervariabel reglering av tanksystem

Flervariabel reglering av tanksystem Flervariabel reglering av tanksystem Datorövningar i Reglerteknik fortsättningskurs M, TSRT06 Denna version: 12 februari 2015 REGLERTEKNIK KOMMUNIKATIONSSYSTEM LINKÖPINGS TEKNISKA HÖGSKOLA 1 Inledning

Läs mer

TSRT91 Reglerteknik: Föreläsning 12

TSRT91 Reglerteknik: Föreläsning 12 TSRT91 Reglerteknik: Föreläsning 12 Martin Enqvist Reglerteknik Institutionen för systemteknik Linköpings universitet Föreläsningar 1 / 15 1 Inledning, grundläggande begrepp. 2 Matematiska modeller. Stabilitet.

Läs mer

REGLERTEKNIK Laboration 3

REGLERTEKNIK Laboration 3 Lunds Tekniska Högskola Avdelningen för Industriell Elektroteknik och Automation LTH Ingenjörshögskolan vid Campus Helsingborg REGLERTEKNIK Laboration 3 Modellbygge och beräkning av PID-regulator Inledning

Läs mer

Styr- och Reglerteknik för U3/EI2

Styr- och Reglerteknik för U3/EI2 Högskolan i Halmstad Sektionen för Informationsvetenskap, Dator- och Elektroteknik 071118/ Thomas Munther LABORATION 4 i Styr- och Reglerteknik för U3/EI2 Målsättning: Använda tumregler för att ställa

Läs mer

Reglerteori. Föreläsning 11. Torkel Glad

Reglerteori. Föreläsning 11. Torkel Glad Reglerteori. Föreläsning 11 Torkel Glad Föreläsning 11 Torkel Glad Februari 2018 2 Sammanfattning av föreläsning 10. Fasplan Linjärisering av ẋ = f(x) kring jämviktspunkt x o, (f(x o ) = 0) f 1 x 1...

Läs mer

Lösningsförslag TSRT09 Reglerteori

Lösningsförslag TSRT09 Reglerteori Lösningsförslag TSRT9 Reglerteori 6-8-3. (a Korrekt hopparning: (-C: Uppgiften som beskrivs är en typisk användning av sensorfusion, där Kalmanfiltret är användbart. (-D: Vanlig användning av Lyapunovfunktioner.

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings universitet

Försättsblad till skriftlig tentamen vid Linköpings universitet Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen 214-1-24 Sal (1) TER1,TER2,TERE (Om tentan går i flera salar ska du bifoga ett försättsblad till varje sal och ringa in

Läs mer

Läran om återkopplade automatiska system och handlar om hur mätningar från givare kan användas för att automatisk göra förändringar i processen.

Läran om återkopplade automatiska system och handlar om hur mätningar från givare kan användas för att automatisk göra förändringar i processen. Reglering Läran om återkopplade automatiska system och handlar om hur mätningar från givare kan användas för att automatisk göra förändringar i processen. Regulator eller reglerenhet används för att optimera

Läs mer

Välkomna till TSRT15 Reglerteknik Föreläsning 12

Välkomna till TSRT15 Reglerteknik Föreläsning 12 Välkomna till TSRT15 Reglerteknik Föreläsning 12 Sammanfattning av föreläsning 11 Återkoppling av skattade tillstånd Integralverkan Återblick på kursen Sammanfattning föreläsning 11 2 Tillstånden innehåller

Läs mer

Välkomna till Reglerteknik Föreläsning 2

Välkomna till Reglerteknik Föreläsning 2 Välkomna till Reglerteknik Föreläsning 2 Sammanfattning av föreläsning 1 Lösningar till differentialekvationer Karakteristiska ekvationen Laplacetransformer Överföringsfunktioner Poler Stegsvarsspecifikationer

Läs mer

Datorlaboration :: 1 Problembeskrivning ::

Datorlaboration :: 1 Problembeskrivning :: Datorlaboration :: Ett hyrbilsföretags problem Laborationen går ut på att lösa Labbuppgift 1 till 5. Laborationen redovisas individuellt genom att skicka laborationens Mathematicafil till Mikael Forsberg

Läs mer

Reglerteori. Föreläsning 4. Torkel Glad

Reglerteori. Föreläsning 4. Torkel Glad Reglerteori. Föreläsning 4 Torkel Glad Föreläsning 1 Torkel Glad Januari 2018 2 Sammanfattning av Föreläsning 3 Kovariansfunktion: R u (τ) = Eu(t)u(t τ) T Spektrum: Storleksmått: Vitt brus: Φ u (ω) =

Läs mer

Styrsignalsfördelning hos system med redundanta aktuatorer

Styrsignalsfördelning hos system med redundanta aktuatorer Styrsignalsfördelning hos system med redndanta aktatorer Linköpings Tekniska Högskola Tillämpningar Styrsignalsfördelning (eng. control allocation) Hr Hr ska ska den den önskade totala styrerkan fördelas

Läs mer

LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS

LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS Obs! Alla förberedande uppgifter skall vara gjorda innan laborationstillfället! Namn: Program: Laborationen

Läs mer

Carl-Fredrik Lindberg, ABB Corporate Research. Automation Scandinavia, Trådlös kommunikation i industrin - ett PiiA-projekt

Carl-Fredrik Lindberg, ABB Corporate Research. Automation Scandinavia, Trådlös kommunikation i industrin - ett PiiA-projekt Carl-Fredrik Lindberg, ABB Corporate Research. Automation Scandinavia, 2016-04-12 Trådlös kommunikation i industrin - ett PiiA-projekt Trådlös reglering Tidigare och nuvarande PiiA-projekt Control & Communications

Läs mer

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2

MODELLERING AV DYNAMISKA SYSTEM OCH INLUPP 2 UPPSALA UNIVERSITET AVDELNINGEN FÖR SYSTEMTEKNIK EKL och PSA, 2002 BC, 2009 MODELLERING AV DYNAMISKA SYSTEM DATORSTÖDD RÄKNEÖVNING OCH INLUPP 2 1. Överföringsfunktioner 2. Tillståndsmetodik Förberedelseuppgifter:

Läs mer

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet?

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? 1 Om svaret på frågan är ja så öppnar sig möjligheten att skapa en generell verktygslåda som fungerar för analys och manipulering

Läs mer

Stabilitetsanalys och reglering av olinjära system

Stabilitetsanalys och reglering av olinjära system Laboration i Reglerteori, TSRT09 Stabilitetsanalys och reglering av olinjära system Denna version: 18 januari 2017 3 2 1 0 1 2 3 0 10 20 30 40 50 REGLERTEKNIK Namn: Personnr: AUTOMATIC LINKÖPING CONTROL

Läs mer

Föreläsning 11, Dimensionering av tidsdiskreta regulatorer

Föreläsning 11, Dimensionering av tidsdiskreta regulatorer Föreläsning 11, Dimensionering av tidsdiskreta regulatorer KTH 8 februari 2011 1 / 28 Innehåll 1 Kapitel 19.2. Polplaceringsmetoden 2 3 4 5 6 2 / 28 Innehåll 1 Kapitel 19.2. Polplaceringsmetoden 2 3 4

Läs mer

REGLERTEKNIK Inledande laboration (obligatorisk)

REGLERTEKNIK Inledande laboration (obligatorisk) UPPSALA UNIVERSITET AVDELNINGEN FÖR SYSTEMTEKNIK HN, MW 2008-01-23 Rev. HN, 2015-01-15 REGLERTEKNIK Inledande laboration (obligatorisk) Läsanvisningar: 1. Läs igenom instruktionen innan påbörjad laboration

Läs mer

PC-BERÄKNINGAR. REGLERTEKNIK Laboration 5 och inlämningsuppgift. Inlämningsdatum:... Inlämnad av labgrupp:... Gruppdeltagare:

PC-BERÄKNINGAR. REGLERTEKNIK Laboration 5 och inlämningsuppgift. Inlämningsdatum:... Inlämnad av labgrupp:... Gruppdeltagare: och inlämningsuppgift PC-BERÄKNINAR Inlämningsdatum:... Inlämnad av labgrupp:... ruppdeltagare:............ ranskad:... Reglab PC-beräkningar del.doc INLEDNIN Denna laboration kommer att visa fördelarna

Läs mer

Tentamen i Teknisk-Vetenskapliga Beräkningar

Tentamen i Teknisk-Vetenskapliga Beräkningar Umeå Universitet Institutionen för Datavetenskap Gunilla Wikström Tentamen i Teknisk-Vetenskapliga Beräkningar Tentamensdatum: 005-03- Skrivtid: 9-5 Hjälpmedel: inga Om problembeskrivningen i något fall

Läs mer

TENTAMEN I TSRT09 REGLERTEORI

TENTAMEN I TSRT09 REGLERTEORI SAL: Egypten TENTAMEN I TSRT09 REGLERTEORI TID: 2016-06-08 kl. 08:00 12:00 KURS: TSRT09 Reglerteori PROVKOD: DAT1 INSTITUTION: ISY ANTAL UPPGIFTER: 5 JOURHAVANDE LÄRARE: Svante Gunnarsson, tel. 013-281747,

Läs mer

Laplacetransform, poler och nollställen

Laplacetransform, poler och nollställen Innehåll föreläsning 2 2 Reglerteknik, föreläsning 2 Laplacetransform, poler och nollställen Fredrik Lindsten fredrik.lindsten@liu.se Kontor 2A:521, Hus B, Reglerteknik Institutionen för systemteknik (ISY)

Läs mer

Föreläsning 9, Bestämning av tidsdiksreta överföringsfunktioner

Föreläsning 9, Bestämning av tidsdiksreta överföringsfunktioner Föreläsning 9, Bestämning av tidsdiksreta överföringsfunktioner Reglerteknik, IE1304 1 / 20 Innehåll Kapitel 17.1. Inledning 1 Kapitel 17.1. Inledning 2 3 2 / 20 Innehåll Kapitel 17.1. Inledning 1 Kapitel

Läs mer

REGLERTEKNIK Laboration 5

REGLERTEKNIK Laboration 5 6 SAMPLADE SYSTEM 6. Sampling av signaler När man använder en dator som regulator, kan man endast behandla signaler i diskreta tidpunkter. T.ex. mäts systemets utsignal i tidpunkter med visst mellanrum,

Läs mer

Översikt. TSFS06 Diagnos och övervakning Föreläsning 3 - Linjär residualgenerering. Feldetektion och observationsmängder. Arkitektur för diagnossystem

Översikt. TSFS06 Diagnos och övervakning Föreläsning 3 - Linjär residualgenerering. Feldetektion och observationsmängder. Arkitektur för diagnossystem Översikt TSFS06 Diagnos och övervakning Föreläsning 3 - Linjär residalgenerering Erik Frisk Bakgrnd och grndläggande principer för residalgenerering Linjära differential-algebraiska modeller Formell definition

Läs mer

Industriella styrsystem, TSIU06. Föreläsning 1

Industriella styrsystem, TSIU06. Föreläsning 1 Industriella styrsystem, TSIU06 Föreläsning 1 Reglerteknik, ISY, Linköpings Universitet Kursöversikt 2(34) Detta är en laborations- och projektkurs. Praktiken kommer före teorin (kursen Reglerteknik) Tre

Läs mer

TSRT09 Reglerteori. Sammanfattning av föreläsning 8. Inversa cirkelkriteriet. Föreläsning 9. Föreläsning 9: Cirkelkriteriet och beskrivande funktion

TSRT09 Reglerteori. Sammanfattning av föreläsning 8. Inversa cirkelkriteriet. Föreläsning 9. Föreläsning 9: Cirkelkriteriet och beskrivande funktion glerteori 27, Föreläsning 9 Daniel Axehill / 2 Sammanfattning av föreläsning 8 TSRT9 glerteori Föreläsning 9: Cirkelkriteriet och beskrivande fnktion Daniel Axehill glerteknik, ISY, Linköpings Universitet

Läs mer

Parameterskattning i linjära dynamiska modeller. Kap 12

Parameterskattning i linjära dynamiska modeller. Kap 12 Parameterskattning i linjära dynamiska modeller Kap 12 Grundläggande ansats Antag (samplade) mätdata (y och u)från ett system har insamlats. Givet en modell M(t, θ) och mätdata, hitta det θ som ger en

Läs mer

SIMULINK. En kort introduktion till. Polplacerad regulator sid 8 Appendix Symboler/block sid 10. Institutionen för Tillämpad Fysik och elektronik

SIMULINK. En kort introduktion till. Polplacerad regulator sid 8 Appendix Symboler/block sid 10. Institutionen för Tillämpad Fysik och elektronik Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE, BT Version: 5/ -09 DMR En kort introduktion till SIMULINK Polplacerad regulator sid 8 Appendix Symboler/block sid 0 Introduktion till

Läs mer

Signaler och reglersystem Kapitel 1-4. Föreläsning 1, Inledning Reglerteknik

Signaler och reglersystem Kapitel 1-4. Föreläsning 1, Inledning Reglerteknik Signaler och reglersystem Kapitel 1-4 Föreläsning 1, Inledning Reglerteknik 1 Lärare Leif Lindbäck leifl@kth.se Tel 08 790 44 25 Jan Andersson janande@kth.se Tel i Kista 08 790 444 9 Tel i Flemingsberg

Läs mer

Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer

Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer 2 mars 2017 Matematisk analys för ingenjörer Matlabövning 3 Numerisk lösning av differentialekvationer Syftet med denna matlab-övning är att studera differentialekvationer och introducera hur man använder

Läs mer

TSRT91 Reglerteknik: Föreläsning 10

TSRT91 Reglerteknik: Föreläsning 10 TSRT91 Reglerteknik: Föreläsning 10 Martin Enqvist Reglerteknik Institutionen för systemteknik Linköpings universitet Föreläsningar 1 / 15 1 Inledning, grundläggande begrepp. 2 Matematiska modeller. Stabilitet.

Läs mer

TENTAMEN I REGLERTEKNIK Y TSRT12 för Y3 och D3. Lycka till!

TENTAMEN I REGLERTEKNIK Y TSRT12 för Y3 och D3. Lycka till! TENTAMEN I REGLERTEKNIK Y TSRT2 för Y3 och D3 TID: 7 mars 25, klockan 4-9. ANSVARIGA LÄRARE: Mikael Norrlöf, tel 28 27 4, Anna Hagenblad, tel 28 44 74 TILLÅTNA HJÄLPMEDEL: Läroboken Glad-Ljung: Reglerteknik,

Läs mer

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering

Tentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering KTH Matematik Tentamen del 2 SF1511, 2018-03-16, kl 8.00-11.00, Numeriska metoder och grundläggande programmering Del 2, Max 50p + bonuspoäng (max 4p). Rättas ast om del 1 är godkänd. Betygsgränser inkl

Läs mer

Bayesianska numeriska metoder I

Bayesianska numeriska metoder I Baesianska numeriska metoder I T. Olofsson Marginalisering En återkommende teknik inom Baesiansk inferens är det som kallas för marginalisering. I grund och botten rör det sig om tillämpning av ett specialfall

Läs mer

KOMPLEXA TAL. Historisk bakgrund. Tredjegradsekvationer

KOMPLEXA TAL. Historisk bakgrund. Tredjegradsekvationer KOMPLEXA TAL Historisk bakgrnd Många läroböcker ger sken av att komplexa tal infördes för att knna skriva pp lösningar på alla andragradsekvationer, alltså även sådana som x +=0 Varför sklle man känt ett

Läs mer

TSRT19 Reglerteknik: Välkomna!

TSRT19 Reglerteknik: Välkomna! TSRT9 Reglerteknik: Välkomna! Föreläsning 6 Inger Erlander Klein / 25 Förra föreläsningen (föreläsning 5) Rotort plotta rötternas (polernas) läge som fnktion av någon parameter Bakhjlsstyrda cykeln (&

Läs mer

Verksamhetsprofil. ö värdeskapande faktorer för. Älmhults Bibliotek

Verksamhetsprofil. ö värdeskapande faktorer för. Älmhults Bibliotek Verksamhetsprofil ö värdeskapande faktorer för Älmhlts Bibliotek I dina händer har d det viktigaste dokmentet för Älmhlts bibliotek. Här har d möjlighet att få ta del av bibliotekets mission, anda, idé

Läs mer

TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING

TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING TENTAMEN I DYNAMISKA SYSTEM OCH REGLERING SAL: Ter2 TID:4 mars 207, klockan 8-2 KURS: TSRT2 PROVKOD: TEN INSTITUTION: ISY ANTAL UPPGIFTER: 6 ANSVARIG LÄRARE: Inger Erlander Klein, 0730-9699 BESÖKER SALEN:

Läs mer

EXEMPEL 1: ARTVARIATION FÖRELÄSNING 1. EEG frekvensanalys EXEMPEL 2: EEG

EXEMPEL 1: ARTVARIATION FÖRELÄSNING 1. EEG frekvensanalys EXEMPEL 2: EEG FÖRELÄSNING EXEMPEL : ARTVARIATION Kurs- och transform-översikt. Kursintroduktion med typiska signalbehandlingsproblem och kapitelöversikt. Rep av transformer 3. Rep av aliaseffekten Givet: data med antal

Läs mer

TSRT91 Reglerteknik: Föreläsning 2

TSRT91 Reglerteknik: Föreläsning 2 Föreläsningar / TSRT9 Reglerteknik: Föreläsning 2 Martin Enqvist Reglerteknik Institutionen för systemteknik Linköpings universitet Inledning, grundläggande begrepp. 2 Matematiska modeller. Stabilitet.

Läs mer