Department of Information Technology

Numerical algorithms

This research is carried out by Torsten Söderström, in cooperation with Michael Sebek and Vladimir Kucera, at Center for Applied Cybernetics, Faculty of EE, Czech Technical University in Prague, Czech Republic and Jan Jezek and Didier Henrion at Institute of Information Theory and Automation, Academy of Sciences of the Czech Republic, Prague, Czech Republic.

ARMA covariance computation

Computation of an ARMA covariance function is a common ingredient in analysis and synthesis of various problems in stochastic control, estimation and signal processing. Several approaches can be used for this purpose. We have developped an algorithm based on simple polynomial calculations. Compared to alternative strategies, it has small computational load, shows good numerical robustness and can be extended to handle multivariable ARMA processes, even with complex-valued coefficients. Details can be found in the paper

  • T. Söderström, J. Jezek and V. Kucera: An efficient and versatile algorithm for computing the covariance function of an ARMA process, IEEE Transactions on Signal Processing, vol 46, no 6, pp1591-1600, June 1998.

The following plots show the computational load of some algorithms, in terms of the number of Matlab flops, versus the model order n. The scalar case is illustrated.


Computational load for computing the variance.


Computational load for computing the covariance elements r(k), k=0,...,n.

The polynomial algorithm is conveniently implemented using the Polynomial Toolbox, which includes a demo of the covariance computations.

The extension to multivariable systems includes additional aspects. Details can be found in

  • T. Söderström, M. Sebek, J. Jezek, V. Kucera and D. Henrion: An evaluation of algorithms for computing the covariance function of a multivariable ARMA process, European Journal of Control, vol 8, no 4, 315-325, 2002.

The current research is focused on further developments for the multivariable case.

Updated  2007-02-05 10:59:43 by Torsten Söderström.