Controllability and observability are two important properties of state models which are to be studied prior to designing a controller.
Controllability deals with the possibility of forcing the system to a particular state by application of a control input. If a state is uncontrollable then no input will be able to control that state. On the other hand whether or not the initial states can be observed from the output is determined using observability property. Thus if a state is not observable then the controller will not be able to determine its behavior from the system output and hence not be able to use that state to stabilize the system.
1. ControllabilityBefore going to any details, we would first formally define controllability. Consider a dynamical system
![]() |
(1) |
where ,
,
,
.
Definition 1 The state equation (1) (or the pair (A,B) ) is said to be completey state controllable or simply controllable if for any initial state x(0) and any final state x(N), there exists an input sequence ,
, which transfers x(0) to x(N) for some finite N. Otherwise the state equation (1) is uncontrollable.
Definition 2
Complete Output Controllability: The system given
in equation (1) is said to be completely output
controllable or simply output controllable if any final output
can be reached from any initial state
by applying an unconstrained input sequence
,
, for some finite
. Otherwise (1) is not output controllable.
1.1 Theorems on controllability
1. The state equation (1) or the pair (A,B) is controllable if and only if the controllability matrix

![]() |
is nonsingular for any nonzero finite N.
   
 
Output Controllability: The system in equation (1)
is completely output controllable if and only if the
output controllability matrix
![]() |
has rank , i.e., full row rank.