## Documentation Center |

Output and state covariance of system driven by white noise

`P = covar(sys,W) [P,Q] = covar(sys,W)`

`covar` calculates the stationary covariance
of the output *y* of an LTI model `sys` driven
by Gaussian white noise inputs *w*. This function
handles both continuous- and discrete-time cases.

`P = covar(sys,W) `returns the steady-state
output response covariance

given the noise intensity

`[P,Q] = covar(sys,W)` also returns the steady-state
state covariance

when `sys` is a state-space model (otherwise `Q` is
set to `[]`).

When applied to an `N`-dimensional LTI array `sys`, `covar` returns
multidimensional arrays *P*, *Q* such
that

`P(:,:,i1,...iN)` and `Q(:,:,i1,...iN)` are
the covariance matrices for the model `sys(:,:,i1,...iN)`.

Compute the output response covariance of the discrete SISO system

due to Gaussian white noise of intensity `W = 5`.
Type

sys = tf([2 1],[1 0.2 0.5],0.1); p = covar(sys,5)

These commands produce the following result.

p = 30.3167

You can compare this output of `covar` to simulation
results.

randn('seed',0) w = sqrt(5)*randn(1,1000); % 1000 samples % Simulate response to w with LSIM: y = lsim(sys,w); % Compute covariance of y values psim = sum(y .* y)/length(w);

This yields

psim = 32.6269

The two covariance values `p` and `psim` do
not agree perfectly due to the finite simulation horizon.

[1] Bryson, A.E. and Y.C. Ho, *Applied
Optimal Control,* Hemisphere Publishing, 1975, pp. 458-459.

Was this topic helpful?