Estimate Hammerstein-Wiener Models in the App
You can estimate Hammerstein-Wiener models in the System Identification app after performing the following tasks:
Import data into the System Identification app (see Preparing Data for Nonlinear Identification).
(Optional) Choose a nonlinearity estimator in Available Nonlinearity Estimators for Hammerstein-Wiener Models.
(Optional) Estimate or construct an OE or state-space linear model to use for initialization. See Initialize Hammerstein-Wiener Estimation Using Linear Model.
To estimate a Hammerstein-Wiener model using the imported estimation data, chosen nonlinearity estimators, and initial linear models:
In the System Identification app, select Estimate > Nonlinear models to open the Nonlinear Models dialog box.
In the Configure tab, select
Hammerstein-Wiener
from the Model type list.(Optional) Edit the Model name by clicking the pencil icon. The name of the model should be unique to all Hammerstein-Wiener models in the System Identification app.
(Optional) If you want to refine a previously estimated model, click Initialize to select a previously estimated model from the Initial Model list.
Note
Refining a previously estimated model starts with the parameter values of the initial model and uses the same model structure. You can change these settings.
The Initial Model list includes models that:
Exist in the System Identification app.
Have the same number of inputs and outputs as the dimensions of the estimation data (selected as Working Data in the System Identification app).
Keep the default settings in the Nonlinear Models dialog box that specify the model structure, or modify these settings:
Note
For more information about available options, click Help in the Nonlinear Models dialog box to open the app help.
What to Configure Options in Nonlinear Models GUI Comment Input or output nonlinearity In the I/O Nonlinearity tab, select the Nonlinearity and specify the No. of Units. If you do not know which nonlinearity to try, use the (default) piecewise linear nonlinearity.
When you estimate from binary input data, you cannot reliably estimate the input nonlinearity. In this case, set Nonlinearity for the input channel to
None
.For multiple-input and multiple-output systems, you can assign nonlinearities to specific input and output channels.
Model order and delay In the Linear Block tab, specify B Order, F Order, and Input Delay. For MIMO systems, select the output channel and specify the orders and delays from each input channel. If you do not know the input delay values, click Infer Input Delay. This action opens the Infer Input Delay dialog box which suggests possible delay values. Estimation algorithm In the Estimate tab, click Estimation Options. You can specify to estimate initial states. To obtain regularized estimates of model parameters, in the Estimate tab, click Estimation Options. Specify the regularization constants in the Regularization_Tradeoff_Constant and Regularization_Weighting fields. To learn more, see Regularized Estimates of Model Parameters.
Click Estimate to add this model to the System Identification app.
The Estimate tab displays the estimation progress and results.
Validate the model response by selecting the desired plot in the Model Views area of the System Identification app.
If you get a poor fit, try changing the model structure or algorithm configuration in step 5.
You can export the estimated model to the MATLAB® workspace by dragging it to To Workspace in the System Identification app.