functionisObservableSISO

To check whether a SISO system is observable

Information

This function is to calculate whether a SISO state space system is observable or not. Therefore, the dual System (A', c', b', d') it is transformed to upper observer Hessenberg form

              | *   *   ...   ...    * |             | * |
              | *   *   ...   ...    * |             | . |
Q*A'*Q' = H = | 0   *   ...   ...    * |,    Q*c' =  | . |,   b'*Q = q = ( 0, ..., 0, * )
              | .   .    .     .     . |             | * |
              | 0  ...   0     *     * |             | * |

Note, that

rank(c'; c'*A'; ...; c'*A'(n-1)) = rank(q; q*H; ...; q*H(n-1))

and that

(q; H*q; ...; q*H(n-1))

is a lower triangular matrix and has full rank if and only if none of the elements in the diagonal is zero. That is, that neither qn or hi,i-1, i = 2,..., n may be zero.

Inputs

TypeNameDefaultDescription
StateSpacessState space system

Outputs

TypeNameDefaultDescription
Booleanobservable