I came through this problem while studying for an exam in control systems:

Consider the following discrete time system

$$\vec x (k + 1) = A\vec x(k) + b \vec u(k), \; \vec y(k) = c \vec x(k)$$

where $b = (0,1)^T, \; c = (1, 0), \; A = \begin{bmatrix} 2 && 1 \\ 0 && -g \end{bmatrix}$ for some $g \in \mathbb R$

Find a feedback law (if there is any) of the form $u(k) = -K \hat x(k)$ where $\hat x(k)$ is the state estimation vector that is produced by a linear full-order state observer such that the state of the system and the estimation error $e(k) = \vec x(k) - \hat x(k)$ go to zero after some finite time. Design the state observer and the block diagram.

My approach

It is clear that the eigenvalues of the system are $\lambda_1 = 2, \lambda_2 = -g$ (therefore it is NOT BIBO stable) and that the pair $(A, b)$ is controllable for every value of $g$, as well a the pair $(A, c)$ is observable for all values of $g$. Therefore we can shift the eigenvalues by choosing a gain matrix $K$ such that our system is stable, i.e. it has its eigenvalues inside the unit circle $|z| = 1$.

The state observer equation is

$$[\vec x(k + 1) \; \vec e(k + 1)]^T = \begin {bmatrix} A - bK && Bk \\ O && A - LC\end{bmatrix} [\vec x(k) \; \vec e(k)]^T$$

With characteristic equation $$\chi (z) = | z I - A + bK | \; |zI - A + LC| = \chi_K(z) \chi_L(z)$$

Also consider $$K = \begin {bmatrix} k_1 && k_2 \\ k_3 && k_4 \end{bmatrix}$$ and let $a = k_1 + k_3, \; \beta = k_2 + k_4$

Then $\chi_K(z) = (z - 2) (z + g + \beta ) + a$.

So we can select some eigenvalues inside the unit circle and determine $a, \beta$ in terms of $g$. Choosing e.g. $\lambda_{1,2} = \pm 1 / 2$ we get $a = 3g + 33 / 8, \; \beta = 9 /4 - g, \; g \in \mathbb R$


I want to ask the following:

  1. Is my approach correct? Should I select the eigenvalues myself since I am asked to design the observer or should I just solve the characteristic equation and impose $| \lambda_{1,2} | < 1$?
  2. Should I determine $L$ matrix as well since the error must also vanish? (because it is not asked)

Your approach is right. In short, find a dynamic compensator for the observer and change coordinates so that you have the state and estimation error. That matrix will be upper triangular. Your result looks correct.

In order to design the observer and compensator gains, remember that the eigenvalues of an upper triangular matrix are on the diagonal. For a block-UT matrix, the eigenvalues are the eigenvalues of the diagonal blocks. Thus you only need your $A-bK$ and $A-LC$ to be Schur for the system to satisfy your requirements.

You can do this using pole placement or guess and check.

Since the matrices are $2\times 2$ either of these will be simple to do.

  • $\begingroup$ You are right there was actually a typo for the roots. Therefore I must determine both $K$ and $L$ because my answer will be incomplete in a way (even it is not stated). Anyway, thanks a lot! $\endgroup$ – bolzano Jan 14 '18 at 15:30
  • $\begingroup$ Remember that the question is about discrete systems (so both a pole at $2$ or $-2$ is unstable, since both are outside the unit disk). And similar Hurwitz should be replaced by Schur. $\endgroup$ – Kwin van der Veen Jan 15 '18 at 6:49
  • $\begingroup$ Fair enough. Somehow I missed it being DT. $\endgroup$ – Mortified Through Math Jan 15 '18 at 11:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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