A new technique is presented for pole placement of linear
time-invariant systems using dynamic feedback. A recently developed method for partial pole assignment
using constant feedback is generalized to the dynamic output-feedback case. Subject to a mild assumption on the number
of complex conjugate poles to be assigned, it is almost always possible to
arbitrarily assign all the closed-loop system poles using a compensator of order
$\lceil \frac{n-\varphi}{\max(m,\ell)} \rceil$ using this
new method. Here $n$, $m$ and $\ell$ are the order of the system, and the number of inputs and outputs, respectively, and
\begin{equation}
\varphi \triangleq \max(m,\ell) + \lfloor \frac{\max(m,\ell)}{2} \rfloor
+\ldots +
\lfloor \frac{\max(m,\ell)}{\min(m,\ell)} \rfloor
\notag
\end{equation}
where $\lfloor x \rfloor$ denotes the nearest integer lower than or equal to $x$
(\ie floor($x$)), and $\lceil x \rceil$ denotes
the nearest integer greater than or equal to $x$ (\ie ceiling($x$)). An equivalent result is that using a compensator
of order $q$, it is almost always possible to arbitrarily assign$\min(n+q,(\max(m,\ell)+1) \,
q+\varphi)$ closed-loop system
poles. Only the normal procedures of linear algebra are required to implement the technique. Note that
$\varphi \geq \ell+m-1$ and,
therefore, the result is stronger than previous exact pole assignment results. Since it does not involve iteration or any
other numerical techniques, it is possible to implement the method symbolically and, therefore, to obtain general parametric
solutions to the pole assignment problem. The freedom in this design approach can also often be used to guarantee the internal
stability and/or robustness of the resulting closed-loop system.