Documente Academic
Documente Profesional
Documente Cultură
'
'
Outline of this lecture
System Identification I
models
time domain / frequency domain identification
2. System identification in the time domain
general case
identification of 1st order models
&
'
pcs id.1
&
'
pcs id.2
Black-box models:
G1 (s) =
tailor-made
1
s + 1
G2 (s) =
2
s2 + 2s + 2
black-box
linear models (ARX, OE, ARMAX, BJ discrete-time):
Tailor-made models (based on physical modeling):
d
x(t) = f (x(t), u(t), e(t), )
dt
y(t) = h(x(t), u(t), e(t), )
&
pcs id.3
&
pcs id.4
'
rag replacements
'
PSfrag replacements
C
D
u
B
F
Box-Jenkins (BJ)
y(k) =
B(q)
C(q)
u(k) +
e(k)
F(q)
D(q)
ARMAX
1
A
1
A
B
e
u
&
B
F
Output-Error (OE)
y
y(k) =
B(q)
u(k) + e(k)
F(q)
u
%
'
pcs id.5
&
'
ARX
pcs id.6
References
Identification
Time domain
om
& B. Wittenmark, Computer-Controlled Systems,
K.J. Astr
&
pcs id.7
pcs id.8
'
'
Model:
d
x(t) = f (x(t), u(t), e(t), )
dt
y(t) = h(x(t), u(t), e(t), )
Overview:
Optimal value of ?
General case
Identification of 1st order models
k |)
Prediction error: (k, ) = y(tk ) y(t
Performance:
JN () =
&
'
Performance:
JN () =
Note:
pcs id.9
Usually:
'
pcs id.10
d
x(t) = f (x(t), u(t), e(t), )
dt
y(t)
= h(x(t), u(t), e(t), )
1 N
g((k, ))
N k=1
Optimal value of :
g() = 2
1 N
N = arg min 2 (k, )
N k=1
N
In general: use numerical, nonlinear optimization algorithms to compute
Optimal value:
N = arg min JN ()
1 N
g((k, ))
N k=1
&
&
pcs id.11
pcs id.12
'
f () =
i=1
'
Syntax:
2i () = ()T ()
N
f () = 2() ()
i=1
H()
:= 2()T ()
k+1 = k H 1 (k ) f (k )
1
k)
Levenberg-Marquardt method : k+1 = k I + H(
f (k )
Gauss-Newton method :
'
x=lsqnonlin(fun,x0,lb,ub,options) with
[e,J]=fun(x)
e=...
% Compute Jacobian if required.
if ( nargout > 1 )
J=...
end;
&
lsqnonlin
pcs id.13
pcs id.14
Example of lsqnonlin
min eT e
Define m-file:
&
pcs id.15
with
e(x) =
10(x2 x12 ) (1 x1 )
function [e,J]=fun_rosenbrock_e(x)
e=[10*(x(2)-x(1)2) (1-x(1))];
if ( nargout > 1 )
J=[-20*x(1) -1;
10
0];
end;
&
T
pcs id.16
'
'
Perform optimization:
x0=[2 2];
K
slope = K/
% Select medium-scale, Gauss-Newton, and
% Jacobian provided by user
PSfrag replacements 0.63K
options=optimset(LargeScale,off,...
LevenbergMarquardt,off,...
Jacobian,on);
x=lsqnonlin(fun_rosenbrock_e,x0,[],[],options)
&
'
pcs id.17
PSfrag replacements
&
'
pcs id.18
envelope et
y0
Model:
a2
a1
&
N1
N1
, {y(k)}k=1
and model (G(q, ), H(q, )), determine
best estimate of y(k): y(k,
|k 1)
Given {u(k)}k=1
2
=
T
1
a1
=
ln
2 a2
0
t + T
Prediction error:
pcs id.19
&
pcs id.20
'
Prediction error
'
y(k,
|k 1) = G(q, )u(k),
JN () = 0
y(k,
|k 1) = a1 y(k 1) + bnb u(k L nb )
JN () =
'
pcs id.21
&
1 N
2 (k, )(k, )
N k=1
1 N
2(k) y(k) (k)T = 0
N k=1
'
pcs id.22
k=1
k=1
(k)y(k) = (k)(k)T
Nonlinear models
+ general
+ based on physical models
&
pcs id.23
&
pcs id.24
'
Linear models
+ often very effective
+ intuitive behavior (in particular for 1st & 2nd order models)
+ identification is fast process
+ many control design methods for linear models
- black-box relation with physical system?
- linear not general
&
pcs id.25