Frequency Domain System Identification
? Maplesoft, a division of Waterloo Maple Inc., 2008
System identification deals with the problem of identifying a model describing some physical system by measuring the response of the system. This example illustrates a problem where the structure of the model is known, and parameters of the model are identified. This is done by first designing the input signal, which is applied to the system. The measured output is converted to the frequency domain and the parameters are estimated in this domain.
|
System Definition
- Parameters
- System Model
Signal Generation and Simulation
Discrete Fourier Transform (DFT)
Parameter Estimation
|
|
A spring-mass-damper system consists of a mass connected by a spring and a damper to a solid frame.
|
System Definitions
|
Name/Description
|
Value
|
Unit
|
Input Variables
|
input force on the mass
|
|
|
Output Variables
|
output position of the mass
|
|
|
Model Parameters
|
mass of the object
|
|
|
damping coefficient ( )
|
|
|
spring constant
|
|
|
Simulation Parameters
|
Simulation time
|
|
|
Sampling time
|
|
|
Noise standard deviation
|
|
,
|
Parameter Set

 |
(1.1.1) |
Model Definition
 |
(1.2.1) |
Initial Conditions
 |
(1.3.1) |
Signal Generation and Simulation
To excite the system, we apply a chirp signal that sweeps the frequency spectrum from 0.01 Hz to 1 Hz over 50 seconds.
 |
(2.1) |
We want to simulate the response of the system to a chirp signal. First we substitute the model parameters and a chirp signal into the differential equation and simulate the system.
Once the system is simulated, noise is added to reflect a realistic application.
# System Response to Chirp
|
|
Discrete Fourier Transform of the Signals
# DFT of Input & Output Signal
Calculate the Discrete Fourier Transform of the input and the output signals.
|
Minimum frequency:
|
Maximum frequency:
|
Minimum Index:

 |
(3.1) |
|
Maximum Index:

 |
(3.2) |
|
Minimum Frequency:
 |
(3.3) |
|
Maximum Frequency:
 |
(3.4) |
|
The region of interest of the frequency spectrum.
# Region of Interest
|
Estimation of the Model Parameters
Given the differential equation:
 |
(4.1) |
the corresponding transfer function is given as:

 |
(4.2) |
The transfer function (in the s domain) is converted to a Fourier transform by the following transformation of to
This results in the following expression:

 |
(4.3) |
This expression can be split into the real part
 |
(4.4) |
and the imaginary part
 |
(4.5) |
|
Set up the objective function and perform the optimization to solve for the unknown parameters.
The following solution has been achieved:
# Optimization
The error for the approximation is given as:
 |
(4.7) |
The estimated parameter set is given as:
The difference between the estimated parameters and the original parameters is given by:
![[Deltab = `+`(eval(b, opt[2]), `-`(eval(b, model_params))), Deltak = `+`(eval(k, opt[2]), `-`(eval(k, model_params))), DeltaM = `+`(eval(M, opt[2]), `-`(eval(M, model_params)))]](/view.aspx?SI=1460/FrequencyDomainSystemIdentification_80.gif)
![[Deltab = `+`(eval(b, opt[2]), `-`(eval(b, model_params))), Deltak = `+`(eval(k, opt[2]), `-`(eval(k, model_params))), DeltaM = `+`(eval(M, opt[2]), `-`(eval(M, model_params)))]](/view.aspx?SI=1460/FrequencyDomainSystemIdentification_81.gif)
![[Deltab = `+`(eval(b, opt[2]), `-`(eval(b, model_params))), Deltak = `+`(eval(k, opt[2]), `-`(eval(k, model_params))), DeltaM = `+`(eval(M, opt[2]), `-`(eval(M, model_params)))]](/view.aspx?SI=1460/FrequencyDomainSystemIdentification_82.gif)
![[Deltab = -0.96274569e-1, Deltak = -0.18046827e-1, DeltaM = -0.79144118e-1]](/view.aspx?SI=1460/FrequencyDomainSystemIdentification_84.gif)
![[Deltab = -0.96274569e-1, Deltak = -0.18046827e-1, DeltaM = -0.79144118e-1]](/view.aspx?SI=1460/FrequencyDomainSystemIdentification_85.gif) |
(4.9) |
|
Compare the frequency response of the measured system and the original model:
# Model Comparison with origin
|