Professional Documents
Culture Documents
Systemidentifikasjon - Forelesningsnotater
Systemidentifikasjon - Forelesningsnotater
Systemidentifikasjon
HANS-PETTER HALVORSEN, 2012.03.16
Faculty of Technology, Postboks 203, Kjlnes ring 56, N-3901 Porsgrunn, Norway. Tel: +47 35 57 50 00 Fax: +47 35 57 54 01
Forord
Dette dokumentet brukes som forelesningsnotater i modellbasert regulering over temaet
systemidentifikasjon. Noen forenklinger er gjort underveis da det legges vekt p praktisk forstelse
og implementering. Notatet tar for seg praktisk bruk av systemidentifikasjon og hvordan dette kan
implementeres i LabVIEW (og MathScript).
Hva er systemidentifikasjon?
Systemidentifikasjon gjr det mulig lage matematiske modeller av et dynamisk system basert p
mlinger av inngang- og utgangssignal. Dynamisk betyr at innganger, tilstander og utganger for
signalet endrer seg over tid.
Hva kan systemidentifikasjon brukes til?
Disse modellene kan s brukes til regulering av systemet som vi har funnet en modell av eller til
prediksjon og tilstandsestimering.
Hvordan kan man identifisere et system?
Enkelt sagt gjr vi dette ved velge en eller annen form for modell av systemet, og s tilpasser man
parametrene i modellen slik at denne passer best mulig til det fysiske systemet. Modellen kan vre
en matematisk modell basert p en fysisk beskrivelse av prosessen eller en skalt black-box modell.
ii
iii
Innholdsfortegnelse
Forord .......................................................................................................................................................ii
Innholdsfortegnelse ................................................................................................................................iii
1
Innledning ....................................................................................................................................... 5
1.1
1.2
1.3
Sprangrespons ......................................................................................................................... 7
1.4
1.5
Eksperimenter/Logging ......................................................................................................... 11
2.2
Oppsplitting ........................................................................................................................... 11
2.3
Modellestimering .................................................................................................................. 12
2.4
Validering............................................................................................................................... 13
Innledning .............................................................................................................................. 14
3.2
3.3
Eksempler .............................................................................................................................. 21
3.4
Utledning ............................................................................................................................... 23
Systemidentifikasjon
iv
2x2 Systemer ................................................................................................................................ 30
3x3 Systemer ................................................................................................................................ 31
Invertering av matriser ..................................................................................................................... 32
Matrise og vektor derivasjon ............................................................................................................ 33
Referanser ............................................................................................................................................. 34
Systemidentifikasjon
1 Innledning
1.1 Hva er Systemidentifikasjon?
Metoder innen Systemidentifikasjon brukes til finne matematiske modeller av dynamiske systemer
basert p observasjoner av mlte inngangssignaler ( ) og utgangssignaler fra systemet ( ).
Vi vil g gjennom 2 hovedtyper av metoder ifm systemidentifikasjon:
Parameterestimering basert p at man har utviklet en matematisk modell vha fysikkens lover
og man nsker finne de ukjente modellparametrene. Her vil vi bruke Minste kvadraters
metode som et eksempel.
Blackbox/ Subspace-metoder: Systemidentifikasjon basert p at man ikke har en matematisk
modell tilgjengelig.
Alle metodene gr i prinsippet ut p logge input og output data fra det virkelige systemet.
Innledning
Systemidentifikasjon
Innledning
1.3 Sprangrespons
Dette er en litt mer systematisk metode en den helt enkle Prv og feil metoden.
Sprangresponsmetoden er best egnet p en 1.ordens prosess (med eller uten ddtid).
Man kan finne modellparametrene ved utfre en enkel sprangrespons p systemet.
Sprangresponsen for et 1.ordens system er gitt ved flgende transferfunksjon:
( )
der:
er prosessens forsterkning
er prosessens tidskonstant
er prosessens ddtid
Vi kan dermed lese av prosessparametrene direkte fra sprangresponsen som illustrert nedenfor:
Systemidentifikasjon
Innledning
( )
Systemidentifikasjon
Innledning
Finne en matematisk modell som ikke er basert p fysiske lover (Newtons lover, m.fl.)
Finner modell basert p input (pdrag) output (mlinger) data
Teorien og matematikken bak slike Subspace-metoder er kompleks, s vi vil ikke g inn p det her. I
dette notatet vil vi fokusere p praktisk bruk av en slik metode. I et senere kapitel viser vi hvordan vi
kan bruke en av de innebygde funksjonene i LabVIEW (LabVIEW System Identification Toolkit).
En subspace-metode kan typisk finne en diskret tilstandsrommodell av typen:
Systemidentifikasjon
10
11
2.1 Eksperimenter/Logging
Vi setter opp et eksperiment og samler inn et sett med data fra inngangssignaler og utgangssignaler
fra systemet som vi nsker identifisere. Det er viktig at systemet blir tilstrekkelig eksitert.
Dette kan illustreres slik:
LabVIEW:
I LabVIEW kan vi bruke Write to Measurement File for logge input og output dataene til en fil.
2.2 Oppsplitting
Vi deler opp dataene i ulike datasett; ett datasett brukes til finne modellen, mens det andre
datasettet brukes til validere modellen.
Dette kan illustreres slik:
Systemidentifikasjon
12
LabVIEW:
I LabVIEW kan vi bruke funksjonen SI Split Signal.vi til dele opp datasettet.
F.eks. kan man bruke de frste 50% til finne modellen, mens de resterende 50% kan brukes til
validere modellen.
2.3 Modellestimering
Vi finner modellen eller modellparametrene vha. en eller flere systemidentifikasjonsmetoder (Minste
kvadraters metode, Black-box, osv.).
Det frste vi m bestemme er om vi nsker lage en matematisk modell av systemet basert p
fysiske lover eller om dette ikke er nskelig.
I begge tilfellene vi vi bruke loggedataene fra forrige trinn.
Dette kan illustreres slik:
LabVIEW:
I LabVIEW har vi innebygde funksjoner fr bruke Minste kvadraters metode, samt
Subspace-metoder, m.m.
Ifm Minste kvadraters metode kan vi f.eks bruke Solve Linear Equations.vi:
Systemidentifikasjon
13
2.4 Validering
Vi sjekker om modellen er bra nok vha f.eks simuleringer. Her er det viktig at vi bruker
valideringsdataene og ikke de samme dataene som vi brukte nr vi fant modellen.
Dette kan illustreres slik:
LabVIEW:
I LabVIEW finnes det flere funksjoner vi kan bruke til validere modellen, f.eks. SI Model
Simulation.vi:
Systemidentifikasjon
sette likningene opp p denne formen gjr det enklere lse likningene, dvs finne
ved bruk av
ulike metoder, f.eks Gauss elimineringsmetode , Minste kvadraters metode, eller liknende
Eksempel:
Gitt flgende likninger:
):
[
][ ]
[ ]
ukjente parametre og
: Hvis
og at de
parametrene entydig ved
observasjoner i datasettet.
14
15
Vi fr da flgende svar:
x =
-4
4.5
Dvs.:
[ ]
[Slutt p eksempel]
der
er en vektor med de ukjente parametrene som vi nsker finne verdiene p
er en vektor med kjente mlinger
er den skalte regresjonsmatrisen. Denne matrisen bestr av kjente verdier
Minste kvadraters lsning for likningen
Systemidentifikasjon
16
Ved minste kvadraters metode velger man den lsningen som gir at summen av kvadratene av
avvikene fra de gitte betingelsene er et minimum. Om man for eksempel vil bestemme en rett linje ut
fra en rekke punkter som er observert, velger man den linjen hvor summen av kvadratene av
avstandene fra de observerte punkter til linjen er s liten som mulig.
Dette kan illustreres slik:
( )
Systemidentifikasjon
17
ukjente parametre og
: Hvis
og at de
parametrene entydig ved
observasjoner i datasettet.
Eksempel:
Gitt flgende system av en varmluftsprosess:
Systemidentifikasjon
18
]}
hvor:
Vi nsker logge temperaturen vha en DAQ enhet som gir oss et spenningssignal mellom
.
Dette signalet nsker vi konvertere til en temperaturverdi mellom
, dvs. vi trenger
skalere
til
.
Siden dette vil vre en liner skalering kan vi bruke flgende:
( )
dvs vi nsker finne parametrene
og
Systemidentifikasjon
19
eller:
( )
( )
og fr flgende:
som gir:
[ ]
] []
er kvadratisk og kan
20
][
Dvs.:
[ ]
Dette gir:
( )
Merk! For
matrise
:
[
p flgende mte:
( )
og
( )
| |
MathScript:
Dette kan lses i MathScript p flgende mte:
phi = [1, 1; 5 ,1];
Y = [20; 50];
theta = inv(phi)*Y
Systemidentifikasjon
21
theta_ls = phi\Y
[Slutt p eksempel]
3.3 Eksempler
Her vil vi se p noen flere eksempler hvor vi bruker Minste kvadraters metode for finne
modellparametrene. Vi vil bruke LabVIEW og MathScript som eksempler p verkty ifm med dette.
LabVIEW har innebygde funksjoner som kan brukes ifm Minste kvadraters metode. I Linear Algebra
(lokalisert i Mathematics paletten) paletten finnes det mange funksjoner som kan brukes for
finne Minste kvadraters lsning:
Eksempel:
Gitt flgende modell:
( )
Flgende verdier er funnet fra eksperimenter:
( )
( )
( )
Vi nsker finne de ukjente modellparametrene
MathScript/LabVIEW.
and
Systemidentifikasjon
22
Vi har flgende:
der
er en vector med de ukjente parametrene som vi nsker finne verdiene p
er en vektor med kjente mlinger
er den skalte regresjonsmatrisen. Denne matrisen bestr av kjente verdier
Dermed fr vi:
Som blir:
[ ]
Her vil
( )
] []
( )
MathScript:
Vi definerer
og
i MathScript og finner
phi = [1 1; 2 1; 3 1];
Y = [0.8 3.0 4.0];
theta = inv(phi*phi)* phi*Y
%or simply by
theta=phi\Y
Svaret blir:
theta =
1.6
-0.6
Systemidentifikasjon
23
Dvs.:
[Slutt p eksempel]
3.4 Utledning
Miste kvadraters metode forutsetter at systemet settes opp p denne formen:
Systemidentifikasjon
24
Metoden gr ut p at vi nsker tilpasse dataene vre til en gitt matematisk modell, dette er
illustrert i figuren under:
Det vi nsker er finne parametrene i modellen slik at denne blir mest mulig tilpasset de dataene vi
har.
nsker minimalisere summen av avvikene
kriteriefunksjon:
( )
Systemidentifikasjon
25
Hvordan vi kommer frem til denne formelen vil bli utledet under.
Utledning:
Utledningen krever kunnskap om matriser og vektorer og regler for derivasjon av matriser og
vektorer.
Vi nsker minimalisere flgende kriteriefunksjon
( )
Vi har regresjonsmodellen:
der
Vi fr da:
Systemidentifikasjon
26
( )
) (
Som gir:
( )
(Merk: vi har brukt flgende: (
)(
)
Vi ganger ut:
(
(
(
)
og (
Dette gir:
( )
Dvs.
, resultatet blir:
(
Systemidentifikasjon
4 Blackbox identifikasjon og
Subspace-metoder
Subspace-metoder baserer seg p finne modell som ikke er basert p fysiske lover. Modeller funnet
p denne mten kalles Blackbox modeller. Subspace-metoder baserer seg p at vi finner modeller
basert p input (pdrag) output (mlinger) data fra prosessen.
LabVIEW har innebygd funksjonalitet for a finne Blackbox modeller basert p Subspace metoder, for
eksempel i paletten Parametric Model Estimation finner vi blant annet VIen Estimate
State-Space.
Nedenfor ser vi et eksempel p hvordan dette kan implementeres i LabVIEW.
27
Appendiks A: Matriser
Transponert
Gitt en matrise
:
[
Den transponerte av
er gitt ved:
[
Merk!
(
Eksempel:
[
Den transponerte av
blir:
[
MathScript
A=[0 1; -2 -3];
A'
-3
[Slutt p eksempel]
28
29
Appendiks A: Matriser
Matrisemultiplikasjon
Gitt matrisene
og
, da fr vi:
hvor
Eksempel:
MathScript:
A=[0 1;-2 -3];
B=[1 0;3 -2];
A*B
Dette gir:
ans =
3
-2
-11
[Slutt p eksempel]
Merk!
Merk!
Flgende gjelder:
(
(
)
(
)
(
Systemidentifikasjon
30
Appendiks A: Matriser
Matriseaddisjon
Gitt matrisene
og
, da fr vi:
Eksempel:
MathScript:
A=[0 1;-2 -3];
B=[1 0;3 -2];
A+B
Dette gir:
ans =
1
-5
[Slutt p eksempel]
Determinant
Determinanten er bare definert for kvadratiske matriser. Determinanten til en kvadratisk matrise A
er definert ved den skalare tallverdien.
( )
| |
2x2 Systemer
Slik finner vi determinanten for et 2x2 system:
[
( )
| |
Eksempel:
[
( )
| |
]
(
Systemidentifikasjon
31
Appendiks A: Matriser
3x3 Systemer
Det blir litt mer komplisert for systemer med strre orden, men vi vil maks hndregne p 3x3
systemer. For strre systemer bruker vi et dataprogram til beregne dette, f.eks MathScript.
Slik finner vi determinanten for et 3x3 system:
[
Vi ser at determinanten til et hyere ordens system kan uttrykkes som en sum av lavere ordens
determinanter.
Eksempel:
[
( )
)|
Dette gir:
|
|
|
Systemidentifikasjon
32
Appendiks A: Matriser
|
Som gir:
( )
I MathScript kan vi gjre flgende:
A=[-1 3 0; 2 1 -5; 1 4 -2];
det(A)
rank(A)
( )
( )
Merk!
(
( )
Invertering av matriser
Gitt en
matrise:
[
Den inverse av
er gitt ved:
( )
Eksempel:
Gitt flgende matrise:
[
Den inverse av
er gitt ved:
Systemidentifikasjon
33
Appendiks A: Matriser
[
MathScript:
A=[0 1; -2 -3]
inv(A)
(
(
)
)
Systemidentifikasjon
Referanser
Di Ruscio, D. (2003). Matrisemetoder og liner algebra, Forelesningsnotater.
Haugen, F. (1996). Regulering av dynamiske systemer 2, Tapir.
Haugen, F. (2010). Advanced Dynamics and Control, TechTeach.
Ljung, L. (1995). System Identification.
Skretting, K. (2010). MIK 130 Systemidentifikasjon, Forelesningsnotater.
www.wikipedia.org (2011). Black Box.
www.wikipedia.org (2011). System Identification.
34
E-mail: hans.p.halvorsen@hit.no
Blog: http://home.hit.no/~hansha/