and
Today
Parameter Estimation
PeSi/0/1
Ronald Aarts
PeSi/1/2
Assessment / examination
Systems and signals
Ronald Aarts
PeSi/1/1
Example: Data from piezo mechanism of Project F, input piezo current, output
position, Ts = 33 s.
Input and output signals
900
900
y []
Ronald Aarts
http://blackboard.utwente.nl/
Software: Matlab
800
700
2100
800
700
2100
u []
BlackBoard:
Ronald Aarts
Mechanical Automation /
Werktuigbouwkundige Automatisering (Wa)
Room: Horstring Z 229
Phone: (053) 489 2557
Email: R.G.K.M.Aarts@utwente.nl
y []
Lecturer:
u []
2050
2000
0
0.2
0.4
0.6
t [s]
0.8
2050
2000
0.5
This data will be used more often during the lectures and is available for download.
Ronald Aarts
PeSi/1/3
Ronald Aarts
Physical models
PeSi/1/4
Ronald Aarts
PeSi/1/5
microscopic
First principles: conservation laws,
physical properties, parameter estimation
PDEs: -dimensional
non-linear
no general-purpose technique
macroscopic
Experimental:
planned experiments, look for relations in data,
system identification
ODEs: finite dimension
LTI
standard techniques
Ronald Aarts
PeSi/1/6
Input/output selection
Experiment design
Collection of data
Choice of the model structure (set of possible solutions)
Estimation of the parameters
Validation of the obtained model (preferably with separate
validation data).
Ronald Aarts
PeSi/1/7
Subspace identification
Identifiability of parameters
Error propagation
Experiment design
Experiment design
Ronald Aarts
PeSi/1/8
Ronald Aarts
PeSi/1/9
Software:
M ATLAB (any recent version) + identification toolbox + optimization toolbox: E.g.
available from NCS.
Course material:
Lecture notes / slides in PDF-format from BlackBoard site.
On-line M ATLAB documentation of the toolboxes (selection).
Examination (5 EC):
Exercises parallel to the lectures, usually to be handed in next week.
One exercise includes a lab experiment (during the break in March / April).
The answers will be graded and may be discussed during an oral exam.
Grades will be available on-line.
Ronald Aarts
PeSi/1/10
Grades:
Ronald Aarts
PeSi/1/11
System
T
The output y(t) for an arbitrary input signal u(t) can be found by considering
all frequencies in the input signal: Fourier transform.
Ronald Aarts
PeSi/2/1
The input signal can be considered as a sequence of impulses with some (time
dependent) amplitude u(t). The outputs due to all impulses are added:
Continuous time signals and systems: Convolution integral
Z
Ronald Aarts
l=0
g(l)u(k l)
PeSi/2/3
PeSi/2/2
=
=
=
=
u(tk1)
u(tk )
u(tk+1)
u(tk+2)
differential operator
du
su
Z dt
s1u
u dt
(k = 0, 1, 2, ...)
=
=
=
=
u(tk Ts)
u(tk )
u(tk + Ts)
u(tk + 2Ts )
g( )u(t ) d
Procedure (in principle): Transform the input into the frequency domain, multiply
with the Bode plot or FRF, transform the result back to the time domain.
Ronald Aarts
The impulse response g(t) of an LTI system can also be used to compute the
output y(t) for an arbitrary input signal u(t):
y(t) = (g u)(t) =
It specifies for each frequency the input-output relation for harmonic signals
(after the transient behaviour vanished):
The amplification equals the absolute value |G(i)|.
The Bode plot of a system G(i) is the amplitude and phase plot of the
complex function G depending on the real (angular) frequency .
Ronald Aarts
PeSi/2/4
z transform
Transfer function:
Imaginary axis:
s = i
Stability:
Poles inside the unit circle:
|z| < 1
0.5
x []
b1z 1 + b2z 2
G(z) =
1 + a1z 1 + a2z 2
n1 s + n0
G(s) =
2
d2s + d1s + d0
phase [deg]
Laplace transform
0.5
1
0
0.5
Undamped poles:
Unit circle:
z = eiTs
1
t [s]
1.5
20
40
60
Ts = 0.1 s
80
0
10
[rad/s]
10
Ronald Aarts
PeSi/2/5
Ronald Aarts
PeSi/2/6
Fourier transforms
Signal characterisation
M ATLABs identification toolbox ident works with time domain data. Even then,
the frequency domain will appear to be very important. Furthermore,
identification can also be applied in the frequency domain.
Frequency content: Fourier transform
ud(tk ) =
1
1 NX
UN (l )eil tk
N l=0
UN (l ) with l = Nl s = Nl 2
Ts , l = 0, ..., N 1 is the discrete Fourier
transform (DFT) of the signal ud(tk ) with tk = kTs, k = 0, ...N 1.
For N equal a power of 2, the Fast Fourier Transform (FFT) algorithm can be
applied.
Ronald Aarts
ud(tk )eil tk
k=0
Energy
Power
NX
1
PeSi/2/7
Ronald Aarts
PeSi/2/8
900
10
800
10
YN []
y []
700
Energy:
Eu =
10
u(t)2dt =
600
10
0
0.5
t [s]
10
10
f [Hz]
10
Power spectrum:
u() = lim
Power:
Pu = lim
T T
ZT
1
T T
1
2
u()d
|UT ()|2
u(t)2dt =
1
2
u()d
Ronald Aarts
Ronald Aarts
PeSi/2/9
Signal types
1
0
Ronald Aarts
PeSi/2/10
Energy:
1
1
0
1
1
0
20
40
60
80
ud(k)2 =
k=
u() = lim
Power:
Pu = lim
(periodogram)
Z
1
1 NX
ud(k)2 = u()d
N N
k=0
s
100
Ronald Aarts
u()d
t [s]
PeSi/2/11
1
|UN ()|2
N N
Power spectrum:
1
0
Eu =
PeSi/2/12
Convolutions
Stochastic signals
g( )u(t ) d
Realisation of a signal x(t) is not only a function of time t, but depends also on
the ensemble behaviour.
l=0
(t = 0, 1, 2, ...)
g(l)u(k l)
Examples: Mean
Power
E x(t)
E (x(t) E x(t))2
Example: u is the input and g(k), k = 0, 1, 2, ... is the impulse response of the
system, that is the response for an input signal that equals 1 for t = 0 en
equals 0 elsewhere.
Then with the expressions above y(k) is the output of the system.
White noise: e(t) is not correlated met signals e(t ) for any 6= 0.
Consequence: Re( ) = 0 for 6= 0.
Ronald Aarts
Ronald Aarts
PeSi/2/13
Rx( ) ei d
PeSi/2/14
xd () =
k=
x() ei d
Rxd (k) =
T
xd () eikT d
2
Z
?
Power:
E (x(t) E x(t))2 = Rx(0) =
1
=
2
Ronald Aarts
x() d
PeSi/2/15
Signals:
Ronald Aarts
PeSi/2/16
Estimators
Give models with many numbers, so we dont obtain models with a small
number of parameters.
This estimator is
The results are often used to check the simple mathematical relations that
are found with (subsequent) parametric identification.
Non-parametric identification is often the fist step.
Ronald Aarts
Ronald Aarts
The IDENT commands impulse & step use a different approach that is related to the
parametric identification to be discussed later.
PeSi/2/17
Correlation analyse
G0
?
PeSi/3/1
v
u
y(t)
M
X
k=0
g (k)u(t k)
(t = 0, 1, 2, ...)
Note: In an analysis the lower limit of the summation can be taken less than 0 (e.g. m) to
verify the (non-)existence of a non-causal relation between u(t) and y(t).
k=0
g0(k)u(t k) + v(t)
(t = 0, 1, 2, ...)
g0(k)z k
k=0
PeSi/3/2
k=0
Ronald Aarts
g0(k)Ru ( k)
PeSi/3/3
Wiener-Hopf: Ryu( ) =
k=0
g0(k)Ru ( k)
yu ( )
Ryu ( )
R
and
g ( ) =
2
u
u2
yu ( ) from N
How do we compute the estimator for the cross covariance R
measurements?
Sample covariance function:
N
yu
R
( ) =
Wiener-Hopf: Ryu( ) =
k=0
g0(k)Ru ( k)
N
1 X
y(t)u(t )
N t=
M
X
N
u
g (k)R
( )
k=1
Wiener-Hopf: Ryu( ) =
PeSi/3/4
k=0
Ronald Aarts
PeSi/3/5
g0(k)Ru ( k)
Finding a pre-whitening filter L(z) for uF (k) = L(z)u(k):
Ronald Aarts
PeSi/3/6
Ronald Aarts
PeSi/3/7
N
1 X
u2 (k) is
N k=1 F
2000
2500
1800
2000
1500
1600
Input and output signals
load piezo;
Ts = 33e-6;
u=piezo(:,2);
y=piezo(:,1);
piezo =
iddata(y,u,Ts);
piezod =
detrend(piezo);
plot(piezod);
150
100
y1
50
0
50
100
150
0.2
0.4
0.6
0.8
100
u1
50
50
100
0.2
0.4
0.6
0.8
1000
1400
500
1200
1000
200
100
100
200
500
50
50
0.1
2500
0.08
2000
0.06
1500
0.04
1000
0.02
500
0
0
0.02
0
50
100
150
200
500
50
100
150
200
Time
Ronald Aarts
PeSi/3/8
Ronald Aarts
PeSi/3/9
Impulse response
3
G0 (exact)
2.5
So
and
G0(q) =
q 1 + 0.5q 2
1 1.5q 1 + 0.7q 2
1 q 1 + 0.2q 2
H0(q) =
1 1.5q 1 + 0.7q 2
Simulation:
Ronald Aarts
N
T
fs
u(t)
e(t)
=
=
=
or
or
z + 0.5
G0(z) = 2
z 1.5z + 0.7
z 2 z + 0.2
H0(z) = 2
z 1.5z + 0.7
4096
1s
1 Hz
binary signal in frequency band 0..0.3fs
white noise (random signal) with variance 1
PeSi/3/10
cra with n = 10
1.5
0.5
0.5
1.5
Ronald Aarts
10
15
20
Time [s]
25
30
35
PeSi/3/11
40
Spectral analyse
N (a)
The estimator G
(b)
(c)
is unbiased.
has an asymptotic variance
1 |U ()|2 unequal 0 !
v ()/ N
N
v
u
?
G0
Difficulty: For N there is more data, but there are also estimators at more
(=N/2) frequencies, all with a finite variance.
Y ()
.
U ()
Solutions:
N (eiT ) =
Estimator for G0(eiT ) using N measurements: G
YN ()
.
UN ()
V ()
N (eiT ) = G0(eiT ) + N
Effect of v: G
.
UN ()
Ronald Aarts
PeSi/3/12
Ronald Aarts
PeSi/3/13
An example: 32768 data samples of the output signal (position) of the piezo
mechanism.
An example: 32768 data samples of the output signal (position) of the piezo
mechanism.
10
6
10
10
10
6
10
10
10
5
10
10
10
10
10
10
10
10
10
10
10
10
10
1
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
Ronald Aarts
PeSi/3/14
Ronald Aarts
PeSi/3/15
With IDENT (1): periodogram (data spectra) of input and output signals
Periodogram
slope -2
Output # 1
10
10
10
10
10
10
10
YN ()
UN ()
10
Input # 1
10
10
10
10
Frequency (Hz)
10
Ronald Aarts
10
PeSi/3/16
N (eiT ) = yu
G
in 128 (default) frequencies.
u()
Smoothing is also applied and again depends on a parameter M , that sets the
width of the Hamming window of the applied filter.
Ronald Aarts
PeSi/3/17
Not always straightforward to predict which method will perform best. Why
not try both?
Amplitude
10
u
u |
yu()|2
yu() = t
y ()
u ()
10
10
10
10
window
parameter:
0
200
Phase (deg)
v () = y ()
u()
Measure of signal
to noise ratio with the coherence spectrum
v
10
400
600
800
2
10
10
Frequency (Hz)
10
Ronald Aarts
PeSi/3/18
Ronald Aarts
PeSi/3/19
M = 15
M = 30
M = 60 *
M = 90
M = 120
10
10
10
10
So
G0(q) =
and
H0(q) =
10
window
parameter:
Phase (deg)
200
M = 15
M = 30
M = 60
M = 90 *
M = 120
400
600
800
2
10
10
Frequency (Hz)
Ronald Aarts
10
PeSi/3/20
Simulation:
q 1 + 0.5q 2
1 1.5q 1 + 0.7q 2
N
T
fs
u(t)
e(t)
=
=
=
Spectra:
Frequency response
1
Periodic input,
r periods
10
G0
10
r=1
10
10
10
0
180
360
ETFE, M = 30
SPA, M = 30
90
Filtering, Hamming
window of width w
180
270
10
10
10
Frequency (Hz)
Ronald Aarts
10
w=1
10 10
f [Hz]
10
w=2
10 10
f [Hz]
w=4
10
10
0
180
360
3
PeSi/3/22
10 10
f [Hz]
10
10
Ronald Aarts
r = 16
10
10
r=4
10
10
Phase (deg)
PeSi/3/21
Amplitude
10
z 2 z + 0.2
H0(z) = 2
z 1.5z + 0.7
or
4096
1s
1 Hz
binary signal in frequency band 0..0.3fs
white noise (random signal) with variance 1
Ronald Aarts
z + 0.5
G0(z) = 2
z 1.5z + 0.7
or
1 q 1 + 0.2q 2
1 1.5q 1 + 0.7q 2
Amplitude
10
10 10
f [Hz]
PeSi/3/23
10
10 10
f [Hz]
10
10 10
f [Hz]
Regression:
Prediction of variable y on the basis of information provided by other
measured variables 1, ..., d.
In the spectral models: Are there features e.g. like peaks as are are
expected in the Bode plots / FRF (eigenfrequency, ...) of a system with a
complex pole pair.
Collect = .. .
d
Problem: find function of the regressors g() that minimises the difference
y g() in some sense.
So y
= g() should be a good prediction of y.
Example in a stochastic framework: minimise E[y g()]2.
Ronald Aarts
PeSi/3/24
Ronald Aarts
PeSi/4/1
Ronald Aarts
PeSi/4/2
Linear fit y = ax + b.
"
"
x
1
a
. So: g() =
b
10
5
0
0
x 1
5
x []
a
.
b
15
10
5
0
5
x2
c2
h
i c2
Ronald Aarts
PeSi/4/3
10
"
y []
= .. .
d
y []
Linear regression:
10
t = 1, ..., N .
N
1 X
[y(t) g((t))]2 .
N t=1
N
1 X
[y(t) T (t)]2.
N t=1
Ronald Aarts
PeSi/4/4
A global minimum is found for N that satisfies a set of linear equations, the
normal equations
N
1 X
N t=1
(t)T (t) N =
N
1 X
N t=1
(t)y(t).
N =
Ronald Aarts
N
1 X
(t)T (t)
N t=1
is a quadratic function of .
N
1 X
[y(t) T (t)]2
N t=1
VN ()
have to be
Ronald Aarts
PeSi/4/5
N
1 X
(t)y(t).
N t=1
PeSi/4/6
Normal equations: T
N N N = N YN .
Estimate N = N YN
(Moore-Penrose) pseudoinverse of N : N = T
N N
Note: N N = I.
Ronald Aarts
PeSi/4/7
y(1)
..
,
y(N )
T (1)
..
.
T
(N )
i1
T
N.
1) Manual solution:
% Preferred
Parameter estimate:
Ronald Aarts
PeSi/4/8
1 ||Y ||2.
Cost function (in vector form) VN = N
N
N 2
i1
Ronald Aarts
#1 " P
#
" P
P
xi y i
xi
x2
i
P
P
= P
yi
xi
1
PeSi/4/9
that filters a given signal u(t) with uF (k) = L(z)u(k), such that
VN =
N
1 X
u2 (k) is minimised.
N k=1 F
1) Manual solution:
T
N YN .
#
"
x(1) 1
y(1)
a
.
.
.
.
.
. and =
2) Matrix solution: YN =
.
, N =
b
x(N ) 1
y(N )
1 P(y ax b)2 .
Cost function VN = N
i
i
Estimate N = N YN = T
N N
"
VN
VN
= 0 and
= 0, so
a
b
Ronald Aarts
P
#
#
" P
# "
" P
P
xi(yi axi b) = 0
xi y i
a
x2
i P xi
P
P
=
yi
b
xi
1
(yi axi b) = 0
In Matlab:
x = A\b;
x = pinv(A)*b;
x = inv(A*A)*A*b;
1
Cost function VN = N
VN
= 0 for all i = 1, 2, ..., n.
ai
PeSi/4/10
Ronald Aarts
PeSi/4/11
N
1 X
u2 (k)
N k=1 F
VN
1) Partial derivatives
can be computed, etc.
ai
2) Vector form
Cost function VN =
u(n + 1)+ a u(n) + a u(n 1) +...+ anu(1)
1
2
1
u(n + 2)+ a1u(n + 1) + a2 u(n) +...+ anu(2)
VN =
..
N
n(N ) +a1u(N 1)+a2u(N 2)+...+anu(N n)
2
2
Estimate N = T
N N
Ronald Aarts
Ronald Aarts
PeSi/4/12
T
N N N = N YN
with pseudo-inverse N = T
N N
i1
Ronald Aarts
PeSi/4/14
i1
T
N YN
or PHIN\YN.
PeSi/4/13
y(3)
a1
..
Matrix solution: Collect = b1 , YN =
and
y(N )
b2
y(2)
u(2)
u(1)
..
..
..
N =
.
y(N 1) u(N 1) u(N 2)
1 e
u + A(z)
Example 3: An ARX fit yk = B(z)
k
A(z) k
T
N.
Ronald Aarts
PeSi/4/15
= U V T
or
1 ..
d
V
Condition number of matrix is the ratio of the largest and smallest singular
values 1/d.
If
all ii > 0 (i = 1, 2, ..., d), then the condition number is finite
h
T is invertible. Matrix has full (column) rank.
U is an orthogonal N N matrix.
V is an orthogonal d d matrix.
Ronald Aarts
PeSi/4/16
Ronald Aarts
PeSi/4/17
x2(1) x(1) 1
..
..
..
Regression matrix N =
depends only on x(i).
x2(N ) x(N ) 1
40
c0
x(1)
..
Regression matrices N =
x(N )
20
5
x []
10
10
5
10
x []
0
0
20
5
x []
10
Ronald Aarts
1
x(1) 10x(1) 1
..
..
..
..
and
N
1
x(N ) 10x(N ) 1
15
c0
y []
HH
HH
15
10
5
0
5
y []
y []
PeSi/4/19
= U V T
or
U1
U2
2
V1
= U11V1T
T
V2
Ronald Aarts
PeSi/4/20
x(1) 10x(1) 1
..
..
..
Regression matrix N =
x(N ) 10x(N ) 1
y []
15
10
5
0
10
U1
V1T
with
1
1 = diag(1/1 , 1/2 , ..., 1/r ).
N = V11U1T YN
PeSi/4/21
5
x []
or
Ronald Aarts
[u,s,v]=svd(phi);
r=1:2; % rank
u1=u(:,r); s1=s(r,r); v1=v(:,r);
% Compute pinv(phi)*y:
v1*diag(1./diag(s1))*u1 * y =
[ 1.68; -0.29; 0.14 ]
v2=v(:,3) = [ 0.099; 0.099; -0.99 ]
PeSi/4/22
Ronald Aarts
PeSi/4/23
Observations:
G(z) =
g(k) =
g(k)z
k=0
CAk1B
Ronald Aarts
g(1)
g(2)
g(3)
g(2)
g(3)
g(4)
g(3)
g(4)
g(5)
..
..
..
g(nr ) g(nr + 1) g(nr + 2)
Hnr ,nc =
G(z) = D + C(zI A)
k1
k=0
PeSi/5/1
C
CA
..
n
CA r 1
g(nc)
g(nc + 1)
g(nc + 2)
..
g(nr + nc 1)
h
i
B AB Anc1B
Ronald Aarts
PeSi/5/2
1/2
1/2
H = UnnVnT
1/2
Note that zero singular values are removed in the singular value decomposition.
Ronald Aarts
PeSi/5/3
1/2
A is n
1/2
using the shifted Hankel matrix
UnT H Vnn
H nr ,nc =
Ronald Aarts
g(2)
g(3)
g(4)
g(3)
g(4)
g(5)
g(4)
g(5)
g(6)
..
..
..
g(nr + 1) g(nr + 2) g(nr + 3)
PeSi/5/4
g(nc + 1)
g(nc + 2)
g(nc + 3)
..
g(nr + nc)
What if there is noise and g(k) is only a finite series for k = 0, 1, ..., N ?
Example: The estimated impulse response (CRA) of the simulated data from
z + 0.5
G0(z) = 2
z 1.5z + 0.7
8
Apply SVD (H = U V T ) and find out how many n singular values are
significantly nonzero.
the shifted Hankel matrix H with the original series g(k) is used.
SVDs:
7.410
3.602
0.033
0.033
0.023
0.023
0.016
0.015
0.009
Ronald Aarts
PeSi/5/5
Ronald Aarts
Conclusion:
order n = 2.
PeSi/5/6
"
h
0.829 0.379
0.379
0.673
1.3915 0.9681
B=
"
D=
1.392
0.968
0
0.999z + 0.496
No explicit model equations needed (specify only the order n, very well
suited for MIMO).
but is well suited as an initial guess to obtain better PE-models (these will
be discussed afterwards and may need non-linear iterative optimisation
algorithms).
0.8
0.6
G0
0.4
0.2
0.2
0.4
0.6
0.8
Ronald Aarts
0.5
0.5
PeSi/5/7
Ronald Aarts
PeSi/5/8
xk+1 = A xk + B uk + K ek
yk = C xk + D uk + ek
Solution approach:
Ronald Aarts
This overview is rather black box alike. So-called PEM models will be discussed in much more
detail later.
PeSi/5/9
Ronald Aarts
PeSi/5/10
z + 0.5
G0(z) = 2
z 1.5z + 0.7
Order estimation:
Pole-zero-plot:
10
Order estimation:
Pole-zero-plot:
2.5
2
1.5
0.8
2
0.6
0.5
0.4
0.2
0
0
0.5
1
1.5
0.2
-1
5
0.4
2.5
-2
0.6
0.8
-3
-4
0.5
n4s2.
G0 and G
-5
0
Ronald Aarts
8
Model order
10
12
14
0.5
8
Model order
10
12
16
PeSi/5/11
Ronald Aarts
14
16
n4s4 and G
n4s5.
G
n4s4 are quite
The poles of G
unlikely as the main resonance
peak is overlooked.
PeSi/5/12
Frequency response
Spectral analysis:
Amplitude
10
10
A model with the essential dynamics of a system with a finite (and limited)
number of parameters is wanted for
10
10
10
10
Phase (deg)
180
360
540
720
900
2
10
Controller design.
10
Frequency (Hz)
10
...
n4s4 and G
n4s5 compared with a non-parametric ETFE100-model.
G
Poles (using M ATLABs pole and damp commands after exporting the model from idents
GUI to the workspace and transforming into a tf model):
Ronald Aarts
Ronald Aarts
PeSi/5/13
H0
PeSi/6/1
+
-
G0
v
?
measurement noise,
process disturbances,
k=1
h(k)e(t k).
As H(z) has a stable inverse, also Et1 is known, and then also
m(t 1) = [1 H 1(z)]v(t).
The expectation for v(t) is:
Ronald Aarts
Ronald Aarts
PeSi/6/2
PeSi/6/3
Situation II: u 6= 0, so y(t) = G(z)u(t) + v(t) and Ut1 and Yt1 are known.
Then Vt1 is also known.
So E{y(t)|Ut1, Yt1} = G(z)u(t) + E{v(t)|Vt1},
Model structures
and y
(t|t 1) = G(z)u(t) + [1 H 1(z)]v(t).
y
(t|t 1) = H 1(z)G(z)u(t) + [1 H 1(z)]y(t),
the predictor
and the prediction error
Predictor models: Tuning of the transfer functions G(z) and H(z). When they
both are exactly equal to the real G0(z) and H0(z), the prediction error (t)
is a white noise signal.
In practice: tune the estimates to minimise the error (t) with a least squares
fit.
Ronald Aarts
PeSi/6/4
Coefficients of series
impulse response models
Coefficients in state space matrices
subspace identification
Coefficients in fractions of polynomials PE methods
Ronald Aarts
PeSi/6/5
Model structures
equation
G(z, )
H(z, )
ARX
B(z 1,)
A(z 1,)
1
A(z 1,)
ARMAX
B(z 1,)
A(z 1,)
C(z 1,)
A(z 1,)
1 ,)
1
y(t) = B(z
u(t) + A(z 1
e(t)
A(z 1,)
,)
OE
1)
y(t) = B(z
u(t) + e(t)
F (z 1)
B(z 1,)
F (z 1,)
FIR
B(z 1, )
BJ
1)
C(z 1 )
u(t) + D(z
y(t) = B(z
1 ) e(t)
F (z 1)
B(z 1,)
F (z 1,)
C(z 1,)
D(z 1,)
Name
(AutoRegressive eXogenous)
Ronald Aarts
PeSi/6/6
Ronald Aarts
PeSi/6/7
Identification criterium
Properties of the model structures
Ronald Aarts
PeSi/6/8
Ronald Aarts
PeSi/6/9
1
1
2
C(z
PeSi/6/10
N
P
1
or a filtered error: VN = N
(L(z)(t, ))2.
t=1
Instrumental variable (IV) techniques: try to obtain an uncorrelated signal (t, ).
Note: The IV-method combined with an ARX model set can also provide a
consistent estimator for G0 even when the noise model is not in the chosen
model set.
Ronald Aarts
N
P
1
VN = N
(t, )2
t=1
Ronald Aarts
N
T
fs
u(t)
e(t)
=
=
=
) = 1.0 1.0z
+ 0.2z
4096
1s
1 Hz
binary signal in frequency band 0..0.3fs
white noise (random signal) with variance 1
PeSi/6/11
Parametric models:
G0, H0
armax2221 na = 2, nb
arx221
na = 2, nb
oe221
nb = 2, nf
arx871
na = 8, nb
= 2, nc = 2, nk = 1
= 2, nk = 1
= 2, nk = 1
= 7, nk = 1
Spectral analysis:
Parametric models:
G0, H0
armax2221 na = 2, nb
arx221
na = 2, nb
oe221
nb = 2, nf
arx871
na = 8, nb
model
G0 and H0 M.
only G0 M.
H = 1.
High order guess.
Pole-zero-plot:
Frequency response
= 2, nc = 2, nk = 1
= 2, nk = 1
= 2, nk = 1
= 7, nk = 1
Step response:
Step Response
Power Spectrum
10
10
model
G0 and H0 M.
only G0 M.
H = 1.
High order guess .
1
1
10
Amplitude
0.8
10
0.6
10
0.4
10
6
2
10
10
0.2
10
5
0
0
4
0.2
Phase (deg)
10
90
0.4
2
0.6
180
1
0.8
270
2
10
10
10
10
Frequency (rad/s)
Ronald Aarts
0.5
0.5
PeSi/6/12
10
10
10
10
15
Frequency (rad/s)
Ronald Aarts
20
Time
25
30
35
40
PeSi/6/13
Approximate modelling:
What happens if the model set does not fit?
Asymptotic variance
For system that fit in the model set, it can be proven for n , N and
n/N 0 (n N ) that
Power spectrum: (, ) =
N (ei ))
var(G
n v ()
,
N u()
N (ei ))
var(H
n v ()
n
= |H0(ei )|2.
N e2
N
v () = e2|H0(ei )|2.
N
P
1
(t, )2.
Cost function: VN = N
t=1
() = E(t,
Limit for N : VN V
)2.
1
(, ) d
2
shows the limit to which the estimator N converges.
() =
With Parseval: V
Ronald Aarts
PeSi/6/14
Ronald Aarts
PeSi/6/15
Minimising
y(t) = G0(z)u(t), with white noise input (u() 1) and 4th order G0
Two mechanisms:
G0(z) =
Minimising
Approximate models:
Ronald Aarts
PeSi/6/16
Ronald Aarts
Amplitude Bode-plot of G0, 2nd order OE (oe221) and 2nd order ARX
(arx221) (left).
b1 z 1 + b2 z 2
u(t) + e(t)
1 + f1 z 1 + f2 z 2
PeSi/6/17
10
0
10
With Parseval we obtain the limit to which the estimator N converges now
by minimising
10
|A|
10
10
10
10
10
10
10
10
10
frequency (rad/s)
10
10
frequency (rad/s)
Background: In the ARX estimation there is an extra filtering with the (a priori
unknown) function (right):
1
|H(ei , )|2
Ronald Aarts
= |A(ei , )|2
1
u()
d
|G0(ei ) G(ei , )|2
2
|H(ei )|2
Z
Mechanism:
Find the least squares estimate G(ei , ) of G0(ei ) by applying a frequency
domain weighting function u()/|H(ei )|2.
Example: For the OE-model H(z) = 1.
PeSi/6/18
Ronald Aarts
PeSi/6/19
N
N
1 X
1 X
F (t, )2 =
(L(z) (t, ))2.
N t=1
N t=1
F () = E
F (t, )2.
Limit for N : VN V
Frequency response
Ronald Aarts
PeSi/6/20
Amplitude
F () =
V
10
G0
OE, L(z) = 1
ARX, L(z) = 1
10
10
10
10
Frequency (rad/s)
PeSi/6/21
Remarks:
Both the 2nd order OE model without prefilter and the 2nd order ARX
model with prefilter L2(z) give a good model estimate at low frequencies.
For the obtained ARX-model the Bode amplitude plots of the prefilter
|L2(ei )| (dashed) and the ultimate weighting function |L2(ei )A(ei )|
(solid) are:
Frequency response
10
Amplitude
10
10
10
10
10
10
10
10
Frequency (rad/s)
10
Note that ARX models (with and without a prefilter) can be computed
uniquely and quick from a linear optimisation problem, whereas the
identification of OE models involves an iterative algorithm for a nonlinear
optimisation.
Ronald Aarts
PeSi/6/22
Ronald Aarts
1
2
PeSi/6/23
|L(ei )|2
d
|H(ei , )|2
G0(z) =
Impulse responses of: G0, arx120, arx230, arx340, oe210 and oe320:
Impulse Response
Impulse Response
0.06
0.08
0.05
0.07
0.06
0.04
a stable G(z, ),
0.05
0.03
0.04
an exact result for the first nb samples of the impulse response g0(k),
k = 0, ..., nb 1.
0.02
0.03
0.02
0.01
0.01
0.01
0.01
0.02
2
Time
0.02
10
20
30
40
50
Time
60
70
80
90
100
PeSi/6/24
Ronald Aarts
PeSi/6/25
Ronald Aarts
PeSi/6/26
For a small bias a large model set is necessary (high order, flexible
model structure).
Ronald Aarts
PeSi/6/27
A priori considerations
Analysis of the data
A posteriori comparison of the models
Validation of the models
Ronald Aarts
PeSi/6/28
A priori considerations
Physical insight regarding the (minimal) order of the model.
Physical insight regarding the nature of the noise disturbance.
Relation between the number of data points N and the number of parameters
to be estimated N : General:
N N
Rule of thumb: N > 10N
Note that the required number of points depends strongly on the signal to noise
ratio.
Ronald Aarts
PeSi/6/29
For a chose model structure, compare the obtained results for the criterium
VN (N , Z N ) as a function of the parameters sets N of different model orders.
0.012
0.012
0.0115
0.0115
0.011
0.011
loss function
N
P
(n) = 1
n(t)T
R
n (t)
N
t=1
with n (t) = [y(t 1) ... y(t n) u(t) ... u(t n)]T .
(n) becomes singular when the order n is taken
For noiseless data matrix R
loss function
0.0105
0.0105
0.01
0.01
0.0095
0.0095
10
0.009
15
# of parameters
Ronald Aarts
PeSi/6/30
Ronald Aarts
10
# of parameters
PeSi/6/31
15
0.012
0.012
0.0115
0.0115
0.011
0.011
loss function
loss function
0.0105
0.01
0.0095
0.0095
0.009
0.009
10
15
0.0105
0.01
For ARX models automatic (and reliable) selection criteria exist (considering
N (N , Z N )) (ident manual page 3-70 ff, 4-183 ff):
EV
# of parameters
10
FPE = 1n/N V
Rissanens minimum description length (MDL)
MDL = (1 + log N n/N ) V
15
# of parameters
Ronald Aarts
PeSi/6/32
Ronald Aarts
PeSi/6/33
1.8
1.8
1.6
1.6
1.4
1.2
0.8
0.6
0.4
G0(z) =
1.4
Bode:
Frequency response
1.2
10
0.8
Amplitude
0.8
0.6
10
0.6
2
10
0.4
0.4
3
10
0.2
0.2
2
10
0.2
10
0
0
10
15
# of pars
20
25
30
10
15
# of pars
20
25
30
0.2
Phase (deg)
90
0.4
180
0.6
270
360
450
0.8
2
10
10
Frequency (Hz)
Ronald Aarts
PeSi/6/34
Ronald Aarts
PeSi/6/35
0.5
0.5
Suggestion: filter with a low-pass filter in the frequency range 0...3788 Hz and
resample with a factor 4.
Frequency response
Amplitude
10
Bode:
Pole/zero:
Poles (x) and Zeros (o)
Frequency response
10
10
0.8
0.6
10
10
10
Amplitude
10
4
10
10
0.4
10
0
0.2
10
10
10
400
0
600
0.2
100
800
2
10
10
Frequency (Hz)
10
Phase (deg)
Phase (deg)
200
200
0.4
300
400
0.6
500
0.8
600
700
2
10
10
0.5
0.5
Ronald Aarts
Ronald Aarts
PeSi/6/36
Frequency (Hz)
PeSi/6/38
PeSi/6/37
(Test for G)
Large confidence intervals for one or more parameters may indicate too
high model order (or too few data).
Ronald Aarts
Ronald Aarts
PeSi/6/39
Method 1: Autocovariance RN ( ) =
1 NX
(t + )(t) for 0.
N t=1
arx432
oe342
arx222
System model
OK
OK
not OK
Noise model
OK
not OK
not OK
with N the confidence level for the confidence interval with probability (E.g.
N95% = 1.96, N99% 3).
0.1
0.1
N
Method 2: Cross-covariance Ru
( ) =
1 NX
N t=1
0.2
20
(t + )u(t) for 0.
10
15
20
10
15
20
0.05
0.05
N
N (k)R
u
R
(k)
0.1
20
k=
Ronald Aarts
10
0.1
N ( ) N
Requirement Ru
P/ N
with estimator for P : PN =
15
PeSi/6/40
15
Ronald Aarts
10
0
Samples
PeSi/6/41
the experimental conditions like the number of data samples N , de sample time Ts, the input spectrum u(), etc.
a prefilter L(q)
Ronald Aarts
PeSi/7/1
F () =
V
1
|L(ei )|2
d
{|G0(ei ) G(ei , )|2 u() + v ()}
2
|H(ei , )|2
Z
Minimisation of
The limit depends on the model set, the prefilter L(q) and the input
spectrum u().
Ronald Aarts
PeSi/7/2
Experiment design
Fitting of G0(ei ): How can we get a fit in terms of the usual Bode plots?
The vertical axis of the Bode amplitude plot shows log |G|, which is
approximated better with a small relative error. We are minimising
Z
1 G0(ei ) G(ei , ) 2
|
| |G0(ei )|2Q(, ) d, so Q(, )
2
G0(ei )
should be large when G0(ei ) becomes small.
The horizontal axis shows log , which means that high frequencies
dominate. This can be compensated by looking at
|G0(ei )|2 Q(, ) d = |G0(ei )|2 Q(, ) d(log ). So the fit at
low frequencies improves if |G0(ei )|2 Q(, ) is larger than in that
frequency region.
The factor Q can be manipulated by modification of the design variables: input
spectrum u(), noise model set {H(ei , )}, prefilter L(q).
Ronald Aarts
PeSi/7/3
Non-parametric identification (correlation and frequency analysis) with harmonic or broadband input signal:
- Relevant frequencies
- Duration of the experiment
- Sample frequency
- Selection input signal
Ronald Aarts
PeSi/7/4
Clock
x1
State 2
?
A
A
A
?
a1
State 1
x2
?
A
A
A
?
a2
xn1
-
State n
?
A
A
A
?
an1
xn=s
-
?
A
A
A
?
an
Ronald Aarts
PeSi/7/5
Ronald Aarts
PeSi/7/6
Maximum length PRBS: The period of the PRBS is as large as possible and
equals M = 2n 1 if the coefficients are chosen correctly, for example:
n ai = 1 n ai = 1 n
ai = 1
n
ai = 1
3
1,3
7
1,7
11
9,11
15
14,15
4
1,4
8 1,2,7,8 12 6,8,11,12 16 4,13,15,16
5
2,5
9
4,9
13 9,10,12,13 17
14,17
6
1,6
10
3,10
14 4,8,13,14 18
11,18
The binary signal s(t) can be transformed into a signal u(t) with amplitude
c and mean m with u(t) = m + c(1 + 2 s(t)):
Ronald Aarts
Ronald Aarts
E
E
E
E
E
E
E
E
E
E
PRBS, Nc = 2
6
-
Two classes:
c
The actual clock period can also be taken
equal to a multiple of the sample
frequency:
uNc (t) = u(ent(t/Nc)).
The signal is stretched.
The spectrum is no longer flat and even
has some frequencies with u() = 0.
u()/2
1.6
1.5
1.4
Nc = 10
1.2
0.8
Nc = 5
0.6
Nc = 3
0.4
0.5
Nc = 1
0.2
0.5
1.5
2.5
3.5
PeSi/7/9
PeSi/7/8
PRBS, Nc = 1
Ronald Aarts
= 1, ..., M 1
PeSi/7/7
The power spectrum can be modified by filtering of the signal with a (linear)
filter, but then the binary character is no longer guaranteed.
Eu(t)
= m+M
c (1 + 1 )
Ru( ) = M
M
Ronald Aarts
PeSi/7/10
0.5
1.5
2.5
3.5
Compute
u(t) =
r
X
k sin(k t + k )
k=1
Ronald Aarts
PeSi/7/11
Lower limit TN > 510 times the largest relevant time constant.
Ronald Aarts
PeSi/7/12
The advice for parametric identification & application of the model is:
Numerical aspects define an upper limit for s:
A continuous system with state space matrix Ac and ZOH discretisation has a
discrete state space matrix Ad = eAcTs .
For Ts 0 it appears that Ad I: all poles cluster near z = 1.
The physical length of the range of the difference equation becomes smaller.
PE-methods also emphasise high frequencies if Ts is too small:
The prediction horizon (one step ahead) becomes small.
For smaller Ts / Zlarger s also higher frequencies are included in the
minimisation of
Rule of thumb for the upper limit for a first order system : s 30b .
Combined (for a first order system): 10b s 30b.
Strategy:
Data acquisition and preliminary experiments at a high s.
In e.g. an ARX model it is very likely that the weighting of (too) high frequencies
is too large (Q(, ) = u () |A(ei , |2).
Ronald Aarts
PeSi/7/13
Ronald Aarts
PeSi/7/14
"
PeSi/7/15
m1
J1
1
l1
l2
m3
"
T1
T2
Ronald Aarts
m 2 J2
Ronald Aarts
PeSi/8/1
Parameter-linear form
Parameters:
Link lengths (l1 and l2) are known.
Gravity g is known
Masses and inertias (m1, J1, m2, J2 and m3) are to be estimated.
Measurements of the torques (T1 and T2).
Angles known as function of time (1(t) and 2(t)).
=
with M
with
measurements vector = [T1, T2]T ,
parameter vector p including m1, J1, m2, J2 and m3,
regression matrix (q , q ,
q ) depending only on known kinematic quantities
with q = [1, 2]T .
Ronald Aarts
PeSi/8/2
T1
T2
= (q , q ,
q )p
"
"
T1
T2
= (q , q ,
q)
m1
J1
m2
J2
m3
???
Ronald Aarts
PeSi/8/3
#
=
=
=
=
21
22
23
24
=
=
=
=
1 +
2
2
1
l1g sin 1 + l1
1 +
2) cos 2 ( 2 + 2 1 2) sin 2)
l1l2((2
2
2
1 + l2(
0
2
l1l2( 2
1 sin 2 + 1 cos 2) l2 g sin(1 + 2) + l2 (1 + 2)
So matrix indeed depends only on known quantities and not on any of the
parameters in p: A parameter linear form can be obtained:
Experimental approach
Measure the torques i = [T1, T2]T at N time instances ti (i = 1..N ) with
known angles, velocities and accelerations q i = [1, 2]T , q i = [ 1, 2]T and
1,
2]T .
q i = [
Collect b =
1
2
..
N
and A =
1
2
..
N
in
b = Ap.
= p.
Ronald Aarts
PeSi/8/4
Ronald Aarts
PeSi/8/5
Ronald Aarts
PeSi/8/6
An upper bound for the relative error of the estimated parameter vector is
||p pLS ||
||en||
cond(A)
,
||p||
||b||
where en is the measurement noise and the condition number is
cond(A) =
max(A)
,
min (A)
with the largest and smallest singular values max(A) and min(A),
respectively.
The input angles, velocities and accelerations q , q ,
q can be optimised to
minimise the condition number.
Ronald Aarts
PeSi/8/7
Ni
X
i(t) =
Ni
X
Ni
X
l=1
i(t) =
l=1
l=1
For each i there are 2 Ni + 1 parameters (ail, bil for i = 1..Ni and i(0))
that can be optimised for optimal excitation while e.g. motion constraints are
satisfied, e.g. with the M ATLAB command fmincon.
The fundamental pulsation of the Fourier series f should match the total
measurement time.
Ronald Aarts
Ronald Aarts
PeSi/8/8
Identifiability
PeSi/8/9
Identifiability (2)
m 2 J2
Column rank deficiency of matrix A is not always easy to see beforehand as a
linear dependency of parameters can be hidden well.
Consider e.g. a horizontal pendulum, so with no gravity. Then with parameter
vector p = [J1, J2, m2, m3]T the elements of can be written as
11
12
13
14
=
=
=
=
21
22
23
24
=
=
=
=
Ronald Aarts
2
1 +
2
l1 1
1 +
2) cos 2 ( 2 + 2 1 2) sin 2)
l1l2((2
2
2
2
1 + l (
+ l1
2 1 + 2)
0
1 +
2
0
2
l1l2( 2
1 sin 2 + 1 cos 2) + l2 (1 + 2)
PeSi/8/10
13
23
2
= l1
"
11
21
m1
J1
1
l1
l2
Ronald Aarts
PeSi/8/11
m3
Measurement errors
Suppose parameter set p is obtained for measurement set and parameter
set p + p is obtained for measurement set + .
How are p and related?
For cost function VN (p, ) and the estimated parameters sets:
VN
VN
(p , ) = 0 and
(p + p, + ) = 0
p
p
1
VN
T (p, ) = (p, )T S(p, ) with
(p,
)
=
p
p 2
(p, )
.
sensitivity matrix S(p, ) =
p
First derivative:
Second derivative:
S(p, )
2VN
= (p, )T
+ S(p, )T S(p, )
2
p
p
so
p =
"
#1
2VN
(p , )
p2
2VN
(p , )
p
Ronald Aarts
PeSi/8/12
Ronald Aarts
PeSi/8/13
f (i) = V ((i))
h
(i+1)
(i)
(i)
(i)
(i)
N
= N N S(N )T S(N ) + I
V ((i))
Ronald Aarts
PeSi/8/14
Ronald Aarts
PeSi/8/15
1
(i)
(i)
S(N )T (N )
Outline:
Parameter identification: More complex model.
Joint 3
Link 3
Link 2
Hinge 3
Beam 3
Slider truss
Hinge 4
Joint 4
Link 4
Beam 4
Beam 2
Joint 2
Hinge 5
Joint 5
Joint 6
Link 1
Hinge 2
Link 5
Beam 5
Beam 1
Link 6
Hinge 6
Hinge 1
Joint 1
Beam 6
Base
y
Figure 1. Staubli RX90B six-axis industrial robot.
Courtesy of
Figure 2.
Ronald Aarts
PeSi/8/16
Ronald Aarts
M
q + DF (x)T M (D2F (x)q )q f + DF (e,c)T (c) = T ,
i
Ronald Aarts
PeSi/8/17
m(k) , J(k) Rq ny
q
(3)
(k)
Rp ny s
Rq nx
Rq nz
p
y
Rp nz
Rp nx
x
(4)
PeSi/8/18
Ronald Aarts
PeSi/8/19
i5
ij
(m)
nj
Jj
k5
(f )
Tj
Tj
(m)
kj
q5
T5
n56
qj
(m)
T (m) = kj ij .
n5
i6
(f )
T6
q6
(m)
k6
(f )
T5
T6
6
J6 n6
(b) Joints 5 and 6.
(a) Joints 1 to 4.
Figure 3.
T (f ) /T (max)
T (m) TT J (m)T
q T (f ) = T ,
(6)
Stribeck
(v,0)
+ Tj
qj
viscous
0.04
0.30
0.20
0.10
0.00
0.03
Dashed (- - -):
estimated in the full
velocity range.
0.01
0.00
0.00
0.05
0.10
0.15
0.20
PeSi/8/20
Ronald Aarts
PeSi/8/21
Coulomb
(a)
(s) j
(s,0) qj /qj
+ Tj
e
0.40
(f )
(a,0) qj /qj
Tj
= Tj
e
(C,0)
Tj
(f )
All friction losses are combined into a single term Tj .
Ronald Aarts
(f )
Tj
=
T (f ) /T (max)
J5
(a)
(v)
(s) j
(f )
(a,0) qj /qj
(v,0) (1j )
Tj
= Tj
e
+ Tj
qj
.
(v)
(v,0) (1j )
+ Tj
qj
.
0.40
(7)
0.04
(7)
T (f ) /T (max)
T (f ) /T (max)
(s)
0.30
0.20
0.10
0.00
0.03
0.02
0.01
(v,0)
0.00
0.00
0.05
0.10
0.15
0.20
(a)
and
(v)
the viscous friction power j .
(v,0)
This friction model gives an accurate fit in the full velocity range with a minimal
parameter set and physically sound model structure (Rob Waiboer, 2005).
Parameters Tj
and Tj
depend strongly on temperature and have to
be identified again in each experiment.
Fortunately, these parameters appear linearly in the model!
Ronald Aarts
Ronald Aarts
PeSi/8/22
PeSi/8/23
(
q , q , q )p = T (m)
The motor inertias J (m) are included in the new reduced mass matrix M
(m)
The joint driving torques T
are computed from the measured motor
currents.
This acceleration linear form is well suited for simulations.
(m)
The parameter linear form is well suited for a linear least squares fit of the
model parameters p:
p(l): 60 parameters of the lumped inertia parameters of the six links.
p(s): 2 parameters of the spring (pre-stress (c,0) and stiffness ks ).
p(m) : 6 parameters with the motor inertias.
Ronald Aarts
(9)
PeSi/8/24
Ronald Aarts
PeSi/8/25
Move the robot along a trajectory for the joint angles q (t).
Record the joint driving torques T (m) (t) at n time instances.
Ap = b + .
The least-squares solution
1(
q 1, q 1, q 1)
..
A=
n(
q n, q n, q n)
T 1(m)
..
and b =
(m)
Tn
(15)
Ronald Aarts
PeSi/8/26
(14)
(16)
p = Ab = (AT A)1AT b,
(19)
Ronald Aarts
PeSi/8/27
rank(A) = r < m,
(20)
105
A = U V T ,
(21)
"
S
0
105
1010
1015
1020
10
20
(22)
30
40
50 55 60
70
82
Ronald Aarts
PeSi/8/28
Ronald Aarts
PeSi/8/29
S=
"
S1 0
0 S2
g = U T b,
,
and accordingly
U=
U1 U2
and V =
V1 V2
(24)
Transform and partition parameter vector p with the right singular matrix V :
p = V 1(E) + V 2(N )
(25)
Ronald Aarts
(30)
(23)
PeSi/8/30
= arg min ||
"
S
0
g ||22,
(31)
g
= i , for i = 1, 2, ...r.
i
(32)
p = V 1
(E) + V 2
(N )
(34)
as
(N ) can take any value.
Ronald Aarts
PeSi/8/31
6n
X
1
i
6n r i=1
(38)
In other words: Take only r singular values into account where r is smaller
than the rank of the regression matrix A.
This is the truncated or partial SVD method.
s2
.
i2
To avoid degradation of the parameter accuracy: Do not take into account too
small singular values.
(39)
Ronald Aarts
PeSi/8/32
Ronald Aarts
PeSi/8/33
Intermezzo: Scaling
Parameter identification (8): Residual error
Consider the residual error as a function of the number of essential parameter
r.
10.0
kk22
5.0
2.0
1.5
1.0
1
10
20
30
40
50
55
Ronald Aarts
PeSi/8/34
Ronald Aarts
PeSi/8/35
Simulation results
Measured and simulated joint torques (22 essential parameters).
102
1
(a) Joint 1.
(b) Joint 3.
102
(c) Joint 6.
0.10
0.4
0.15
0.08
0.3
10
106
108
1
10
20
30
40
50
55
0.2
0.1
0
0.1
0.2
0.06
0.10
104
0.04
0.02
0
0.02
0.04
0.06
0.05
0.05
0.10
0.3
0.08
0.4
0.10
0
0.15
0
time [s]
time [s]
time [s]
Figure 8.
The simulated and measured joint torques along the trajectory as a function of time. The simulation has been carried out with model M1 .
With:
the value of the smallest singular value is computed: The dashed line (- - -).
Remaining residual error appears to be mainly unmodelled high-frequent
dynamics.
Ronald Aarts
PeSi/8/36
Ronald Aarts
PeSi/8/37
e
r_1
y(t) and furthermore system input u(t) and/or feedforward r1(t) and/or
tracking reference r2(t).
Ronald Aarts
PeSi/9/1
r_2
2
Notations:
y
Noise
G_0
Controller
System
S0(q) = (I + C(q)G0(q))1
Ronald Aarts
PeSi/9/2
H_0
y
e
3
e
r_1
r_2
2
r_1
r_2
2
H_0
Noise
u
C
G_0
Controller
System
When is it possible
(a)
(b)
(c)
(d)
(e)
(h)
Noise
H_0
y
u
C
G_0
Controller
System
For most solution methods it is required that system G0 (and its model) have at
least one delay.
Ronald Aarts
PeSi/9/3
Ronald Aarts
r_1
Noise
H_0
y
u
C
G_0
Controller
System
Suppose that accurate estimators for u() and yu() exist (N ), then
an estimator for G0 is given by:
i ) =
G(e
Ronald Aarts
PeSi/9/5
yu ()
G (ei )r1 () z ()/C(ei )
= 0
u()
r1 () + z ()
1 z(t)]
Then: y(t) = S0(q) [G0(q)r1(t) + C(q)
u(t) = S0(q) [r1(t) z(t)]
So:
PeSi/9/4
i ) =
G(e
1
C(ei )
Ronald Aarts
PeSi/9/6
Overview techniques:
Dual Youla
Coprime factorisation
Two-steps
Tailor-made
Joint input/output
Indirect
Direct
IV
H)
Consistency (G,
Consistency G
+
+
+
-
+
+
+
-
+
+
+
+
+
+
Tunable bias
Fixed model order
+
Unstable system
+
(G(q, N ), C) stable C known
n
in this course.
+
n
+
+
j
+
n
+
+
+
+
j
+
+
n
+
+
n
+
+
/+
j
Ronald Aarts
PeSi/9/7
Idea: Neglect feedback and estimate model for G0 and/or H0 with common
open-loop techniques from measured {u(t), y(t)}.
Consistent estimators for G0 and/or H0 are possible if
The system (G0, H0) is in the model set.
There is at least one sample delay in CG0.
There is a sufficiently exciting (measurable or unmeasurable) signal r(t)
and/or controller C is sufficiently complex (e.g. nonlinear or order equal
to or larger than G0).
Ronald Aarts
PeSi/9/8
a.
b.
c.
Ronald Aarts
PeSi/9/9
Ronald Aarts
PeSi/9/10
G(q, )
= Gc(q, N )
1 + G(q, )C(q)
H(q, )
= Hc(q, N )
1 + G(q, )C(q)
Gc(q, N )
1 C(q)Gc(q, N )
Hc(q, N )
H(q, ) =
1 C(q)Gc (q, N )
G(q, ) =
Ronald Aarts
PeSi/9/11
j ), j
G(
= {1, 2, ..., N }
data reduction
simplicity of processing: filtering is a multiplication.
evaluation of models in f -domain: aiming at application.
choice discrete/continuous models.
Ronald Aarts
PeSi/10/1
j ) = G0(eij ) + V (j ), with
Suppose: G(
the real response G0(eij ) and
a stochastic noise process V (j ).
Identification problem: Find N by minimising
N
X
k=1
PeSi/9/12
The data:
Ronald Aarts
with G(eik , ) =
B(eik , )
and W (k ) a chosen weighting function.
A(eik , )
PeSi/10/2
In practice:
Tricks:
An ARX-like problem (linear-in-the-parameters) can be obtained by
rewriting the optimisation problem (implicit weighting with |A(eik , )|)
previous iteration.
Implementation examples:
Ronald Aarts
PeSi/10/3
Models are fitted using a non-linear weighted least squares fit, e.g. using the
accompanying lsfits toolbox.
Ronald Aarts
PeSi/10/4
Ronald Aarts
PeSi/10/5
Cyu () =
Estimate:
v
u
2
N
u |
yu ()|
N
yu() = t
C
N
N
y ()
u ()
Ronald Aarts
PeSi/10/6
A(q 1) =
a11(q 1) a12(q 1)
a21(q 1) a22(q 1)
..
..
any1(q 1) any2(q 1)
a1ny (q 1)
a2ny (q 1)
..
...
any ny (q 1)
b (q 1) b12(q 1) b1nu(q 1)
11 1
b21(q ) b22 (q 1 ) b2nu(q 1)
B(q 1) =
..
..
..
...
1
1
bny1(q ) bny2(q ) bny nu(q 1)
nb
nkkj
with elements bkj (q 1) = b1
+ ... + bkj kj q nkkj nbkj +1.
kj q
na
1 + ... + a kj q nakj .
with elements akj (q 1) = kj + a1
kj q
kj
Ronald Aarts
PeSi/10/7
b11(z)
G(z) = ba(z)
12(z)
a(z)
#
"
b21(z)
b11(z) b21(z)
a(z)
1
b22(z) = (a(z)I22 )
b12(z) b22(z)
a(z)
Note: this expression has a large number of parameters, especially when the
poles differ for each of the elements in the matrix. Then the denominator has to
contain all poles and in each element some of them need to be compensated
by zeros of bij (z).
Ronald Aarts
PeSi/10/8
Minimisation of
p
N X
1 X
w i 2
ip (t, ).
N t=1 i=1
Ronald Aarts
Ronald Aarts
PeSi/10/9
PeSi/10/10
Ronald Aarts
PeSi/10/11