Main Content

gram

Controllability and observability Gramians

Syntax

Wc = gram(sys,'c')
Wc = gram(sys,'o')
Wc = gram(___,opt)

Description

Wc = gram(sys,'c') calculates the controllability Gramian of the state-space (ss) model sys.

Wc = gram(sys,'o') calculates the observability Gramian of the ss model sys.

Wc = gram(___,opt) calculates time-limited or frequency-limited Gramians. opt is an option set that specifies time or frequency intervals for the computation. Create opt using the gramOptions command.

You can use Gramians to study the controllability and observability properties of state-space models and for model reduction [1]. They have better numerical properties than the controllability and observability matrices formed by ctrb and obsv.

Given the continuous-time state-space model

x˙=Ax+Buy=Cx+Du

the controllability Gramian is defined by

Wc=0eAτBBTeATτdτ

The controllability Gramian is positive definite if and only if (A, B) is controllable.

The observability Gramian is defined by

Wo=0eATτCTCeAτdτ

The observability Gramian is positive definite if and only if (A, C) is observable.

The discrete-time counterparts of the controllability and observability Gramians are

Wc=k=0AkBBT(AT)k,Wo=k=0(AT)kCTCAk

respectively.

Use time-limited or frequency-limited Gramians to examine the controllability or observability of states within particular time or frequency intervals. The definition of these Gramians is as described in [2].

Examples

Compute Frequency-Limited Gramian

Compute the controllability Gramian of the following state-space model. Focus the computation on the frequency interval with the most energy.

sys = ss([-.1 -1;1 0],[1;0],[0 1],0);

The model contains a peak at 1 rad/s. Use gramOptions to specify an interval around that frequency.

opt = gramOptions('FreqIntervals',[0.8 1.2]);
gc = gram(sys,'c',opt)
gc = 2×2

    4.2132   -0.0000
   -0.0000    4.2433

Limitations

The A matrix must be stable (all eigenvalues have negative real part in continuous time, and magnitude strictly less than one in discrete time).

Algorithms

The controllability Gramian Wc is obtained by solving the continuous-time Lyapunov equation

AWc+WcAT+BBT=0

or its discrete-time counterpart

AWcATWc+BBT=0

Similarly, the observability Gramian Wo solves the Lyapunov equation

ATWo+WoA+CTC=0

in continuous time, and the Lyapunov equation

ATWoAWo+CTC=0

in discrete time.

The computation of time-limited and frequency-limited Gramians is as described in [2].

References

[1] Kailath, T., Linear Systems, Prentice-Hall, 1980.

[2] Gawronski, W. and J.N. Juang. “Model Reduction in Limited Time and Frequency Intervals.” International Journal of Systems Science. Vol. 21, Number 2, 1990, pp. 349–376.

Version History

Introduced before R2006a