.Modelica_LinearSystems2.StateSpace.Internal.isObservableSISO

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.

Interface

encapsulated function isObservableSISO
  import Modelica_LinearSystems2;
  import Modelica_LinearSystems2.StateSpace;
  input StateSpace ss "State space system";
  output Boolean observable;
end isObservableSISO;

Generated at 2024-11-22T19:25:38Z by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos