idnlhw
Hammerstein-Wiener Model
Description
An idnlhw
model represents a Hammerstein-Wiener model, which is a
nonlinear model that is composed of a linear dynamic element and nonlinear functions of the
inputs and outputs of the linear system. These nonlinear functions are known as
nonlinearity estimators, or more generally as mapping
objects.
The following figure illustrates the structure of the Hammerstein-Wiener model.
The software computes the Hammerstein-Wiener model output y in three stages:
It uses the input nonlinearity f to transform the input vector u(t) into the intermediate variable w(t)
The input nonlinearity is a static (memoryless) function, where the value of the output a given time t depends only on the input value at time t.
You can configure the input nonlinearity as a sigmoid network, wavelet network, saturation, dead zone, piecewise linear function, one-dimensional polynomial, or custom network. You can also remove the input nonlinearity by applying a unit gain.
It uses w(t) as the input to the dynamic linear block, which you configure as the transfer function B/F. The output of the linear block is x(t).
It transforms x(t) using the output nonlinearity h. The output of the block is y(t).
Similar to the input nonlinearity, the output nonlinearity is a static function. You can configure the output nonlinearity in the same way as the input nonlinearity. In addition to the input nonlinearity options, you also configure the output nonlinearity as a Gaussian process.
The resulting Hammerstein-Wiener models are idnlhw
objects that store all
model data, including the parameters of the input and output nonlinearities and the
coefficients of the transfer function. For more information about these objects, see Nonlinear Model Structures.
For more detail on Hammerstein-Wiener models, including the computation stages, see What Are Hammerstein-Wiener Models?.
For idnlhw
object properties, see Properties.
Creation
You can obtain an idnlhw
object in one of two ways.
Use the
nlhw
command to both construct anidnlhw
object and estimate the model parameters.sys = nlhw(Data,Orders,InputNL,OutputNL)
Use the
idnlhw
constructor to create the Hammerstein-Wiener model and then estimate the model parameters usingnlhw
orpem
. This syntax is useful when you need to customize the model structure, such as when you want to fix certain coefficients to their initial values, before performing an estimation.sys = idnlhw(Orders,InputNL,OutputNL))
Syntax
Description
Specify Model Directly
creates a Hammerstein-Wiener model with the specified orders, and using piecewise linear
functions as input and output nonlinearities.sys
= idnlhw(Orders
)
uses sys
= idnlhw(Orders
,InputNonlinearity,OutputNonlinearity)InputNonlinearity
and OutputNonlinearity
as the input and output nonlinearity estimators,
respectively.
Initialize Model Values Using Linear Model
uses a linear model sys
= idnlhw(LinModel
)LinModel
to specify the model orders and
default piecewise linear functions for the input and output nonlinearity
estimators.
specifies input and output nonlinearity estimators for the model.sys
= idnlhw(LinModel
,InputNonlinearity,OutputNonlinearity)
Specify Model Properties
specifies additional attributes of the sys
= idnlhw(___,Name,Value
)idnlhw
model structure using
one or more Name,Value
arguments. You can use this syntax with any
of the previous input argument combinations.
Input Arguments
Properties
Object Functions
For information about object functions for idnlhw
, see Hammerstein-Wiener Models.
Examples
More About
Version History
Introduced in R2007aSee Also
nlhw
| idnlhw/linearize
| idnlhw/findop
| pem
Topics
- What Are Hammerstein-Wiener Models?
- Available Nonlinearity Estimators for Hammerstein-Wiener Models
- Identifying Hammerstein-Wiener Models
- Initialize Hammerstein-Wiener Estimation Using Linear Model
- Estimate Multiple Hammerstein-Wiener Models
- Estimate Hammerstein-Wiener Models Initialized Using Linear OE Models