MIMOtool Help Desk

Subsection CTRB OF POLES with …

Subsection OBSV OF POLES from …

These subsections allow the user to analyze the controllability and observability of the system and of its poles, selecting respectively, the set of the active inputs or outputs; for example, the windows relative to the observability property is showed in the next figure:

The function that opens this window, creates a new temporary system, initially equal to the current one, and then computes and visualizes, in the relative text fields, the rank of the observable subspace and the observability values of the poles by means of the observability matrix and gramian (see the note below).

The number of check buttons on the left is equal to the outputs of the current model and the user can set or reset them in order to add or remove the corresponding output from the C and D matrices of the temporary system; then, when the OK button is pressed, the parameters of the new (temporary) model are computed and visualized.

 

Note: The system controllability and observability are represented, respectively, by the rank of the two matrices

 

Co = ctrb(A,B) = [ A AB A2B A3B . . . A#states-1B]

Ob = obsv(A,C) = [ C ; CA ; CA2 ; CA3 ; . . . ; CA#states-1]

 

that is, the subspace of the controllable states corresponds with Span{Co} and the subspace of the observable states corresponds with Span{Ob}.

An equivalent method to evaluate these properties is based on the rank of the controllability and observability gramians

 

ctrb gramian = (eAt) B B' (eA't) dt

obsv gramian = (eA' t) C' C (eA t) dt

where Span{ctrb gramian} = Span{Co} and Span{obsv gramian} = Span{Ob}; in addition, using the gramians, it's possible to compute the ctrb and obsv values for every pole of the system [5].

Note: The plots that, in the windows relative to the controllability and observability properties of the model, display the ctrb/obsv of states/poles use a pseudoinverse algorithm that may not give reliable results if the ctrb/obsv of some state/pole is exactly zero. In this case, you should trust mainly the rank of the ctrb/obsv matrix.