Say we have a single-input linear system $\dot{\mathbf{x}} = A\mathbf{x}+Bu$. With full-state feedback ($u=-G\mathbf{x}$), it is straightforward to arbitrarily place the $n$ closed-loop poles (i.e., the eigenvalues of $A-BG$, or the roots of $sI-(A-BG))^{-1}=0$) by selecting the values of $G$.

I'll give a brief example: $\dot{\mathbf{x}}= \begin{bmatrix}0&1\\-a&-b\end{bmatrix}\mathbf{x} + \begin{bmatrix}0\\1\end{bmatrix}u$.

Say we want the poles of the closed-loop system to be at $-1$, i.e., we want the characteristic equation to be $s^2 + 2s + 1 = 0$. We can achieve this by choosing $u = \begin{bmatrix}a+1&b+2\end{bmatrix}\mathbf{x}$.

As long as the system is controllable, the plant dynamics don't matter -- with full state feedback, we can always cancel them and place the closed-loop poles arbitrarily.

However, I don't fully understand why we aren't able to arbitrarily place the closed-loop poles in the classical transfer function/block diagram approach. Consider a unity feedback system with control transfer function $G_c(s)$ and plant transfer function $G_p(s)$.

The closed-loop transfer function from reference to output is

$$\frac{Y(s)}{R(s)} = T(s) = \frac{G_c(s)G_p(s)}{1+G_c(s)G_p(s)}$$

It seems like I can always pick a $G_c(s)$ to give me the desired closed-loop transfer function $T_d(s)$, i.e., by rearranging the above equation to solve for $G_c$:

$$G_c(s) \stackrel{?}{=} \frac{T_d(s)}{1-T_d(s)}\cdot\frac{1}{G_p(s)}$$

This seems like the Laplace domain analog of the state-space approach I described above. So why don't we do this? I can imagine several reasons this might go wrong:

  1. Perhaps this approach always gives the desired response from reference to output, but gives undesirable disturbance or noise responses due to pole-zero cancellations between the controller and plant.

  2. Perhaps the resulting control transfer function can't be implemented physically? Say the resulting $G_c(s)$ is improper - does that mean it is "unrealizable"? Would this imply that it can't be implemented?

Are there other reasons we don't use this approach?


Update. I've applied the proposed transfer function approach to the state-space system I described above. The plant transfer function is $$G_p(s)= \frac{1}{s^2+bs+a}$$ My desired closed-loop transfer function is $T(s) = 1/(s+1)^2$ to place the poles at $-1$. So my required controller transfer function would be

$$G_c(s) = \frac{T_d(s)}{1-T_d(s)}\cdot\frac{1}{G_p(s)} = \frac{s^2+bs+a}{s(s+2)}$$

so I'm effectively just using the controller to cancel the plant poles in $GcGp(s)$. This makes me think that perhaps disturbance response or noise rejection would be a limitation with this design. However, I am still missing an insight into why this is a problem using the transfer function approach but not the state-space approach.

edit: added bounty.


2 Answers 2


Unnecessary additional information that might help

From a pragmatic point of view, there might be a problem when trying to control a given plant using only its transfer function $G_p(s)$. In general, you test the plant putting a series of inputs and seeing how it reacts, measuring the respective outputs. From that, you can model the plant as a transfer function in the Laplace domain. However, the intrinsic dynamics of the plant may have hidden unstable modes (for instance, poles that cancel with zeros, which means you are not able to notice their presence in the system) and thus the control system you design wouldn't work as expected.

But that's in real life. In Control Theory, we are often offered the transfer function of the plant with all the poles and all the zeros. So let's assume that $G_p(s)$ doesn't show this weird behaviour I described above. In that case, one must notice (at least) three advantages that state spaces (SS from now on) offer:

  • Working with SS instead of transfer functions can be way easier. If the order of the system is too high, operating with matrices can be the only way to deal with the system.
  • SS provide an easy way to deal with MIMO systems. Using transfer functions for each pair of input-output would be too tedious.
  • SS let us see those hidden unstable modes I referred to before (looking at the eigenvalues of the matrix $A$), while in the transfer function they cancel out.

The actual answer to your question

Now getting to your question, you've asked what happens when the system is of low order (in your example, the plant is of second order) and SISO.

You can definitely find your transfer function performing the variable isolation you've written for $G_c(s)$. The problem with that is that some things could go wrong. For example,

  • $G_c(s)$ could be impossible to implement.
  • $G_c(s)$ could be unstable, thus making the control system non-sense.
  • $G_c(s)$ could have zeros in the RHP that might cancel out with poles of $G_p(s)$.

If none of those things happen (maybe there are some other aspects that one should take into account, but I couldn't think of any additional one), then go ahead: you are free to find your control system, $G_c(s)$, without using full-state feedback at all.

The thing is that SS offer us a lot more information than transfer functions do. This is easy to notice, as when working with SS we are looking at not only the input and output variables, but the other state variables as well, which are totally left apart when working with transfer functions and block diagrams alone. When doing full-state feedback, we are using this additional information to control the system (i.e. you don't just use the output, but each one of the state variables). This means that there are other tools we can use to stabilize the plant and we were not using before. If the design using full-state feedback is good, then the closed-loop will work as a charm and none of the problems I've described above (unstability, unstable poles and zeros cancelling out, etc.) will appear.


The problem is numerical. You can in theory place the poles wherever you want. But as you have provided the examples are always academic. The polynomial methods are far far less accurate than matrix methods. The notorious Wilkinson polynomial is a prime example of such problems. In fact root finding of polynomials actually converts the polynomial coefficients into a companion matrix and solves the eigenvalue problem. So on paper maybe, in reality no.

Regarding the pole placement algorithms, the general problem is to dealing with the so-called Jordan structures. What you are describing is the classical Ackermann method (matlab's acker method) which has already been replaced by place and that is still not providing complete freedom.

In the SISO case the solution is unique but in MIMO case it is not. There is a large body of literature that has been converging to a full solution only very recently. One example is A unified method for optimal arbitrary pole placement by R Schmid, L Ntogramatzidis, T Nguyen, A Pandey (Automatica 50 (8))


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.