Modelovanie a simulácie



Opakovanie FCH
dátová štruktúra CELL
Identifikácia LTI systémov

white box prístup
 známa vnútorná štruktúra
 systém diferenciálnych rovníc

black box
 neznáma štruktúra
 výpošet modelu pomocou regresných modelov
 vstupné a výstupné dáta

gray box
 poznáme čiastočne štruktúru alebo niektoré parametre
Frekvenčné charakteristiky




Odozva systému na vstupný harmonický signál s
frekvenciou f a amplitúdou A
Ak na vstup LTI systému pripojíme harmonický signál, tak
na výstupe dostaneme signál s rovnakou frekvenciou
Amplitúdová FCH
Fázová FCH
Lineárny systém
y=A.sin(2πft)
y'=A'.sin(2πft+ϕ)
Frekvenčné charakteristiky


Spektrum – rozsah vyšetrovaných frekvencií
Pre každú frekvenciu určíme :
 Zosilennie(f) = A'/A
 Fázový posun (f) = φ

Pre každú frekvenciu zakreslíme zosilnenie –
amplitúdova FCH

Pre každú frekvenciu zakreslíme fázový posun –
fázová FCH
Frekvenčné charakterisitiky
9
8
7
6
5
4
3
2
1
0
-1


0
1
2
3
4
5
6
7
8
9
10
f=1Hz, A=1V
A'=3.8 rad/s , časový posun = 0.5914s , φ=212.9
Frekvenčné charakterisitiky
6
5
4
3
2
1
0
-1


3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
f=5Hz, A=1V
A'=1.5 rad/s , časový posun = 0.14s , φ=252
4
Frekvenčné charakteristiky
f [Hz]
A
A'
Zosilnenie
φ
0,2
0,5
1
1
3,8
3,8
212,9
1,5
2
5
1
1,5
1,5
252
CELL





heterogénny dátový objekt
jednotlivé položky môžu obsahovať ľubovoľný
dátový typ
deklarovanie priradením
deklarovanie príkazom CELL
adresovanie v zložených zátvorkách { }
>> b=cell(3,3)
b=
[]
[]
[]
[]
[]
[]
[]
[]
[]
CELL – deklarovanie priradením
>> a{1}=10 %skalar
a=
[10]
>> a{2}='a' %retazec
a=
[10] 'a'
>> a{2,2}=[1 2 3] %vektor
a=
[10] 'a'
[ ] [1x3 double]
>> a{2,1}=tf([1],[2 1 2]) %objekt typu tf
a=
[ 10] 'a'
[1x1 tf] [1x3 double]
CELL – konverzia na maticu

cell2mat
>> b{1,1}={1 2 3 4}
b=
{1x4 cell} [ ] [ ]
[] [] []
[] [] []
>> b{1,1}
ans =
[1]
[2]
[3]
[4]
>> ans+1
??? Undefined function or method 'plus' for input arguments of type 'cell'.
>> cell2mat(b{1,1})
ans =
1 2 3 4
>> ans+1
ans =
2 3 4
5
Identifikácia – White box





postup tvorby modelu ako sme použili pri JM
známa štruktúra
známe zosilnenia
známe časové konštanty
systém diferenciálnych rovníc
WHITE BOX
u
y
Identifikácia – Black box



systém má vstupy a výstupy
nevieme čo presne sa deje v ňom
neznáme vnútorné väzby, časové konštanty
a zosilnenia
BLACK BOX
u
y
Identifikácia – Black box



Pomocou regresných modelov
na základe vstupných a výstupných dát
aproximácia výstupu na základe vstupných
dát

snažíme sa nájsť taký dynamický systém (TF,
SS …), ktorý vhodne aproximuje výstup
modelovaného systému
Vstupné a výstupné dáta

diskrétne signály




prevádzkové dáta


u – vstupný
y – výstupný
Tvz alebo TS – perióda vzorkovania signálu
obvykle málo prechodných dejov
cielený experiment


nie vždy možné počas prevádzky
poškodenie zariadenia pri nevhodnej voľbe
signálu
Vstupné a výstupné dáta

informácia o dynamike sa ukrýva v
prechodných dejoch

informácia o zosilnení v ustálnených
stavoch

je dobré keď dáta na identifikáciu majú
dostatok prechodných dejov a niekoľko
ustálených stavov
Vstupné a výstupné dáta

Dáta na identifikáciu


použijú sa pri samotnej aproximácii a tvorbe
modelu
Dáta na validáciu



preveruje sa kvalita modelu
do modelu a aj do identifikovaného systému
pustíme validačné dáta
porovnanie výstupov z modelu a zo systému
Tvorba vstupného signálu Simulink



niekoľko skokov, sumačný blok
Signal Builder
Príklad použitia
Meranie vstupného a výstupného
signálu


voľba Tvz
Tvz=0,01s
Vstupné a výstupné dáta
Identifikácia
Validácia
Spracovanie dát



Tvz=0,01s
čas merania = 20s
dáta na identifikáciu a validáciu
>> y_ident=y(1:1001);
>> u_ident=u(1:1001);
>> y_valid=y(1002:end);
>> u_valid=u(1002:end);
Identifikácia - Matlab

GUI - ident
Identifikácia

Matlab - Príkazy

ARX,ARMAX ...

Simulink – bloky

System Identification Toolbox
Identifikácia

Podporovnané modely v toolboxe IDENT
Parametric model estimation.
ar
- AR-models of signals using various approaches.
armax
- Prediction error estimate of an ARMAX model.
arx
- LS-estimate of ARX-models.
bj
- Prediction error estimate of a Box-Jenkins model.
init
- Initialize (randomize) the parameters of a model.
ivar
- IV-estimates for the AR-part of a scalar time series.
iv4
- Approximately optimal IV-estimates for ARX-models.
ako postupovať

vytvoriť dátový objekt pre identifikáciu

iddata
>> dat=iddata(y_ident,u_ident,Tvz);
>> get(dat)
ans =
Domain: 'Time'
Name: []
OutputData: [1001x1 double]
y: 'Same as OutputData'
OutputName: {'y1'}
OutputUnit: {''}
InputData: [1001x1 double]
u: 'Same as InputData'
InputName: {'u1'}
InputUnit: {''}
Period: Inf
InterSample: 'zoh'
Ts: 0.0100
Tstart: []
SamplingInstants: [1001x0 double]
TimeUnit: ''
ExperimentName: 'Exp1'
Notes: []
UserData: []
ako postupovať




voľba vhodného modelu (arx, armax, bj …)
voľba rádu systému (na, nb, nk)
výsledkom identifikácie je systém diskrétny
systém je uložený ako objekt
>> M=arx(dat,[4 4 1])
Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)
A(q) = 1 - 1.168 q^-1 - 0.1718 q^-2 + 0.3733 q^-3 + 1.478e-05 q^-4
B(q) = 0.4308 q^-1 - 0.07399 q^-2 - 0.1935 q^-3 - 0.01928 q^-4
Estimated using ARX from data set dat
Loss function 1.63353e-12 and FPE 1.65985e-12
Sampling interval: 0.01
ako postupovať


Z identifikovaného objektu potrebujeme
získať prenosovú funkciu
koeficietny polynómov sú pri záporných
mocninách
>> get(M)
ans =
a: [1 -1.1681 -0.1718 0.3733 1.4778e-05]
b: [0 0.4308 -0.0740 -0.1935 -0.0193]
c: 1
d: 1
f: 1
ako postupovať
>> DenID=M.a;
>> NumID=M.b;
>> JMid=filt(NumID,DenID,Tvz)
Transfer function:
0.4308 z^-1 - 0.07399 z^-2 - 0.1935 z^-3 - 0.01928 z^-4
----------------------------------------------------------1 - 1.168 z^-1 - 0.1718 z^-2 + 0.3733 z^-3 + 1.478e-05 z^-4
Sampling time: 0.01
Prepočet z diskrétneho na spojitý
>> JMidC=d2c(JMid)
Warning: Model order was increased to handle real negative poles.
Transfer function:
-1.228 s^5 + 4.468e04 s^4 + 6.356e07 s^3 + 1.337e10 s^2 + 6.118e12 s + 1.294e14
----------------------------------------------------------------------------s^6 + 2191 s^5 + 1.565e06 s^4 + 4.054e08 s^3 + 1.282e11 s^2 + 4.006e12 s + 2.992e13
>> Num=cell2mat(JMidC.num)
>> Den=cell2mat(JMidC.den)
Num =
1.0e+14 *
0 -0.0000
0.0000
0.0000
0.0001
0.0612
1.2936
Den =
1.0e+13 *
0.0000
>>
0.0000
0.0000
0.0000
0.0128
0.4006
2.9917
Overenie identifikovaného modelu

identifikovaný systém porovnáme s
pôvodným systémom
Overenie identifikovaného modelu
Validačné dáta

20
18
16
10
14
9
12
8
7
10
6
8
5
6
4
3
4
2
2
1
3
0
0
1
2
3
4
5
6
7
8
9
10
3.2
3.4
3.6
3.8
4
4.2
Identifikácia - SIMULINK

Blok identifikácie
Identifikácia - SIMULINK


Parametrizácia bloku identifikácie – bez Model name
výpis modelu priamo co Command window
Transfer function:
num/den =
0.43079 z^3 - 0.056365 z^2 - 0.14333 z - 0.014121
--------------------------------------------------------z^4 - 1.1272 z^3 - 0.096118 z^2 + 0.27352 z - 7.1849e-006
Noise model:
num/den =
z^4
--------------------------------------------------------z^4 - 1.1272 z^3 - 0.096118 z^2 + 0.27352 z - 7.1849e-006
Identifikácia - SIMULINK

Parametrizácia bloku identifikácie

Model name : M

M – CELL v ktorej je uložený identifikovaný model
>> whos
Name
M
Size
10x2
Bytes Class
104180 cell
>> M
M=
[ 1.9800]
[ 3.9800]
[ 5.9800]
[ 7.9800]
[ 9.9800]
[11.9800]
[13.9800]
[15.9800]
[17.9800]
[19.9800]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
[1x1x8 idpoly]
Attributes
Ako získať systém z CELL M






obdobný postup ako pri ident pomocou príkazov
výsledný prenos je uložený v štruktúre CELL
1. položka objektu CELL – čas
2. položka objektu CELL – objekt idpoly
FinalModel.a
FinalModel.b
>> FinalModel=M{10,2} %10- posledny model v poradi, 2- objekt idpoly
Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)
A(q) = 1 - 1.127 q^-1 - 0.09612 q^-2 + 0.2735 q^-3 - 7.185e-06 q^-4
B(q) = 0.4308 q^-1 - 0.05636 q^-2 - 0.1433 q^-3 - 0.01412 q^-4
Estimated using ARX
Loss function 4.66319e-12 and FPE 4.7005e-12
Sampling interval: 0.01
Download

Identifikácia LTI systémov