Effects
Tips

Extras: Discrete Pole Locations and Transient Response

Contents

In this page we are going to explain in more detail how the pole locations of a discrete-time transfer function relate to the corresponding time response.

Small damping (zeta = 0.1, Wn = (4 pi)/(5 T))

First let's consider the following discrete transfer function.

(1)$$ \frac{Y(z)}{F(z)} = \frac{1}{z^2 + 1.2z + 0.57} $$

The following commands will determine and plot the poles of this transfer function. Enter the following commands to a new m-file and run it in the MATLAB command window. You should see the pole-zero map shown below.

T = .05;
z = tf('z',T);
sys = 1/(z^2+1.2*z+0.57);
[poles,zeros] = pzmap(sys)
pzmap(sys)

axis([-1 1 -1 1])
zgrid
poles =
  -0.6000 + 0.4583i
  -0.6000 - 0.4583i
zeros =
   Empty matrix: 0-by-1

From this figure, we see that poles are located such that they have a natural frequency of (0.8 pi)/ T rad/sample or (4 pi)/(5 T) rad/sample (where T is the sampling time in sample/sec) and a damping ratio of approximately 0.1. Assuming that we have a sampling time of 1/20 sec/sample and using the three equations shown below,

(2)$$ t_s = \frac{4}{\zeta\omega_{n}} $$

(3)$$ t_r =\frac{1.8}{\omega_{n}}$$

(4)$$ M_p = e^{\frac{-\zeta\pi}{\sqrt{1-\zeta^2}}} $$

we can determine that this system should approximately have a rise time of 0.035 sec, a settling time of 0.8 sec, and a maximum overshoot of 70%. When you use these equations, you must convert the natural frequency (Wn) from rad/sample to rad/sec. Also, these relationships are most valid for underdamped 2nd order system with no zeros. Let's confirm these results by obtaining the system's step response. Add the following commands to the above m-file and rerun it in the MATLAB command window. You should see the following step response.

[x,t] = step(sys,2.5);
stairs(t,x)

The plot shows that the rise time, the settling time, and the overshoot are approximately as expected.

Medium damping (zeta = 0.4, Wn = (11 pi)/(20 T))

Now consider the next discrete transfer function.

(5)$$\frac{Y(z)}{F(z)} = \frac{1}{z^2 +0.25}$$

Let's follow the same steps as what we did above. Create a new m-file and enter the following commands. Running this m-file in the command window gives you the following pole map.

T = .05;
z = tf('z',T);
sys = 1/(z^2 + 0.25);
[poles,zeros] = pzmap(sys)
pzmap(sys)

axis([-1 1 -1 1])
zgrid
poles =
        0 + 0.5000i
        0 - 0.5000i
zeros =
   Empty matrix: 0-by-1

From this pole map, we see that poles are located at a natural frequency of (11 pi)/(20 T) rad/sample and a damping ratio of approximately 0.4. Assuming a sampling time of 1/20 sec as before and using the above three equations, we can determine that the step response should approximately have a rise time of 0.05 sec, a settling time of 0.3 sec, and a maximum overshoot of 25%. Let's obtain the step response and see if these are correct. Add the following commands to the above m-file and rerun it. You should see the following step response.

[x,t] = step(sys,2.5);
stairs(t,x)

Once again, this step response shows the rise time, settling time and overshoot that we approximately expected.

Large damping (zeta = 0.8, Wn = pi /(4 T))

For the last example, let's consider the following discrete-time transfer function.

(6)$$\frac{Y(z)}{F(z)} = \frac{1}{z^2 -0.98z + 0.3}$$

Just as before, enter the following commands to a new m-file and run it in the MATLAB command window. You should see the following pole-zero map.

T = .05;
z = tf('z',T);
sys = 1/(z^2 - 0.98*z + 0.3);
[poles,zeros] = pzmap(sys)
pzmap(sys)

axis([-1 1 -1 1])
zgrid
poles =
   0.4900 + 0.2447i
   0.4900 - 0.2447i
zeros =
   Empty matrix: 0-by-1

From this plot, we see that the poles are located at a natural frequency of pi /(4 T) rad/sample and a damping ratio of approximately 0.8. Once again assuming a sampling time of 1/20 sec, we can determine that this system should approximately have a rise time of 0.1 sec, a settling time of 0.3 sec and an overshoot of 1%. Let's confirm this by adding the following commands to the above m-file and rerunning it. You should see the following step response.

[x,t] = step(sys,2.5);
stairs(t,x)

The resulting step response again has roughly the shape predicted.

Using these three examples, we proved that the pole locations can be used to get a rough estimate of the transient response of a system. This analysis is particularly useful in the root-locus design method where you attempt to place the closed-loop poles to obtain a satisfactory response.