Main Content

Available Nonlinearity Estimators for Hammerstein-Wiener Models

A Hammerstein-Wiener Model consists of three sequential blocks—a static input nonlinearity block, a dynamic linear block, and a static output nonlinearity block. Each nonlinearity block contains one or more nonlinearity estimators, also known as mapping objects. Each nonlinear estimator object maps a scalar input signals into a scalar output signal, and typically includes a nonlinear function, a linear function, and an offset. For more information about Hammerstein-Wiener model structure, see What Are Hammerstein-Wiener Models?.

The System Identification Toolbox™ software provides a set of nonlinearity estimators for Hammerstein-Wiener models. These nonlinearity estimators are available for both the input and output nonlinearities f and h, respectively. For more information about f and h, see Structure of Hammerstein-Wiener Models. When you estimate Hammerstein-Wiener models in the System Identification app or at the command line, the software creates and configures the nonlinear estimators that you specify. You can also create and configure nonlinear estimators independently at the command line and then specify these customized objects when you perform estimation.

Some nonlinear estimators represent simple nonlinear functions, such as a dead zone or a saturation limit. Others represent more complex nonlinear functions, such as a summed series of nonlinear units in a wavelet or sigmoid network. Another nonlinear estimator draws on a machine learning algorithm. One mapping object contains simply a unit gain, and serves to exclude an input or output nonlinearity from the model structure. The following table lists the available nonlinearity estimator objects. For a detailed description of an estimator object, see the corresponding reference page.

NonlinearityObjectDescriptionComments
Piecewise linearidPiecewiseLinearA piecewise linear function parameterized by breakpoint locations.Default
One layer sigmoid networkidSigmoidNetworkSum of dilated and translated sigmoid unit functions. 
Wavelet networkidWaveletNetworkSum of dilated and translated wavelets in a wavelet network. 
SaturationidSaturationParameterize hard limits on the signal value as upper and lower saturation limits.Use to model known saturation effects on signal amplitudes.
Dead zoneidDeadZoneParameterize dead zones in signals as the duration of zero response.Use to model known dead zones in signal amplitudes.
One-dimensional polynomialidPolynomial1DSingle-variable polynomial of a degree that you specify. 
Unit gainidUnitGain

Excludes the input or output nonlinearity from the model structure to achieve a Wiener or Hammerstein configuration, respectively.

Note that excluding both the input and output nonlinearities reduces the Hammerstein-Wiener structure to a linear transfer function.

Useful for configuring multi-input, multi-output (MIMO) models to exclude nonlinearities from specific input and output channels.

Custom network

idCustomNetworkSimilar to sigmoid network but with a user-defined unit function.User Defined. For advanced use.
Gaussian process (GP) regression modelidGaussianProcess

Kernel-based zero-mean Gaussian random process regression model.

Use for output nonlinearities only.

Useful when measurement data is limited. Requires Statistics and Machine Learning Toolbox™.
Multilayered neural networkidNeuralNetworkNeural network that can be a regression neural network (RegressionNeuralNetwork (Statistics and Machine Learning Toolbox)), a deep neural network (dlnetwork (Deep Learning Toolbox)), or a shallow neural network (network (Deep Learning Toolbox)).Requires Statistics and Machine Learning Toolbox or Deep Learning Toolbox™.

Related Topics