Hi all, I have a question for Control system development specialists.
I compute controllability of linear system through MATLAB function ctrb, and I know that system have 1 uncontrollable state. How to define which state is uncontrollable?
Your system is under a state space representation (A,B,C,D), I presume it is in any form it will be necessary to transform it by a change of vector basis in diagonal canonical form if the poles (eigenvalue of matrix A) are distinct case 1 or that of Jordan form if the poles are multiple cases 2.
The state case 1 cannot be controlled if the corresponding row of matrix B is zero, for case 2 it will be the last row of Jordan's block (degree of multiplicity of the pole) and its correspondence of matrix B which must be zero. It is also the same principle applied to the Kalman decomposition.
It is not the states or the state variables that are uncontrollable, but the response modes. These are the response functions associated with the eigenvalues of the state matrix A. Sometimes these coincide with a subset of the state variables, but not necessarily. To see which modes are controllable (or observable), put the model into its modal form using
G_modal= canon(G, 'modal')
in MATLAB. This places the eigenvalues and complex eigenvalue pairs onto the main diagonal. If these are unique, then by inspecting the B and C matrices, you can see which modes can be affected by the controls/observed by the sensors.
For example
A=[2, 0; -1, 1]
B=[1; -1]
C=[1, 1]
ctrb(A,B)
will show the controllability matrix is rank deficient
G=ss(A,B,C,0)
G_modal=canon(G,'modal')
will show that the mode at -1 is uncontrollable because the corresponding term in the B matrix is zero as below:
Your system is under a state space representation (A,B,C,D), I presume it is in any form it will be necessary to transform it by a change of vector basis in diagonal canonical form if the poles (eigenvalue of matrix A) are distinct case 1 or that of Jordan form if the poles are multiple cases 2.
The state case 1 cannot be controlled if the corresponding row of matrix B is zero, for case 2 it will be the last row of Jordan's block (degree of multiplicity of the pole) and its correspondence of matrix B which must be zero. It is also the same principle applied to the Kalman decomposition.