1
$\begingroup$

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.

$\endgroup$
1
  • $\begingroup$ 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) $\endgroup$ Sep 20, 2021 at 12:39

1 Answer 1

3
$\begingroup$

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.

$\endgroup$
1
  • 1
    $\begingroup$ 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$. $\endgroup$
    – fibonatic
    Sep 20, 2021 at 16:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.