Main Content

Estimate Hammerstein-Wiener Models in the App

You can estimate Hammerstein-Wiener models in the System Identification app after performing the following tasks:

To estimate a Hammerstein-Wiener model using the imported estimation data, chosen nonlinearity estimators, and initial linear models:

  1. In the System Identification app, select Estimate > Nonlinear models to open the Nonlinear Models dialog box.

  2. In the Configure tab, select Hammerstein-Wiener from the Model type list.

  3. (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.

  4. (Optional) If you want to refine a previously estimated model, click Initialize to select a previously estimated model from the Initial Model list.


    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).

  5. Keep the default settings in the Nonlinear Models dialog box that specify the model structure, or modify these settings:


    For more information about available options, click Help in the Nonlinear Models dialog box to open the app help.

    What to ConfigureOptions in Nonlinear Models GUIComment
    Input or output nonlinearityIn 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 delayIn 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 algorithmIn the Estimate tab, click Estimation Options.You can specify to estimate initial states.
  6. 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.

  7. Click Estimate to add this model to the System Identification app.

    The Estimate tab displays the estimation progress and results.

  8. 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.

Related Topics