Main Content

Linearize Hammerstein-Wiener model

`SYS = linearize(NLSYS,U0)`

SYS = linearize(NLSYS,U0,X0)

`SYS = linearize(NLSYS,U0)`

linearizes a
Hammerstein-Wiener model around the equilibrium operating point. When
using this syntax, equilibrium state values for the linearization
are calculated automatically using `U0`

.

`SYS = linearize(NLSYS,U0,X0)`

linearizes
the `idnlhw`

model `NLSYS`

around
the operating point specified by the input `U0`

and
state values `X0`

. In this usage, `X0`

need
not contain equilibrium state values. For more information about the
definition of states for `idnlhw`

models, see Definition of idnlhw States.

The output is a linear model that is the best linear approximation
for inputs that vary in a small neighborhood of a constant input *u*(*t*)
= *U*. The linearization is based on tangent linearization.

`NLSYS`

:`idnlhw`

model.`U0`

: Matrix containing the constant input values for the model.`X0`

: Operating point state values for the model.

**Note**

To estimate `U0`

and `X0`

from
operating point specifications, use the `findop`

command.

`SYS`

is an`idss`

model.When the Control System Toolbox™ product is installed,

`SYS`

is an LTI object.

The `idnlhw`

model structure represents a nonlinear
system using a linear system connected in series with one or two static
nonlinear systems. For example, you can use a static nonlinearity
to simulate saturation or dead-zone behavior. The following figure
shows the nonlinear system as a linear system that is modified by
static input and output nonlinearities, where function ** f** represents the input nonlinearity,

The following equations govern the
dynamics of an `idnlhw`

model:

*v*(*t*) = *f*(*u*(*t*))

*X*(*t*+1) = *AX*(*t*)+*Bv*(*t*)

*w*(*t*) = *CX*(*t*)+*Dv*(*t*)

*y*(*t*) = *g*(*w*(*t*))

where

*u*is the input signal*v*and*w*are intermediate signals (outputs of the input nonlinearity and linear model respectively)*y*is the model output

The linear approximation of the Hammerstein-Wiener
model around an operating point (*X**, *u**)
is as follows:

$$\begin{array}{l}\Delta X(t+1)=A\Delta X(t)+B{f}_{u}\Delta u(t)\\ \Delta y(t)\approx {g}_{w}C\Delta X(t)+{g}_{w}D{f}_{u}\Delta u(t)\end{array}$$

where

$$\Delta X(t)=X(t)-{X}^{*}(t)$$

$$\Delta u(t)=u(t)-{u}^{*}(t)$$

$$\Delta y(t)=y(t)-{y}^{*}(t)$$

$${{f}_{u}=\frac{\partial}{\partial u}f(u)|}_{u=u*}$$

$${{g}_{w}=\frac{\partial}{\partial w}g(w)|}_{w=w*}$$

where *y** is the output of the model
corresponding to input *u** and state vector *X**, *v** = *f*(*u**),
and *w** is the response of the linear model for
input *v** and state *X**.