Estimate continuous-time process model for single-input, single-output (SISO) system in either time or frequency domain in the Live Editor
To add the Estimate Process Model task to a live script in the MATLAB Editor:
On the Live Editor tab, select Task > Estimate Process Model.
In a code block in your script, type a relevant keyword, such as
process
or estimate
. Select
Estimate Process Model
from the suggested command
completions.
Data Type
— Data type for input and output dataTime
(default) | Frequency
| Data Object
The task accepts single-channel numeric measurement values that are uniformly
sampled in time. Data can be packaged as numeric arrays (Time
or
Frequency
type) or in a data object, such as an iddata
or idfrd
object.
The data type you choose determines the additional parameters you must specify.
Time
— Specify Sample Time and
Start Time in the time units that you select.
Frequency
— Specify Frequency
by selecting the variable name of a frequency vector in your MATLAB workspace. Specify the units for this frequency vector. Specify
Sample Time in seconds.
Data Object
— Specify no additional parameters,
because the data object already contains information on time or frequency
sampling.
Estimation Input and Estimation Output
— Variable names of input and output data for estimationSelect the input and output variable names from the MATLAB workspace choices. Use these parameters when Data
Type is Time
or
Frequency
.
Estimation Object
— Variable name of data object containing input and output data to be used for estimationSelect the data object variable name from the MATLAB workspace choices. Use this parameter when Data Type
is Data Object
.
Validation Input (u) and Validation Output (y)
— Variable names of input and output data to be used for validation Select the input and output variable names, or the data object name, from the
workspace choices. Use these parameters when Data Type is
Time
or Frequency
. Specifying
validation data is optional but recommended.
Validation Object
— Variable name of data object containing input and output data for validationSelect the data object variable name from the MATLAB workspace choices. Use this parameter when Data Type
is Data Object
. Specifying validation data is optional but
recommended.
Structure
— Zeros and poles in modelOne Pole
(default) | Two Real Poles
| Underdamped Pair
| Underdamped Pair + Real Pole
The task allows you to specify one of four basic structures. These structures range from a simple first-order process to a more dynamic second-order or third-order process with complex conjugate (underdamped) poles.
One Pole
Two Real Poles
Underdamped Pair
Underdamped Pair + Real Pole
Delay
— Include transport delayInclude transport delay, or input-to-output delay, of one sample. The transport delay is also known as dead time.
Zero
— Include process zeroInclude a process zero in the numerator.
Integrator
— Include integratorInclude an integrator, represented by an additional 1/ s term. Including an integrator creates a self-regulating process.
Initial Values
— Initial values of structure parametersSpecify initial values for the estimation and whether these values are to be fixed or estimated. The values to specify depend on the model structure and your specifications for Delay and Zero. Below Specify model structure, the task displays the equation that represents the specified system. This equation contains all of the parameters that can be estimated, and that you can initialize or fix. The possible parameters are:
Kp — Static gain
Tp1 — Time constant for first real pole
Tp2 — Time constant for second real pole
Tω — Time constant for complex poles, equal to the inverse of the natural frequency
ζ — Damping coefficient for complex poles
Td — Transport delay
Tz — Time constant for the process zero
All time-based parameters are in the time units you select for Sample Time.
Fit Focus
— Minimize prediction error or simulation errorPrediction
(default) | Simulation
Fit focus specifies what error to minimize in the loss function during estimation.
Prediction
— Minimize the one-step-ahead prediction
error between measured and predicted outputs. This estimation approach focuses on
producing a good predictor model for the estimation inputs and outputs. Prediction
focus generally produces the best estimation results because it uses both input
and output measurements, thus accounting for disturbances.
Simulation
— Minimize the error between measured
and simulation outputs. This estimation approach focuses on producing a simulated
model response that has a good fit with the estimation inputs and outputs.
Simulation focus is generally best for validation, especially with data sets not
used for the original estimation.
Initial Conditions
— Handling of initial conditionsAuto
(default) | Zero
| Estimate
| Backcast
Set this option when you want to choose a specific method for initializing the
model. With the default setting of Auto
, the software chooses
the method based on the estimation data. Choices are:
Zero
— The initial state is set to zero.
Estimate
— The initial state is treated as an
independent estimation parameter.
Backcast
— The initial state is estimated using the
best least squares fit.
Input Intersampling
— Intersampling behavior for input signalZero-order hold
(default) | Triangle approximation
| Band-limited
Input intersampling is a property of the input data. The task uses this property
when estimating process models. Specify Input Intersampling when
your data type is Time
or
Frequency
. If you are using an iddata
object, the object already contains the intersampling information. Choices for this
property are:
Zero-order hold
— Piecewise-constant input signal
between samples
Triangle approximation
— Piecewise-linear input
signal between samples, also known as first-order hold
Band-limited
— Input signal has zero power above
the Nyquist frequency
Search Method
— Numerical search mode for iterative parameter estimationAuto
(default) | Gauss-Newton
| Adaptive Gauss-Newton
| Levenberg-Marquardt
| Gradient Search
Auto
— For each iteration, the software cycles
through the methods until it finds the first direction descent that leads to a
reduction in estimation cost.
Gauss-Newton
— Subspace Gauss-Newton least-squares
search.
Levenberg-Marquardt
— Levenberg-Marquardt
least-squares search.
Adaptive Gauss-Newton
—Adaptive subspace
Gauss-Newton search.
Gradient Search
— Steepest descent least-squares
search.
Max. Iterations
— Maximum number of iterations during error minimizationSet the maximum number of iterations during error minimization. The iterations stop when Max. Iterations is reached or another stopping criterion is satisfied, such as Tolerance.
Tolerance
— Minimum percentage of expected improvement in errorWhen the percentage of expected improvement is less than Tolerance, the iterations stop.
Weighting Prefilter
— Weighting prefilter for loss functionNo filter
(default) | Passband(s)
| LTI Filter
| Frequency weights vector
Set this option when you want to apply a weighting prefilter to the loss function that the task minimizes when you estimate the model. When you select an option, you must also select the associated variable in your workspace that contains the filter information. The available options depend on the domain of the data.
Weighting Prefilter | Data Domain | Filter Information |
---|---|---|
No Filter | Time and frequency | |
Passbands | Time and frequency | Passband ranges, specified as a 1-by-2 row vector or an n-by-2 matrix, where n is the number of passbands |
LTI Filter | Time and frequency | SISO LTI model |
Frequency Weights Vector | Frequency | Frequency weights, specified as a column vector with the same length as the frequency vector |
For instance, suppose that you are performing estimation with SISO
frequency-domain data and that in your MATLAB workspace, you have a column vector W
that contains
frequency weights for the prefilter. In the task, select Weighting
prefilter > Frequency weights vector and the variable
W
.
Output Plot
— Plot comparison of model and measured outputsPlot a comparison of the model output and the original measured data, along with the fit percentage. If you have separate validation data, a second plot compares the model response to the validation input data with the measured output from the validation data set.