so lets suppose we have a state space model

x[k+1] = Ax[k] + Bu[k]
y[k] = Cx[k] + Bu[k]

and we want to design a state feedback, assuming that the system is controllable. so now if we assume that our input

u = -kx

assuming k is the state feedback vector

Our function becomes something like

x[k+1] = (A - Bk)x[n]

Now here (A - Bk) is the new A matrix and if we want to find the eigen values of this system because we have full control over k(if we are choosing K through poleplacement) , My question is that even if we have control over eigen values of this new vector how does that help us control the system i.e. to bring our system to our desired state?

  • \$\begingroup\$ (A - Bk) is a matrix, not vector. \$\endgroup\$
    – Eugene Sh.
    Jul 4, 2018 at 16:34
  • \$\begingroup\$ The idea is extremely simple. Since the system is controllable, we first determine the characteristics equation of the system. Second, we determine the desired characteristics equation that satisfies the requirements. Third, we adjust the gains (i.e. k1,k2,kn) so that the characteristics equation of the system matches the desired one. This is only possible if the system controllable. \$\endgroup\$
    – CroCo
    Jul 4, 2018 at 17:59

2 Answers 2


My question is that even if we have control over eigen values of this new vector how does that help us control the system i.e. to bring our system to our desired state?

If you consider your system as just the plant, then all you can achieve by state feedback control is stabilization (if the system is stabilizable) with pole-placement (if the system is controlable). However, by augmenting the system with a controller that follows the Internal Model Principle, you can use the same state-feedback design method and track a given reference signal.

Demonstration: plant system is G, with controller system F. $$ G:\begin{cases} \dot{x}(t) = Ax(t)+Bu(t)\\ y(t) = Cx(t) \end{cases} $$

$$ F:\begin{cases} \dot{x}_c(t) = A_cx_c(t)+B_ce(t)\\ \end{cases} $$

\$y(t)\$ is the linear combination of states that must track reference signal \$r(t)\$. Both \$y(t)\$ and \$r(t)\$ may be vector signals (multiple-input-multiple-output case).

When closing the feedback loop, error signal is \$e(t) = r(t)-y(t)\$. The augmented system for state vector \$\bar{x}(t) = \begin{bmatrix}x(t)\\x_c(t)\end{bmatrix}\$ then follows:

$$ \begin{cases} \dot{\bar{x}}(t) = \begin{bmatrix} A & 0\\ -B_cC & A_c \end{bmatrix}\bar{x}(t) + \begin{bmatrix} B\\ 0 \end{bmatrix}u(t)+\begin{bmatrix} 0\\ B_c \end{bmatrix}r(t) = \bar{A}\bar{x}(t)+\bar{B}u(t) + \bar{B}_rr(t)\\\\ y(t) = \begin{bmatrix}C&0\end{bmatrix}\bar{x}(t)=\bar{C}\bar{x}(t) \end{cases} $$

Now apply state-feedback \$u(t) = K\bar{x}(t)\$:

$$ \dot{\bar{x}}(t) = (\bar{A}+\bar{B}K)\bar{x}(t) + \bar{B}_rr(t)\\ $$

If \$A\$ or \$A_c\$ follow the Internal Model Principle (replicate the modeled dynamics of the reference signal), then the output \$y(t)\$ will track the reference \$r(t)\$. The transfer function from \$r(t)\$ to \$y(t)\$ is \$T(s)\$.

$$ T(s) = \bar{C}(sI-(\bar{A}+\bar{B}K))^{-1}\bar{B}_r $$

  • \$\begingroup\$ I don't see how that would work. The reference \$r\$ only impacts on the states \$x_c\$, while the output does not depend on \$x_c\$. \$\endgroup\$
    – Koen Tiels
    Feb 17, 2019 at 9:46
  • 1
    \$\begingroup\$ @KoenTiels yet \$x(t)\$ is impacted by \$u(t)\$, which in turn depends on both \$x(t)\$ and \$x_c(t)\$ when full state-feedback is applied. So if \$r(t)\$ (or more secifically, \$e(t)\$) drives \$x_c(t)\$, this affects \$u(t)\$ and, consequently, \$x(t)\$ and \$y(t)\$. \$\endgroup\$ Feb 18, 2019 at 6:00
  • \$\begingroup\$ Thanks for the clarifications @VicenteCunha! I upvoted your answer, since it is more complete. \$\endgroup\$
    – Koen Tiels
    Feb 18, 2019 at 11:03

The short answer is: add a reference input. So

u[k] = -K*x[k] + r[k]

instead of

u[k] = -K*x[k]

so that you can also steer the states to their desired values at any given time.

By tuning \$K\$, you can only place the poles of the closed-loop system. This allows you for example to make the system stable (by placing the poles inside the unit circle) or to make it respond faster (by moving the poles closer to the origin). But tuning \$K\$ does not allow you to steer the states at any given time. Without the reference signal \$r\$, the state values are determined completely by their initial values \$x[1]\$. They will decay exponentially (with or without oscillations) to their equilibrium \$x=0\$ (if you made the system stable). How fast this exponential decay is, and if there are oscillations or not, depends on the eigenvalues of \$A-BK\$. To make the state trajectories different from these damped exponentials or sine waves, you need to add a reference input.

  • 1
    \$\begingroup\$ Adding the reference signal to control input is not sufficient for asymptotic tracking. Ideally, the transfer function between input and output should evaluate as 1 at each frequency component of \$r\$. You may get away with this by adequately pre-scaling the reference signal, but in the general case a controller following the internal model principle is necessary. \$\endgroup\$ Feb 18, 2019 at 6:08

Your Answer

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

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