# What is causing this long tail in the transient reponse?

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.

• What is your hysteresis zone? If you've got .1 volt or so at the top to work with, the transient may not matter. Jan 12 '19 at 17:25
• Thanks for your comment. Hysteresis is 0.0835 which is more than the 2% (0.02 for a step input of 1) criterion for settling time
– rrz0
Jan 12 '19 at 17:56
• I put this as a comment and not a solution because it's a guess. Try putting four zeros at $s = -1$ and see what happens. Then try putting them all at $s = -4$. Then see if that suggests a way that you can get things working. Note that (without actually checking), my intuition tells me that the system just isn't going to be terribly robust. Jan 29 '19 at 21:51
The slow oscillating behavior in the system results from a pole with real part close to zero and, by looking at your step response, with a frequency close to $$\0.1 \; \text{Hz}\$$ $$\\; (0.62 \; \text{rad/s})\$$. So the poles causing it are the ones at $$\s_0 = -0.02+0.58i\$$ , and $$\s_1 = -0.02-0.58i\$$.
I think you need to check the residue corresponding to pole you want to cancel to check if pole-zero cancellation is valid. Residue is the constant multiplied to partial fraction term of this pole. For example, if $$F(s)=\frac{26.25(s+4)}{s(s+3.5)(s+6)}$$ the residue of the partial fraction term of $$\s+3.5\$$ pole is $$\1\$$ which cannot be neglected so $$\s+3.5\$$ and $$\s+4\$$ cannot cancel each other, and for $$F(s)=\frac{26.25(s+4)}{s(s+4.01)(s+6)}$$ the residue of the partial fraction term of $$\s+4.01\$$ pole is $$\0.033\$$ which can be neglected so $$\s+4.04\$$ and $$\s+4\$$ can cancel each other.