View
223
Download
0
Category
Preview:
Citation preview
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 1/34
System IdentificationControl Engineering B.Sc., 3rd yearTechnical University of Cluj-Napoca
Romania
Lecturer: Lucian Busoniu
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 2/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Part IV
Frequency analysis. Correlation analysis
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 3/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Table of contents
1 Frequency analysis
2 Correlation analysis
3 Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 4/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Classification
Recall Types of models from Part I:
1 Mental or verbal models
2 Graphs and tables (nonparametric)3 Mathematical models, with two subtypes:
First-principles, analytical models
Models from system identification
Frequency analysis produces a model in the form of the frequencyresponse – the Bode diagram .
C C
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 5/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Response to sinusoidal input
Apply unit sine of frequency ω to system with transfer function H :
u (t ) = sin(ωt )
In steady-state, the output is a sine of the same frequency, possiblywith different amplitude and phase:
y ss(t ) = k (ω) sin[ωt + α(ω)]
Gain: k (ω) = |H ( j ω)|, where j is the imaginary unit, so H ( j ω)is a complex number.
Phase: α(ω) = arg(H ( j ω)).
F l i C l ti l i C l ti l i M tl b l
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 6/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Frequency analysis
By walking through a grid of frequencies ω, and measuring the gains
k (ω) and phase shifts α(ω), a Bode diagram for the system isexperimentally created:
– a nonparametric model, which can be used to analyze the system
further or to perform control design.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 7/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Table of contents
1 Frequency analysis
2 Correlation analysis
Analytical development
A practical algorithm. FIR model
Accuracy guarantee
3 Correlation analysis: Matlab example
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 8/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Context
Transient analysis of step and impulse responses gives a rough,heuristic model of the system.
The upcoming methods provide:
Fully implementable algorithms, which derive a solutionprogramatically.
Solution accuracy guarantees (under appropriate conditions).
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 9/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Classification
Recall Types of models from Part I:
1 Mental or verbal models
2 Graphs and tables (nonparametric)3 Mathematical models, with two subtypes:
First-principles, analytical models
Models from system identification
Correlation analysis is still a nonparametric method; it produces animpulse response model .
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 10/34
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Recall: discrete-time model
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 11/34
q y y y y p
Discrete-time impulse response
Discrete-time, unit impulse signal:
u I(k ) =
1 k = 0
0 k > 0
Discrete-time impulse response:
y I (k ) = h (k ), k ≥ 0
h (k ), k ≥ 0 is also called the weighting function of the system.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 12/34
q y y y y p
Convolution
The (disturbance-free) response to an arbitrary signal u (k ) is the
convolution of the input and the impulse response:
y (k ) =∞
j =0
h ( j )u (k − j )
Intuition: Consider a signal u j (k ) equal to u ( j ) at k = j , and 0elsewhere; just a shifted and scaled unit impulse:
u j (k ) = u ( j )u I(k − j )
So, the response to u j (k ) is a shifted and scaled impulse response:
y j
(k ) = u ( j )h (k −
j )
Now, u (k ) is the superposition of all signals u j , and due to linearity:
y (k ) =
k
j =0
y j (k ) =
k
j =0
u ( j )h (k − j ) =
k
j =0
h ( j )u (k − j ) =∞
j =0
h ( j )u (k − j )
where zero initial conditions were assumed, i.e. u ( j ) = 0∀ j < 0.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 13/34
Impulse-response model
y (k ) =∞
j =0
h ( j )u (k − j ) + v (k )
Includes, in addition to the ideal model, a disturbance term v (k ).
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 14/34
Assumptions
Assumptions
1 The input u (k ) is a stationary stochastic process.
2 The input u (k ) and the disturbance v (k ) are independent.
Recall:
Independence of random variables.
Stationary stochastic process: constant mean at every time step,
covariance only depends on difference between time steps andnot on absolute time.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 15/34
Covariance functions
The covariance functions are defined as follows:
r yu (τ ) = E
{y (k + τ )u (k )}r u (τ ) = E {u (k + τ )u (k )}
Note: These quantities are true covariances only when the input andoutput are zero-mean.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 16/34
Relationship of covariances and impulse response
If there were no disturbance, then:
r yu (τ ) = E {y (k + τ )u (k )}
= E∞
j =0
h ( j )u (k + τ − j )u (k )=
∞ j =0
h ( j )E {u (k + τ − j )u (k )} =
∞ j =0
h ( j )r u (τ − j )
The errors coming from the disturbance are dealt with later, usinglinear regression.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 17/34
Impulse response identification
Writing the covariance relationship for all τ :
r yu (0) =∞
j =0
h ( j )r u (− j )
r yu (1) =
∞ j =0
h ( j )r u (1 − j )
. . .
we obtain (in principle) an infinite system of linear equations:
Coefficients r u (τ ), r yu (τ ).
Unknowns h (0),h (1), . . . , solution of the system.
Next, a practical algorithm working with finite data is given.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 18/34
Table of contents
1 Frequency analysis
2 Correlation analysis
Analytical development
A practical algorithm. FIR model
Accuracy guarantee
3 Correlation analysis: Matlab example
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 19/34
Covariances from data
Consider we are given signals u (k ), y (k ) with k = 1, . . . ,N .Denote by {a (k )}k =b ,c ,... the signal a (k ) at time steps b , c , . . . .
We have:r u (τ ) = E {u (k + τ )u (k )}
≈ mean{u (k + τ )u (k )}k =1,...,N −τ
=: r u (τ ), ∀τ ≥ 0
and r u (−τ ) = r u (τ ), due to u being a stationary process.
r yu (τ ) = E {y (k + τ )u (k )}
≈ mean{y (k + τ )u (k )}k =1,...,N −τ
=: r yu (τ ), ∀τ ≥ 0
Note: to allow negative τ in b r yu , the range of k would need to be
1 − min{τ, 0}, . . . , N − max{τ, 0}.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 20/34
Finite impulse response model
Impose the condition h (k ) = 0 for k ≥ M . We obtain the finite impulseresponse (FIR) model:
y (k ) =M −1
j =0
h ( j )u (k − j ) + v (k )
The covariance relationship is similarly truncated:
r yu (τ ) =M −1 j =0
h ( j )r u (τ − j )
Note: M must be taken so that MT s dominant time constants!
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 21/34
Linear system
Using r yu , r u estimated from data, write the truncated equations forτ = 0, . . . ,T − 1:
r yu (0) =
M −1 j =0
h ( j )
r u (− j )
r yu (1) =M −1 j =0
h ( j ) r u (1 − j )
. . .
r yu (T − 1) =
M −1 j =0
h ( j ) r u (T − 1 − j )
This is a linear system of T equations in M unknownsh (0), . . . ,h (M − 1).
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 22/34
Linear system (continued)
In matrix form:
r yu (0)
r yu (1)..
.r yu (T − 1)
=
r u (0) r u (1) . . . r u (M − 1)
r u (1)
r u (0) . . .
r u (M − 2)
..
. r u (T − 1) r u (T − 2) . . . r u (T − M )
·
h (0)h (1)
..
.h (M − 1)
(keep in mind that
r u (−τ ) =
r u (τ )).
Taking T = M gives (if input is informative enough) an exact solution.
Due to disturbances and errors, it is a good idea to take T > M .
Then we can apply the machinery of linear regression (see Part 3) tosolve this problem.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 23/34
Table of contents
1 Frequency analysis
2 Correlation analysis
Analytical development
A practical algorithm. FIR model
Accuracy guarantee
3 Correlation analysis: Matlab example
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 24/34
Special case: White noise input
Assumptions
3 The input u (k ) is zero-mean white noise.
Then r u (τ ) = 0 whenever τ = 0 (since white noise is uncorrelated),
and r yu (τ ) = ∞ j =0 h ( j )r u (τ − j ) simplifies to:
r yu (τ ) = h (τ )r u (0)
leading to the easy algorithm:
h (τ ) = r yu (τ ) r u (0)
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 25/34
Simplified guarantee
Theorem
In the white-noise case, as the number of data points N grows to
infinity, the estimates h (τ ) converge to the true values h (τ ).
Remark: This type of property, where the true solution is obtained inthe limit of infinite data, is called consistency .
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 26/34
Table of contents
1 Frequency analysis
2 Correlation analysis
3 Correlation analysis: Matlab example
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 27/34
Experimental data
Consider we are given the following, separate, identification andvalidation data sets.
plot(id); and plot(val);
Note the identification input is white noise, while the validation input isnot. There are 2000 samples in the identification data.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 28/34
Applying correlation analysis
fir = cra(id, M, 0); or fir = cra(id, M, 0, ’plot’);
Arguments:
1 Identification data.
2 FIR length M , here it is set to 40.
3 Third argument 0 means no input whitening is performed.
Dealing with non-ideal inputs:
If input is not zero-mean, pass the data through detrend to
remove the means.If input is not white noise, the third argument should be left todefault (by not specifying it or setting it to an empty matrix).
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 29/34
Applying correlation analysis (continued)
With the ’plot’ switch the covariance functions are shown, as well
as the FIR parameters with a 99% confidence interval.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 30/34
Results on the identification data
yhat = conv(fir, id.u); yhat = yhat(1:length(id.u);
To simulate the FIR model, a convolution between the FIRparameters and the input is performed. The simulated output islonger than needed so we cut it off at the right length.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 31/34
Validation of the FIR model
yhat = conv(fir, val.u); yhat = yhat(1:length(val.u);
Results OK, not great.
Frequency analysis Correlation analysis Correlation analysis: Matlab example
Al i f i
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 32/34
Alternative: impulse functionimpulse(id, ’sd’, 5);
This function produces a more complicated model than the one
studied in the lectures. Called as shown, it plots the impulseresponse with the 5-sigma confidence level.
Negative-time coefficients correspond to possible feedback in thedata (input depends on output); here the data is open-loop.Statistically significant coefficients appear to exist after the defaulttime interval. We therefore manually set a time interval [0,4].
Frequency analysis Correlation analysis Correlation analysis: Matlab example
f ti ( ti d)
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 33/34
impulse function (continued)
impulse(id, ’sd’, 5, [0 4]);
To obtain the actual model:mod = impulse(id, [0 4]);
Frequency analysis Correlation analysis Correlation analysis: Matlab example
V lid ti f i d l
7/25/2019 Part 4 - Frequency Analysis; Correlation Analysis
http://slidepdf.com/reader/full/part-4-frequency-analysis-correlation-analysis 34/34
Validation of impulse model
compare(mod, val);
The fit is very good.
Recommended