The Wiener-Hammerstein model [6] is a combination of the Wiener and Hammer- stein models. It is a three-block model, where the LUT block is surrounded by two FIR filters. This is shown in Figure 6.5.

The output of the static nonlinear function, F(-), is given by:

Here, N and b_{i} are the nonlinearity order and the coefficients of the nonlinear function F(-), respectively. The outputs of the two FIR filters, that is, x_{WH}(n) and y_{WH}(n), are given by:

and

M_{1} and M_{2} are the memory depths of the two FIR filters respectively; while, h_{mi} and k_{m} are the filter responses.

Hammerstein-Wiener Model

The Hammerstein-Wiener model [6] is a combination of the Hammerstein model and the Wiener model. It is also a three-block model, but the FIR filter block is surrounded by two static nonlinear functions, namely F(-) and G(-), as shown in Figure 6.6.

The output of the FIR filter block is given by:

where M and h_{m} are the memory depth and coefficients of the filter, respectively. The outputs of the two nonlinear functions are given by:

here, N_{1} and N_{2} are the nonlinearity orders of the nonlinear functions F(-) and G(-), respectively; and a_{t} and bj are the coefficients of the nonlinear functions F(-) and

Figure 6.5 Wiener-Hammerstein model

Figure 6.6 Hammerstein-Wiener model

G(-), respectively. In order to maintain uniqueness in the estimation procedure, the first coefficients of the nonlinear function blocks should be kept fixed [6, 7]. This non-uniqueness in the solution comes from the fact that the gain of the system can be arbitrarily divided among the blocks.

Implementation of the model can be done by using the mesh adaptive direct search (MADS) algorithm [6] or the Nelder-Mead algorithm [8]. An analysis of the Hammerstein-Wiener model implementation has been provided in [6], where the authors applied the model by adopting a two-step approach using the MADS algorithm for faster implementation of the model.

The Hammerstein-Wiener model is first divided into a Hammerstein model (the first two blocks) and a static nonlinear function (the third block); and, the parameters of the static nonlinear function are initialized and used as the initial guess for the Hammerstein model. The current output of the Hammerstein model then serves to update the output nonlinearity for the next iteration. Linear least squares methods are then used to minimize the output error. Finally, the MADS algorithm is used to reduce the output error, by using the parameters of the Hammerstein model.