Adding additional poles

Here we investigate the effect of adding more poles to a second order system.

Consider the following three systems: $$ \begin{align} T_1(s) &= \frac{25.542}{s^2 + 4s + 25.542} \\ T_2(s) &= \frac{245.42}{(s+10)(s^2 + 4s + 24.542)} \\ T_3(s) &= \frac{73.626}{(s+3)(s^2 + 4s+24.542)} \end{align} $$

We'll simulate each in response to a step input and investigate the effect of the additional pole


In [7]:
%matplotlib notebook
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt

In [2]:
# compute the pole locations
second_order_poles = np.roots([1, 4, 25.542])
second_order_poles


Out[2]:
array([-2.+4.64133601j, -2.-4.64133601j])

In [14]:
# find the step responses
t1, c1 = signal.step(([], second_order_poles, 24.542))
t2, c2 = signal.step(([], np.append(second_order_poles, -15), 24.542*15))
t3, c3 = signal.step(([], np.append(second_order_poles, -3), 73.626))

In [15]:
# plot the responses
fig, ax = plt.subplots()
ax.plot(t1, c1, label='Second Order')
ax.plot(t2, c2, label='s=-10 pole')
ax.plot(t3, c3, label='s=-1 pole')
ax.grid()
ax.legend()
plt.show()


Effect of extra poles

The effect of the extra pole is dependent on it's location in comparison to the dominant second order system

The more it moves to the left, the less of an impact.

We can effectively ignore it when it is greater than 5 times the dominant second order poles