Designing digital lead and lag compensators using root-locus

Lead and lag compensators are used quite extensively in control design. As you may have seen in the continuous lead and lag compensator design, a lead compensator can increase the stability or response speed of a system; a lag compensator can reduce the steady-state error. Depending on the effect desired, one or more lead and lag compensators may be used in various combinations.

In this page, you are going to see how to design digital lead and lag compensators used for root-locus design method.

Consider the following first-order compensator

The gain (Kd) must be

so as not to affect the steady-state response.

The pole (zp) must be a real value inside the unit circle. For a phase-lead, the zero is greater than the pole (zo > zp) and the Kd is greater than 1 (Kd > 1).

Generally for the phase-lead design, the compensator zero (zo) is placed close to the location of one of the plant's pole for the pole-zero cancellation effect. The compensator pole (zp) will be placed to the left of the zero so that the root-locus will shift to the left. The figure below illustrates how the root-locus shifts by placing the pole and the zero.

Shifting the root-locus to the left results in faster response time.

Now the question is how far left do we need to shift. It depends on design requirements such as rise time, settling time, and overshoot. Use the figure and the three equations shown in Stability and transient response to determine desired root locations. You may need to select the location of the compensator pole (zp) by trial and error until you get the root-locus in desired location. After you have done that, use the MATLAB function rlocfind to select desired poles and obtain a corresponding gain (K); thus, obtaining the desired response.

## Lag or phase-lag compensator

Just like for the lead compensator, the phase-lag compensator can be expressed in the form

and

The pole (zp) must be a real value inside the unit circle. For a phase-lag, the zero is less than the pole (zo < zp) and the Kd is less than 1 (Kd < 1).

The philosophy of the design is the following. Consider the root-locus shown below.

Suppose the root locations za and zaBar give a satisfactory transient response (such as overshoot, settling time, rise time), but the gain (K) must be increased to reduce steady-state errors. We add the compensator pole close to z = 1 and the compensator zero to the left of right-most plant pole.

Recall from your control textbook, the gain (K) is infinity at zeros and 0 at poles. By adding zero (zo) to the root-locus, the gain (K) at za and zaBar increases. Also the compensator zero and pole have been (or should have been) appropriately placed so that the desired root locations za and zaBar still remain in same place. After you have done that, use the MATLAB function rlocfind to select the poles (za and zaBar) and obtain a response. You may need to select the location of zo and zp by trial and error until you obtain a satisfactory response.