# Is It Possible to Have a Continuous-Time System Controllable but Discrete-Time System Uncontrollable?

I have a continuous-time state-space system $$\dot{x} = Ax + Bu$$ with

$$A = \begin{bmatrix}0 & 0 & 0 & 1.0000 & 0 & 0\\ 0 & 0 & 0 & 0 & 1.0000 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1.0000 \\ 0.5000 & 0 & 0 & 0 & 0 & 0 \\ 0 & 2.0000 & 0 & 0 & 0 & 0 \\ & 0 & -2.0000 & 0 & 0 & 0\end{bmatrix}$$ and

$$B = \begin{bmatrix}0 \\ 0 \\ 0 \\ 1 \\ 1 \\ 1\end{bmatrix}$$.

The controllability matrix $$\mathcal{C}_{contin}$$ has eigenvalues 8.3955, 9.4014, -2.4786, 0.2951 + 1.3889i, 0.2951 - 1.3889i, and -0.8557, so it is of full rank and the system is controllable.

I'm trying to implement deadbeat control, so I use a digital sampler with a sampling time of $$T_s = 0.1$$ seconds and zero-order hold. The resulting system $$x_{k+1} = Gx_k + Hu_k$$ has

$$G = \begin{bmatrix} 1.0025 & 0 & 0 & 0.1001 & 0 & 0 \\ 0 & 1.0100 & 0 & 0 & 0.1003 & 0 \\ 0 & 0 & 0.9900 & 0 & 0 & 0.0997 \\ 0.0500 & 0 & 0 & 1.0025 & 0 & 0 \\ 0 & 0.2007 & 0 & 0 & 1.0100 & 0 \\ 0 & 0 & -0.1993 & 0 & 0 & 0.9900 \end{bmatrix}$$ and

$$H = \begin{bmatrix} 0.1051 \\ 0.1053 \\ 0.1047 \\ 0.1026 \\ 0.1104 \\ 0.0897\end{bmatrix}$$.

The controllability matrix $$\mathcal{C}_{discrete}$$ has eigenvalues 0.7082, -0.0576, 0.0013, -0.0010, 0, and 0, so it is evidently NOT of full rank and the system is evidently NOT controllable.

My questions is, is this possible? How can a continuous-time system be controllable but its corresponding discrete-time equivalent not be controllable? Would changing the sampling time or $$B$$ matrix help make the discrete system controllable? I've never experienced this phenomenon before.

• There may be two questions here. If the discrete sampling rate is so low that you can't track the phase of signal, the system won't work. You need to sample "close enough" to continuous. The other question, of values displayed, is covered in the answer(s) Sep 20, 2021 at 12:39

## 1 Answer

The controllability matrix of the discrete time system is of full rank. When I calculate the controllability matrix for the discrete time system with Matlab, I get at first glance the same eigenvalues as you.

However, the last two are not actually 0, Matlab just cuts off after 4 decimals. The last two eigenvalues are 2.0366e-7 and -3.0627e-5, so the matrix has in fact full rank.

• Though, it can be noted that it is possible to choose the sampling time such that the discretized model is not controllable. In this case for example when using a sample time near $2.221441$. Sep 20, 2021 at 16:54