obsvf
Compute observability staircase form
Syntax
[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
obsvf(A,B,C,tol)
Description
If the observability matrix of (A,C)
has
rank r ≤ n, where n is
the size of A
, then there exists a similarity transformation
such that
where T is unitary and the transformed system has a staircase form with the unobservable modes, if any, in the upper left corner.
where (Co, Ao) is observable, and the eigenvalues of Ano are the unobservable modes.
[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
decomposes the state-space system with matrices A
, B
,
and C
into the observability staircase form Abar
, Bbar
,
and Cbar
, as described above. T
is
the similarity transformation matrix and k
is a
vector of length n, where n is
the number of states in A
. Each entry of k
represents
the number of observable states factored out during each step of the
transformation matrix calculation [1].
The number of nonzero elements in k
indicates how
many iterations were necessary to calculate T
,
and sum(k)
is the number of states in Ao,
the observable portion of Abar
.
obsvf(A,B,C,tol)
uses
the tolerance tol
when calculating the observable/unobservable
subspaces. When the tolerance is not specified, it defaults to 10*n*norm(a,1)*eps
.
Examples
Form the observability staircase form of
A = 1 1 4 -2 B = 1 -1 1 -1 C = 1 0 0 1
by typing
[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C) Abar = 1 1 4 -2 Bbar = 1 1 1 -1 Cbar = 1 0 0 1 T = 1 0 0 1 k = 2 0
Algorithms
obsvf
implements the Staircase Algorithm
of [1] by calling ctrbf
and
using duality.
References
[1] Rosenbrock, M.M., State-Space and Multivariable Theory, John Wiley, 1970.
Version History
Introduced before R2006a