Technical Report 2007-015

MATLAB Software for Recursive Identification of Systems With Output Quantization   Revision 1

Torbjörn Wigren

April 2007

This reports is intended as a users manual for a package of MATLAB scripts and functions, developed for recursive identification of discrete time nonlinear Wiener systems, where the static output nonlinearity is a known arbitrary quantization function, not necessarily monotone. Wiener systems consist of linear dynamics in cascade with a static nonlinearity. Hence the systems treated by the software package can also be described as discrete time linear systems, where the output is measured after a known quantization function. The identification algorithms thus identify the linear dynamics of the Wiener system. The core of the package is an implementation of 5 recursive SISO output error identification algorithms. The measurement noise is assumed to affect the system after quantization. The identified linear dynamic part of the system is allowed to be of FIR or IIR type. A key feature of the identification algorithms is the use of a smooth approximation of the quantizer, for derivation of an approximation of the gradient of the algorithm. This is necessary since the derivative of the quantizer consists of a set of pulses, in the quantization steps. Using such an approximation 2 recursive stochastic gradient algorithms and 3 recursive Gauss-Newton algorithms are obtained. The algorithms differ by the choice of gradient approximation. It should be noted that the stochastic gradient algorithms are primarily suited for (high order) FIR systems   they converge very slowly for IIR systems due to the large eigenvalue spread of the Hessian that typically results for IIR systems. Arbitrarily colored additive measurement noise is handled by all algorithms. The software can only be run off-line, i.e. no true real time operation is possible. The algorithms are however implemented so that true on-line operation can be obtained by extraction of the main algorithmic loops. The user must then provide the real time environment. The software package contains scripts and functions that allow the user to either input live measurements or to generate test data by simulation. The functionality for display of results include scripts for plotting of data, parameters and prediction errors. Model validation is supported by several methods apart from the display functionality. First, calculation of the RPEM loss function can be performed, using parameters obtained at the end of an identification run. Pole-zero plots can be used to investigate possible overparameterization in the linear dynamic part of the Wiener model. Finally, the static accuracy as a function of the output signal amplitude can be assessed with mean residual analysis.

Note: The software package can be downloaded from

Available as PDF (194 kB, no cover)

Download BibTeX entry.