Discrete pole locations and transient response

In this page, we are going to show you more analysis on the pole locations and the corresponding time response.

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

First let's consider the following discrete transfer function.

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

```numDz = [1];
denDz = [1 1.2 0.57];
T = .05;
sys = tf(numDz,denDz,T);
[poles,zeros] = pzmap(sys)
pzmap(sys)

axis([-1 1 -1 1])
zgrid
```

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

Important: When you use these equations, you must convert the natural frequency (Wn) from rad/sample to rad/sec.

we can determine that this system should have a rise time of 0.03 sec, a settling time of 0.9 sec, and a maximum overshoot of 70% (0.7 more than the steady-state value). Let's confirm this by obtaining the step response. 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)
```

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

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

Now consider the next discrete transfer function.

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

```numDz=[1];
denDz=[1 0 0.25];
T = .05;
sys = tf(numDz,denDz,T);
[poles,zeros] = pzmap(sys)
pzmap(sys)

axis([-1 1 -1 1])
zgrid
```

From this pole map, we see that poles are located at the natural frequency of 11pi/20T rad/sample and the damping ratio of 0.4. Assuming a sampling time of 1/20 sec as before and by using the above three equations, we can determine that the step response should have a rise time of 0.05 sec, settling time of 0.3 sec, and 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 all of the rise time, the settling time and the overshoot as what we expected.

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

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

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

```numDz=[1];
denDz=[1 -0.98 0.3];
sys = tf(numDz,denDz,T);
[poles,zeros] = pzmap(sys)
pzmap(sys)

axis([-1 1 -1 1])
zgrid
```

From this plot, we see that the poles are located at the natural frequency of pi/4T rad/sample and the damping ratio of 0.8. Once again assuming the sampling time of 1/20 sec, we can determine that this system should have the rise time of 0.1 sec, the settling time of 0.36 sec and the 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)
```

This time both the rise time and the settling time came out a little slower than what we expected; however, the overshoot still came out as what we expected.

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 are asked to pick poles (by choosing a gain using rlocfind) to obtain a satisfactory response.

Use your browser's "Back" button to return to the previous page.