**Controllability and Observability** is an important concept of the state space representation of a system that we read in the control system. In this article, we will learn how to check the system’s controllability and observability.

**Contents**show

## Controllability Definition

If the state of the system can be transferred to another desired state over a finite time period by using input is called controllability.

Consider the state equations

y(t) = C x(t) + D u(t)

where x denotes the state variable

u denotes the input variable

y denotes the output variable.

## Kalman’s Test for Controllability

If a system matrix A has order n × n

Then we form a controllability matrix (Q_{c})

Q_{c} = [B : AB : A^{2}B : A^{3}B : ……………… : A^{n-2}B : A^{n-1}B]

where controlled matrix B must be a column matrix.

The order of Q_{c} is n × n.

**Case-1:** The system is **controllable** if the rank of Q_{c} is **‘n’**. In other words, when the determinant of Q_{c} is non-zero, the system is controllable i.e. |Q_{c}| ≠ 0.

**Case-2:** If |Q_{c}| = 0 or the rank of Q_{c} is not equal to **‘n’** then the system is said to be **uncontrollable**.

In order to check how many states are controllable in case-2, we consider sub-matrices of Q_{c} of order (n-1) × (n-1) and again compute the determinant.

(i) If the determinant of any submatrices is non-zero then the rank will be (n-1). Hence the number of controllable states will be (n – 1).

(ii) If the determinant of all submatrices is zero then we consider sub-matrices of Q_{c} of order (n-2) × (n-2) and again compute the determinant. If the determinant of any submatrices is non-zero then the rank will be (n-2). Hence the number of controllable states will be (n – 2).

The above steps are followed in a similar fashion until we get a non-zero determinant of any submatrices.

## Gilbert’s Test to check controllability

It states that

*A system is said to be controllable if row of B corresponding to the last row of each Jordan Block is non-zero.*

*A system is said to be controllable if all rows of B is non-zero in case matrix A is in **diagonal canonical form.*

Gilbert’s test is only applicable if matrix A is in **Jordan canonical form** or **Diagonal canonical form**.

Let us understand with the help of an example of Jordan canonical form.

Here matrix A is in Jordan canonical form. The Jordan block JB_{1} and JB_{2} are

To check controllability, we see the last row of Jordan blocks.

The last row of Jordan block JB_{1} corresponds to the second row of matrix A. The last row of Jordan block JB_{2} corresponds to the third row of matrix A.

Hence according to Gilbert’s test, we check the corresponding second and third rows of matrix B.

If these second and third rows of matrix B are non-zero then the system is controllable.

Let us understand with the help of an example of Diagonal canonical form.

Now we treat it as Jordan canonical form with each Jordan block of order 1 × 1.

The Jordan block JB_{1}, JB_{2} and JB_{3} are

To check controllability, we see the last row of Jordan blocks.

The last row of Jordan block JB_{1} corresponds to the **first row** of matrix A. The last row of Jordan block JB_{2} corresponds to the **second row** of matrix A. The last row of Jordan block JB_{3} corresponds to the **third row** of matrix A.

Hence according to Gilbert’s test, we check the corresponding first, second, and third rows of matrix B.

If these first, second, and third rows of matrix B are non-zero then the system is **controllable**.

## Observability Definition

If all states of the system can be determined from the knowledge of output of the system at a given time is called observability.

## Kalman’s Test for Observability

If a system matrix A has order n × n

Then we form an observability matrix (Q_{o})

$Q_{o}=\begin{bmatrix} C\\ CA\\ CA^{2}\\ .\\ .\\ .\\ CA^{n-1}\\ \end{bmatrix}$

Here, output matrix C is a row matrix.

The order of Q_{o} is n × n.

**Case-1:** The system is **observable** if the rank of Q_{o} is **‘n’**. In other words, when the determinant of Q_{o} is non-zero, the system is observable i.e. |Q_{o}| ≠ 0.

**Case-2:** If |Q_{o}| = 0 or the rank of Q_{o} is not equal to **‘n’** then the system is said to be **unobservable**.

In order to check how many states are observable in case-2, we consider sub-matrices of Q_{o} of order (n-1) × (n-1) and again compute the determinant.

(i) If the determinant of any submatrices is non-zero then the rank will be (n-1). Hence the number of observable states will be (n – 1).

(ii) If the determinant of all submatrices is zero then we consider sub-matrices of Q_{o} of order (n-2) × (n-2) and again compute the determinant. If the determinant of any submatrices is non-zero then the rank will be (n-2). Hence the number of observable states will be (n – 2).

The above steps are followed in a similar fashion until we get a non-zero determinant of any submatrices.

## Gilbert’s Test to check observability

It states that

*A system is said to be observable if columns of C corresponding to the first row of each Jordan Block is non-zero.*

*A system is said to be observable if all columns of C is non-zero in case matrix A is in **diagonal canonical form.*

Gilbert’s test is only applicable if matrix A is in **Jordan canonical form** or **Diagonal canonical form**.

Let us understand with the help of an example of Jordan canonical form.

Here matrix A is in Jordan canonical form. The Jordan block JB_{1} and JB_{2} are

To check observability, we see the first row of Jordan blocks.

The first row of Jordan block JB_{1} corresponds to the **first row** of matrix A. The first row of Jordan block JB_{2} corresponds to the **third row** of matrix A.

Hence according to Gilbert’s test, we check the corresponding first and third columns of matrix C.

If these first and third columns of matrix C are non-zero then the system is **unobservable**.

Let us understand with the help of an example of Diagonal canonical form.

Now we treat it as Jordan canonical form with each Jordan block of order 1 × 1.

The Jordan block JB_{1}, JB_{2} and JB_{3} are

To check observability, we see the first row of Jordan blocks.

The first row of Jordan block JB_{1} corresponds to the **first row** of matrix A. The first row of Jordan block JB_{2} corresponds to the **second row** of matrix A. The first row of Jordan block JB_{3} corresponds to the **third row** of matrix A.

Hence according to Gilbert’s test, we check the corresponding first, second, and third columns of matrix C.

If these first, second, and third columns of matrix C are non-zero then the system is **observable**.