Litt generelt om systemidentifikasjon.

Like dokumenter
Litt generelt om systemidentifikasjon.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Øving med systemidentifikasjon.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. 1 Stokastiske system og prosesser 2

Eksamen i MIK130, Systemidentifikasjon

Generell informasjon om faget er tilgjengelig fra It s learning. 1 En kort oppsummering Adaptiv filtrering 2. 3 Prediksjon 4

Dato: fredag 14 desember 2007 Lengde på eksamen: 4 timer Tillatte hjelpemidler: ingen. 1 Diskret tilstandsrommodell 2. 2 Stående pendel 4

DET TEKNISK - NATURVITENSKAPELIGE FAKULTET Institutt for data- og elektroteknikk. Løsningsforslag Eksamen i MIK130, Systemidentifikasjon (10 sp)

4.1 Diskretisering av masse-fjær-demper-system. K f m. x m u m y = x 1. x m 1 K d. Dette kan skrives på matriseform som i oppgaven med 0 1 A =

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

Eksamen i MIK130, Systemidentifikasjon

6 Modellering av smelteovn Modellering Tilstandsromform Diskretisering Observerbarthet Tidssteg...

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. med Kalman-filter og RLS.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. systemidentifikasjon fra sprangrespons.

MIK-130 Systemidentifikasjon Løsningsforslag eksamen 28 mai 2004

Eksamen i MIK130, Systemidentifikasjon (10 sp)

Generell informasjon om faget er tilgjengelig fra It s learning.

Simulering i MATLAB og SIMULINK

Eksamen i MIK130, Systemidentifikasjon (10 sp)

Eksamen i MIK130, Systemidentikasjon (10 sp)

Generell informasjon om faget er tilgjengelig fra It s learning. 7.1 Stokastisk prosess Lineær prediktor AR-3 prosess...

Eksamen i MIK130, Systemidentifikasjon (10 sp)

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

Kalmanfilter på svingende pendel

Lineær analyse i SIMULINK

Tilstandsestimering Oppgaver

Løsningsforslag Eksamen i MIK130, Systemidentifikasjon (10 sp)

1 Tidsdiskret PID-regulering

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Adaptiv filtrering 2.

Dato: Tirsdag 28. november 2006 Lengde på eksamen: 4 timer Tillatte hjelpemidler: Kun standard enkel kalkulator, HP 30S

Del 1: Leksjon Det anbefales å kjøre igjennom denne før dere begynner med oppgaven.

Eksamen i MIK130, Systemidentifikasjon

Tidsdiskrete systemer

Eksamen i ELE620, Systemidentikasjon (10 sp)

Eksamen i MIK130, Systemidentifikasjon

UNIVERSITETET I OSLO

Eksamen i ELE620, Systemidentikasjon (10 sp)

UNIVERSITETET I OSLO

Quo vadis prosessregulering?

Øving 1 ITD Industriell IT

Eksamen i ELE620, Systemidentikasjon (10 sp)

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

Systemidentifikasjon Oppgaver

Eksamen i ELE620, Systemidentifikasjon (10 sp)

Stabilitetsanalyse i MATLAB og LabVIEW

Control Engineering. MathScript. Hans-Petter Halvorsen

Løsningsforslag øving 8

Eksamensoppgave i TELE2001 Reguleringsteknikk

UNIVERSITETET I OSLO

Løsningsforslag Eksamen i MIK130, Systemidentikasjon (10 sp)

Control Engineering. State-space Models. Hans-Petter Halvorsen

Forkunnskapskrav. Hva handler kurset om. Kontaktinformasjon. Kurset er beregnet på en student som kan

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD30005 Industriell IT. Dato: Eksamenstid: kl til kl. 1300

Løsningsforslag Dataøving 2

Generell informasjon om faget er tilgjengelig fra It s learning.

EKSAMEN STE 6219 Digital signalbehandling

Systemidentifikasjon

ELE610 Prosjekter i robotteknikk, vår 2017.

HØGSKOLEN - I - STAVANGER. Institutt for elektroteknikk og databehandling

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

ELE610 Prosjekter i robotteknikk, vår 2017.

UNIVERSITETET I OSLO

Oppgave 1.1. Den første er en klassiker. Studer figur A4.1 i vedlegg 1. Finn overføringsfunksjonen ved hjelp av manuelle, grafiske metoder.

Systemidentifikasjon Oppgaver

Eksamen i ELE620, Systemidentikasjon (10 sp)

Inst. for elektrofag og fornybar energi

Tilstandsestimering Oppgaver

HØGSKOLEN I SØR-TRØNDELAG

STE 6219 Digital signalbehandling Løsning til kontinuasjonseksamen

y(t) t

Fasit, Eksamen. INF3440/4440 Signalbehandling 9. desember c 0 + c 1z 1 + c 2z 2. G(z) = 1/d 0 + d 1z 1 + d 2z 2

LØSNINGSFORSLAG TIL EKSAMEN STE 6219 Digital signalbehandling

UNIVERSITETET I OSLO

EDT211T-A Reguleringsteknikk PC øving 5: Løsningsforslag


Sammenlikningav simuleringsverktøyfor reguleringsteknikk

KYBERNETIKKLABORATORIET. FAG: Dynamiske systemer DATO: OPPG.NR.: DS4E. FREKVENS OG SPRANGRESPONSANALYSE Med ELVIS

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. 1 Parameterestimering med LS og RLS 2

MIK 200 Anvendt signalbehandling, Prosjekt 2, Diskret kosinus-transformasjon.

HØGSKOLEN I SØR-TRØNDELAG

Uke 4: z-transformasjonen

MIK 200 Anvendt signalbehandling, 2012.

Uke 4: z-transformasjonen

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

TMA Matlab Oppgavesett 2

Control Engineering. Stability Analysis. Hans-Petter Halvorsen

Eksamen i ELE620, Systemidentikasjon (10 sp)

Eksamen i SEKY3322 Kybernetikk 3

7 Tilstandsestimering for smelteovn.

UNIVERSITETET I OSLO

c;'1 høgskolen i oslo

TTK4180 Stokastiske og adaptive systemer. Datamaskinøving 2 - Parameterestimering

ELE610 Prosjekter i robotteknikk, vår 2016.

UNIVERSITETET I OSLO

STE 6146 Digital signalbehandling. Løsningsforslag til eksamen avholdt

c;'1 høgskolen i oslo

Dette kan selvfølgelig brukes direkte som en numerisk tilnærmelse til den deriverte i et gitt punkt.

UNIVERSITETET I OSLO

pdf

Transkript:

Stavanger, 29. juni 2016 Det teknisknaturvitenskapelige fakultet ELE620 Systemidentifikasjon, 2016. Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. Innhold 1 Systemidentifikasjonsproblemet 2 2 Systemmodeller 3 3 De ulike steg i systemidentifikasjon 6 4 System Identification Toolbox 6 4.1 Noen begreper brukt i SIT..................... 7 4.2 Eksempel.............................. 9 5 Control System Toolbox 9 6 Simulink 10 Litt generelt om systemidentifikasjon. Dette er litt generelt om systemidentifikasjonsproblemet. Dessuten er det her med litt spesielt om de ulike verktøy i Matlab som er nyttige i denne sammenheng. For mer fullstendig beskrivelse og dokumentasjon henvises til Matlab sin omfattende dokumentasjon for System Identification Toolbox (SIT) og tilsvarende dokumentasjon for Control System Toolbox (CST). Også Matlab og SimuLink sin generelle dokumentasjon er nyttige i denne sammenheng. Karl Skretting, Institutt for data- og elektroteknikk (IDE), Universitetet i Stavanger (UiS), 4036 Stavanger. Sentralbord 51 83 10 00. Direkte 51 83 20 16. E-post: karl.skretting@uis.no.

1 Systemidentifikasjonsproblemet Problemet beskrives gjerne best med noen enkle spørsmål og svar. Hva er et system? Et system er i denne sammenheng definert som en mer eller mindre lukka enhet. Den påvirkes av et eller flere signal (innsignal) og kanskje også av andre forhold, så som intern tilstand, ukjente faktorer, eller tilfeldig støy. Her lager også systemet et eller flere nye signal (utsignal eller målesignal). Systemer er dermed alltid (i denne sammenheng) relatert til signal. Hva er systemidentifkasjon? Systemidentifikasjon gjør det mulig å lage matematiske modeller av et dynamiske system basert på målinger av inngang- og utgangssignal. Dynamisk betyr at innganger, tilstander, og utverdier for signalet endrer seg over tid. Hva kan systemidentifkasjon brukes til? Disse modellene kan så brukes til regulering av systemet, eller til prediksjon av framtidige tilstander i systemet. Det kan også gi nyttig kunnskap om systemet, som for eksempel kan brukes hvis en skal modifisere og videreutvikle systemet eller lage et nytt tilsvarende system. Sammen med en matematisk modell av systemet kan en også bruke systemidetifikasjon for estimering av tilstander som ikke blir direkte målt, (virtual measurement). Hvordan kan en identifisere et system? I sin enkleste form gjør en dette ved å velge en eller annen form for modell av systemet, og så tilpasser en noen systemparametre i modellen slik at denne passer best mulig med den observerte virkeligheten. Hvordan kan en avgjøre om en modell er god (riktig)? Det er ofte vanskelig å komme med et absolutt riktig svar. Men en god test er å bruke samme innsignal på modellen som på det virkelige systemet, vel å merke et annet innsignal enn det som ble brukt ved systemidetifikasjonen, og så sammenligne utsignalene fra systemet med utsignalene fra modellen. Datasettet en bruker kalles gjerne verifiseringsdata. Kan en vurdere kvaliteten av modellen på andre måter? Det er ofte nyttig å se på differansen mellom det virkelige utsignalet og det simulerte utsignalet. Denne differansen bør være ukorrelert med annen tilgjengelig informasjon, det vil ofte si innsignalet. Hvilke typer modeller er mest vanlig? En kan i prinsippet ha alle typer modeller i systemidentifikasjon. De vanligste er likevel modeller som kan beskrives med differanseligninger, slik som ARX og ARMAX modeller, og lineære tilstandsrommodeller. Må en anta en spesiell form på modellen? For parametriske modeller så må en angi strukturen, dette er gjerne ganske 2

enkelt. Hvis en kun antar lineær modell så kan en finne impulsrespons, det er en entydig måte å beskrive systemet på, ut fra korrelasjonsanalyse, eller en kan finne frekvensresponsen, det er en annen entydig måte å beskrive systemet på, med hjelp av spektralanalyse. Er det ei begrensning å kun bruke lineære modeller? Ikke egentlig. De viktigste ikke-lineære effektene er gjerne knyttet direkte til signalene, og ved å ta en ikke-lineær transformasjon av dette signalet kan en da få en lineær modell. For eksempel så kan ei punpe som styres av en innspenning gi en flyt som ikke er lineær med inngangssignalet, men ved å kompensere med en ulineær funksjon, den inverse av pumpekarakteristikken, så kan en få en lineær sammenheng mellom styresignal og flyt gjennom punpa. God kunnskap om fysikken omkring systemet er nødvendig for å gjøre dette riktig, men en kan da ofte få en lineær beskrivelse av de fleste systemer. I tillegg er det også så at alle kontinuerlige systemer kan tilnærmes ganske godt innen et begrenset arbeidsområde med en lineær modell. 2 Systemmodeller For å kunne gjøre systemidentifikasjon trenger en en del grunnleggende kunnskap om dynamiske systemer. Dette er behandlet i notat 1 og tas de første ukene i dette kurset. Jeg regner også med at dere har vært borti mye av dette tidligere i fag som Reguleringsteknikk, Signaler og systemer og Signalbehandling. Signal Et system, og dermed også en modell av systemet, er her definert som en enhet som påvirkes av et (eller flere) innsignal og gir ut et (eller flere) utsignal. Modellen beskriver dermed en sammenheng mellom ulike signal. En enkel figur som illustrere dette er e u Ukjent system y En har her kalla det målte, og dermed kjente, innsignalet for u, det ikke målte innsignalet er e som en ofte kaller forstyrrelse eller støy, og utsignalet er y. For diskrete systemer kjenner en signalverdiene for bestemte tidssteg, og da skriver en gjerne u(k), y(k) og også e(k) selv om en ikke kjenner verdien, en antar likevel ofte noen egenskaper for e(k), for eksempel at det er hvit støy. 3

I kontinuerlige system, de fleste fysiske systemer er kontinuerlige, skriver en u(t), y(t) og e(t). Har en flere inn- og utsignal er det vanlig å nummerere disse: u 1 (k), u 2 (k), u 3 (k),..., og y 1 (k), y 2 (k), y 3 (k),.... Det er ofte hensiktsmessig å samle disse i en kolonnevektor, for eksempel u(k) = [u 1 (k), u 2 (k),...] T og en skriver også ofte denne uten fet skrift, da betyr u(k) et eller flere diskrete utsignal. Dynamisk diskret modell For et fysisk system har en ofte ei eller flere differensialligninger som beskriver sammenhengen mellom de ulike signal. Ved å sample signalene kommer en fram til noen differanseligninger som beskriver den tilsvarende dynamiske diskrete modellen. For en lineær modell har en lineære differanseligninger, et eksempel er y(k) 1.5y(k 1) + 0.7y(k 2) = 0.9u(k 2) + 0.5u(k 3). (1) Dette er en ARX-modell. En kan nå finne y verdien ved et tidsteg ut fra y og u verdier ved tidligere tidssteg. y(k) = 1.5y(k 1) 0.7y(k 2) + 0.9u(k 2) + 0.5u(k 3). (2) Vi ser da at resultatet er en lineær kombinasjon av tidligere utverdier og innverdier. Koeffisientene i denne lineære ligningen er parametrene i modellen Utenom ARX-modellen er det flere andre lineære modeller som kan brukes, vi skal komme tilbake til noen av dissse senere i kurset. Lineær tilstandsrommodell Spesielt viktig i systemidentifikasjon er den diskrete lineære tilstandsrommodellen. I en tilstandsrommodell har en i tillegg til inn- og utsignalene også noen interne signal eller tilstander, i den diskrete form skrives disse som x 1 (k), x 2 (k), x 3 (k),... eller bare x(k) der det betyr en enkel tilstand eller en vektor der flere tilstander er samlet. Den lineære tilstandsrommodellen (uten støy/forstyrrelser) skrives x(k + 1) = Φx(k) + Γu(k) (3) y(k) = Dx(k) + Eu(k). (4) I de fleste systemer er E = 0. Denne modellen i ulike varianter skal vi bruke mye. Figuren 1 viser en oversikt over hvordan ulike systembeskrivelser henger sammen. 4

Kontinuerlig Diskret u(t) h(s), x(t) u(s) y(t) y(s) Diskretisering u(k) h(z), x(k) u(z) y(k) y(z) Modell Fysisk system ẋ = f(...) y = g(...) ẋ = Ax + Bu y = Dx + Eu Matematisk modellering D 1 Linearisering D 2 x(k + 1) = f(...) y(k) = g(...) x(k + 1) = Φx(k) + Γu(k) y(k) = Dx(k) + Eu(k) L L 1 Z Z 1 D 3 h(s) = y(s)/u(s) Eksperiment h(z) = y(z)/u(z) Observerte signal, u og y Generell Tilstandsrommodell Lineær Transferfunksjon Figur 1: Oversikt over ulike systembeskrivelser og overganger. Det å forstå disse ulike måtene å beskrive systemer på, og ikke minst overganger mellom disse, er viktig i systemidentifikasjon. Her er signalet u pådraget, signalet y er (målt) utgang, systemets transferfunksjon er h, og systemets tilstand er x. En kan ofte forenkle med å måle tilstanden(e) direkte og da har en y = x. 5

3 De ulike steg i systemidentifikasjon 1. Sette opp et eksperimet og samle inn et sett med data, inn- og utsignal. 2. Undersøke data for eksempel ved å plotte signalene. Utføre eventuell forbehandling av data så som glatting (fjerning av utliggere), filtrering, resampling, og valg av område en vil bruke. 3. Definere en eller flere modellstrukturer en vil teste, og hvor mange parametre en vi ha. 4. For hver modell finner en så beste sett med parametre. Noen av modellene er gjerne gode nok, og disse tar en med videre. 5. Egenskaper for de ulike modeller undersøkes. Spesielt testes de mot valideringsdata. 6. Den beste modellen velges og hvis den er god nok avsluttes prosessen. Hvis ikke går en tilbake til steg 3, eller kanskje til og med til steg 1 eller 2. 4 System Identification Toolbox Matlab med verktøykasser og Simulink er viktige verktøy i faget ELE620. Det er så at eksempler, øvinger og oppgaver har blitt utviklet over tid, og de kan derfor inneholde kommandoer eller funksjoner som nå er utgått eller (mer vanlig) som brukes noe annerledes i nyere versjoner. Matlab kommer nå med 2 oppdateringer per år. Stort sett takler nye versjoner av Matlab kode utviklet for eldre versjoner rimelig godt, men problemer kan forkomme. Et typisk eksempel er at hjelptekst er tilpasset siste versjon av kommandoen, og at argumenter som kunne brukes tidligere (og spom nå er forelda, men som virker fortsatt) dermed er udokumentert. Jeg bruker nå Matlab versjon 8.3 (R2014a) på min kontor PC. System Identification Toolbox (SIT) er et verktøy som utvider funksjonaliteten i Matlab. Målet er å gjøre det enklere å tilpasse en matematisk modell til gitte inn- og utsignaler. I lista over er det punkt 2 til 5 som kan gjøres med SIT. Jeg har ulike versjoner av Matlab installert på de PCene jeg bruker, og dere kan gjerne ha en annen versjon. Det kommer ny versjon av Matlab en til to ganger i året, og det er ofte lite (eller ingen) endringer i de fleste toolbox -ene, men innimellom skjer det store oppdateringer i noen av disse. SIT i versjon 9.0 (R2014a) er ganske lik tidligere versjoner. Den viktigste delen i SIT er det grafiske brukergrensesnittet, ident. Derfra kan en gjøre det aller meste i SIT 6

på en brukervennlig måte. Alternativt kan en bruke SIT objekter, metoder og funksjoner på samme måte som i Matlab kommandolinje grensesnittet. 4.1 Noen begreper brukt i SIT Modell Det er viktig å vite hvordan SIT bruker modeller. Dette er forklart i SIT dokumentasjonen i del Introduction to System Identification Toolbox Models. De ulike klassene som er med i SIT er listet i del Types of Model Objects, de viktgste er idproc, idpoly og idss. Se figur 2. Estimeringsdata Det er det datasettet, inn- og utsignal, som en bruker for velge en modell og å tilpasse parametrene til. I det grafiske grensesnittet (GUI) til SIT er dette det samme som working data. Valideringsdata Det er det datasettet, inn- og utsignal, som en bruker for å kontrollere modellen med. Dette bør være et annet datasett enn estimeringsdata, men det bør være data tatt opp under samme forhold. Modell visninger (model views) Dette er ulike måter å vise modellen på. En viser da ulike egenskaper for modellen, det kan være slik som poler og nullpunkt, impuls-, steg- og frekvensrespons. Data visninger (data views) Dette er ulike måter å vise data, det vil si inn- og utsignalene, på. En kan glatte data og fjerne utliggere eller datadeler som er målt feil. Frekvensinnhold, gjerne vist i form av periodogrammer, er ofte også interessant. Modell sett For estimeringsdata lager en gjerne et sett med modeller, gjerne delt inn i ulike strukturer. En kan for eksempel ha noen ARX-modeller, der orden varierer, og noen ARMAX-modeller der både orden og antall parametre i MA-delen kan variere, samt noen andre typer modeller. En kan så først finne de beste paramtrene for hver modell, og så videre finne den besten modellen innen hver familie og gjerne også totalt sett, ved å se på avviket mellom simulert og virkelig utsignal, estimeringsfeilen. Modell validering Her prøver en å oppnå tillit til at den modellen en har funnet er god, passer med det virkelige systemet. En særs viktig test her er om modellen er i stand til å gjenskape utsignal i valideringsdata ut fra innsignal i valideringsdata. 7

Figur 2: (Fra Matlab dokumentasjon) The following diagram illustrates the relationships between the types of model objects in Control System Toolbox, Robust Control Toolbox, and System Identification Toolbox software. Model types that begin with id require System Identification Toolbox software. Model types that begin with u require Robust Control Toolbox software. All other model types are available with Control System Toolbox software. The diagram illustrates the following two overlapping broad classifications of model object types: Dynamic System Models vs. Static Models In general, Dynamic System Models represent systems that have internal dynamics, while Static Models represent static input/output relationships. Numeric Models vs. Generalized Models Numeric Models are the basic numeric representation of linear systems with fixed coefficients. Generalized Models represent systems with tunable or uncertain components. 8

4.2 Eksempel SIT dokumentasjonen inneholder flere eksempler. Før en starter å bruke funksjoner en ikke kjenner så er det nyttig å kjøre gjennom eksempel der funksjonen brukes. Getting started delen av SIT dokumentasjonen inneholder tre eksempler, hvorav to er særlig nyttige. Forhåpentligvis får vi tid til å se på disse i forelesningene, hvis ikke er de såpass enkle å gjennomføre at de kan gjøres på egenhånd. Hvis en kan Matlab kommandolinje grensesnittet godt er det gjerne greiest å starte med eksempelet Estimating Linear Models in the MATLAB Command Window der en bruker datasettet co2data. Eksempelet Estimating Linear Models Using the System Identification Tool kan i så fall tas deretter. Ellers kan en ta eksemplene i en annen rekkefølge. 5 Control System Toolbox Control System Toolbox (CST) er en verktøykasse med funksjoner som utvider Matlab med klasser, algoritmer eller metoder og funksjoner spesielt retta mot reguleringsteknikk og systemteori. Noen generelle oppgaver i CST er også tilgjengelige via grafisk brukergrensesnitt (GUI), men mye er også kun tilgjengelig fra Matlab kommandolinje grensesnittet. CST er mer generell enn SIT, men disse verktøykassene er tildels overlappende i funksjonalitet. CST er mer omfattende enn SIT, og dokumentasjonen større, mange av delene her er mest for spesialister i systemteori. For vår del er kapitlene Getting Started og Creating and Manipulating Models i CST dokumentasjonen mest aktuelle. CST i versjon 9.7 (R2014a) er ganske lik tidligere versjoner, men det ble gjort ganske omfattende endringer for 5-6 år siden. Mange av de gamle funksjonene er nå blitt foreldet, og jeg skal nå etter hvert ha fjernet de fra notater og eksempler, men enkelte spor kan fortsatt henge igjen. Modeller eller systemer i CST kan opprettes og representeres på flere ulike måter, og en kan ofte gå direkte fra en representasjonsform til en annen. Forklaring og eksempel på hvordan en kan lage modeller er i delen Building Models i Getting Started i CST dokumentasjonen. Lineære system kan lages på flere måte, her er eksempler klippet fra dokumentasjonen sys = tf(num,den) % Transfer function sys = zpk(z,p,k) % Zero/pole/gain sys = ss(a,b,c,d) % State-space sys = frd(response,frequencies) % Frequency response data De lager da typisk et Matlab-objekt med navn sys og klasse (datatype) med samme navn som funksjonen. 9

6 Simulink Simulink er også en utvidelse av Matlab, det er et grafisk system for modellering velegnet for å bygge, teste, simulere og verifisere systemmodeller. Vi vil bruke denne litt i systemidentifikasjonsfaget, selv om denne pakken brukes helst etter at systemidentifikasjon er gjort. 10