Professional Documents
Culture Documents
&
Parameter Estimation
Wb2301: SIPE
Lecture 9: Physical Modeling, Model and
Parameter Accuracy
Erwin de Vlugt, Dept. of Biomechanical Engineering (BMechE), Fac. 3mE
April 26 2010
Delft
University of
Technology
Contents
• Parameter estimation in time domain
• resume previous lecture(s)
• Overview of an experiment
• Basic steps in an ‘ideal’ experiment
SIPE, lecture 10 2 | xx
Parameter estimation
in time-domain
• ‘Non-parametric’ models:
• ARMA, OE, Box-Jenkins, etc.
SIPE, lecture 10 3 | xx
System identification &
parameter estimation
Frequency
ARX Response
‘non-parametric’ non-parametric
ARMA Function
model model
Etc. (FRF)
parametric parametric
model model
SIPE, lecture 10 4 | xx
System identification &
parameter estimation
Input Unknown Output
signal system signal
System identification
∑ ( y(ti ) − y(ti ))
ˆ 2
VAF = 1 − i =1
N
∑ i
y (
i =1
t ) 2
yˆ (ti ) = f (θ , u; t )
y(t i ), u(t i ) : recorded data
SIPE, lecture 10 6 | xx
Coherence and VAF
• High coherence, low VAF:
• Linear system, good SNR, wrong model!
SIPE, lecture 10 7 | xx
Parameter estimation of
static and dynamic systems
• Measured data
• input signal x(k)
• output signal y(k)
• Model (linear or non-linear)
• Predicted output: ^
y(k)=f(θ,u(k))
• θ: parameter vector
• => simulation of the model, depends on θ and u(k)
• error function
• e(k) = y(k) - f(θ,u(k))
• criterion function (least squares)
• J(x(k),y(k),θ)= Σe(k)2
SIPE, lecture 10 8 | xx
Accuracy of parameter fit
• Single parameter:
• SEM: ‘Standard Error of the Mean’
• Multiple parameters:
• Covariance matrix
• Estimated from Jacobian and residual error
SIPE, lecture 10 9 | xx
‘Standard error of the mean’
(SEM)
• How accurate can the parameters be estimated?
• Example:
• Normal distribution of data xN: μx, σx
• Standard Error of the Mean:
1 2
σμ2
= σx variance of the mean
x
N
σx
σμ = x standard error (deviation) of the mean
N
• the more data samples to more accurate the estimation of the mean
SIPE, lecture 10 10 | xx
Co-variance matrix
1 T 1 T −1
Pθ ≈ PN = e e.[ J J ]
ˆ
N N
1
Cov θ N ≈ Pθ
ˆ
N
• Pθ: Parameter co-variance matrix for parameter vector θN
• Approximated by PN (limited number of data samples N for
estimation)
SIPE, lecture 10 11 | xx
Covariance Matrix PN
θˆN = arg min VN (θ , Z N )
θ
• ZN: data vector with input vector u and output vector y
• VN(θ,ZN): criterion value
∂V (θ , Z N
)
VN (θ N , Z ) =
' N N N
=0
∂θ
• θo: True, optimal parameter vector (unknown!)
• Expanding Taylor series (1st order) around θo:
1 ˆ 1
σ 2
θˆ
= (θ N − θ ) = .PN
o 2
N
N N
SIPE, lecture 10 12 | xx
Derivation PN
'' −1 ' 'T '' −T
PN = V N .V N .V N .V N
VN = e 2
∂VN
V =
'
= JTe
∂θ
N
∂V '
∂J T
VN'' = N = J T J + .e
∂θ ∂θ
SIPE, lecture 10 13 | xx
Derivation PN
• PN becomes
PN = VN'' −1.VN' .VN' T .VN'' −T
⎛ N ⎞
= ( J J ) .J ⎜ ∑ ei .ei ⎟ .J .( J T J )−1
T −1 T
⎝ i ⎠
= λN .( J T J )−1.J T J .( J T J )−1
= λN .( J T J )−1
• Where
N
λN = ∑ ei .ei = .eT .e
i
SIPE, lecture 10 14 | xx
Co-variance matrix
⎡ σ θ21 σ θ .σ θ L σ θ1 .σ θ M ⎤
⎢ ⎥
1 2
⎢ σ θ 2 .σ θ1 σ θ2 L σ θ 2 .σ θ M ⎥
Cov θ N =
ˆ 2
⎢ M M O M ⎥
⎢ ⎥
⎢⎣σ θ M .σ θ1 σ θ M .σ θ 2 σ θ M ⎥⎦
2
L
SIPE, lecture 10 15 | xx
Matlab demo: parameter accuracy
SIPE, lecture 10 16 | xx
Basic ‘steps’ in identification scheme
1. Prepare experiment
• Choose sample frequency, observation time, and number of
repetitions
• Choose/design input signal
2. Perform experiment
• Perform experiments with care and prevent possible noise sources
3. Analyze results
• Check linearity! (e.g. coherence)
• Open-loop or closed-loop algorithms required?
• Do nonparametric analysis (FRF or ARX/OE/ARMAX)
• Fit (parametric) model onto data
• Check residue (should be small and preferably white)
• Check validity (VAF) and parameter uncertainty (e.g. SEM)
SIPE, lecture 10 17 | xx
1. Prepare experiment
• Sample frequency
• Should be high enough to ‘see’ all relevant dynamics
• High sample frequency will give more data (storage!) but will not
necessarily give more information!
• Prevent aliasing
• Observation time
• Determines resolution in frequency domain
• In general longer is better (as long as system is time-invariant)
• Number of repetitions
• Multiple observations => variations between observations
• Choose/design input signal
• ‘persistently’ exciting => excite all relevant dynamics
• Prevent leakage
SIPE, lecture 10 18 | xx
2. Perform experiment
• Perform experiments with care and prevent possible noise
sources
• Electromagnetic interference?
• Human subjects
• Unpredictable, to prevent anticipation
• clear instruction, no distractions, etc
SIPE, lecture 10 19 | xx
3. Analyze results
• Check linearity
• Calculate coherence
• Open-loop or closed-loop algorithms required?
• Try to make a block scheme
• Do nonparametric analysis (FRF or ARX/OE/ARMAX e.d.)
• Bode diagram can give indication of system under investigation
• Fit (parametric) model onto data
• Do a first check by inspecting the Bode diagram of data and model!
SIPE, lecture 10 20 | xx
Options in parameter estimation
Time-domain:
SIPE, lecture 10 21 | xx
Options in parameter estimation
• Frequency-domain:
SIPE, lecture 10 22 | xx
Error function in frequency domain
Simple approach: J ( f ) = ∑ e( f ) 2
f
e( f ) = H est ( f ) − H mod ( f )
• Wrong approach
• Can give severely biased results
SIPE, lecture 10 23 | xx
Model fit in frequency domain
2
10
Dynamic range:
absolute errors
1
10
0
10
vary between
101 vs 10-4
-1
10
gain [-]
-2
10
-3
10
-4
10
-5
10
0 1 2 3
10 10 10 10
frequency [Hz]
SIPE, lecture 10 24 | xx
Model fit in frequency domain
1
Reliability:
0.9
coherence varies
0.8
with frequency
0.7
0.6
coherence [-]
0.5
0.4
0.3
0.2
0.1
0
0 1 2 3
10 10 10 10
frequency [Hz]
SIPE, lecture 10 25 | xx
Model fit in frequency domain
2
10
Logarithmic frequency axis:
low emphasis on lower frequencies
1
10
0
10
-1
10
gain [-]
-2
10
-3
10
-4
10
-5
10
0 1 2 3
10 10 10 10
frequency [Hz]
SIPE, lecture 10 26 | xx
LogN of Transfer function H
H (ω ) = a (ω ) + j.b(ω )
= A(ω ).e jϕ (ω )
ln( H (ω )) = ln( A(ω ).e jϕ (ω ) )
= ln( A(ω )) + ln(e jϕ (ω ) )
= ln( H (ω ) ) + j.ϕ (ω )
• Logarithm effects the gain, not the phase!
SIPE, lecture 10 27 | xx
Error function in frequency domain
J ( f ) = ∑ e( f ) 2
f
1
e( f ) = .γ ( f ). ln( H est ( f )) − ln( H mod ( f ))
f
1
= .γ ( f ). ln( H est ( f ) ) − ln( H mod ( f ) + i.(ϕ ( H est ( f )) − ϕ ( H mod ( f ))
f
1
~ * γ ( f ) * (difference in log(gain) + difference in phase)
f
2
1 2 1 2
2
⎛ H est ( f ) ⎞
J ( f ) = ∑ .γ ( f ). ln( H est ( f )) − ln( H mod ( f )) = ∑ .γ ( f ). ln⎜⎜ ⎟⎟
f f f f ⎝ H mod ( f ) ⎠
weighted by coherence to put more emphasis on reliable frequencies
weighted by 1/frequency to compensate for few data in low frequency region
SIPE, lecture 10 28 | xx
Error function in frequency domain
Example:
measurements on a mass-spring-damper system
J ( f ) = ∑ e( f ) 2
f
1 1 ⎛ H est ( f ) ⎞
e( f ) = .γ ( f ). ln( H est ( f )) − ln( H mod ( f )) = .γ ( f ). ln⎜⎜ ⎟⎟
f f ⎝ H mod ( f ) ⎠
Suy ( f )
H est ( f ) =
Suu ( f )
1 1
H mod ( f ) = =
M .s + B.s + K M .(2πj. f ) 2 + B.2πj. f + K
2
SIPE, lecture 10 29 | xx
Assignment this week
• Estimate parameters in time and frequency domain
• Compare the results between both approaches
SIPE, lecture 10 30 | xx