I have a fifth order transfer function for which I designed a controller using pole-zero cancellation technique on a root locus. I am targeting \$<5%\$ overshoot and \$<2s\$ settling time. Currently, the overshoot criteria are satisfied.
Note I know that exact p-z cancellation is nearly impossible in real life.
The controller and the original 5th order transfer function are shown in Simulink below
which give a response with a long tail in the transient response, and thus, a very long settling time.
As per Chu's comment here,
Placing zeros close to poles in an attempt to 'cancel' is not too clever. It's usually impossible to plonk a zero directly on top of a pole and expect both poles and zero to stay put. The result is a 'dipole' (a pole and zero in close proximity) that gives rise to a long-tail in the transient response.
and HermitianCrustacean's comment,
The 4th order controller you've chosen is difficult to numerically model ...
What would be the root cause of this unacceptably long settling time, inexact p-z cancellation (the controller which is difficult to numerically model), or both? Any suggestions on how to improve the response would also be greatly appreciated.
Poles of 5th order system
Poles = 1.0e+02 * -9.9990 + 0.0000i -0.0004 + 0.0344i -0.0004 - 0.0344i -0.0002 + 0.0058i -0.0002 - 0.0058i
Zeros placed to cancel poles
4th order controller
I would be happy to provide further information if needed.