Control Loop Pre-Filtering

 

In designing feedback control systems, it's often necessary to use a compensator to shape loop dynamics and meet specific performance criteria such as rise time, overshoot and settling time. The compensator will often contain lead elements which introduce zeros into the closed loop transfer function. The presence of zeros will almost always cause some degree of overshoot for the closed loop system, the size depending upon the relative position of the zeros and closed loop poles within the complex plane. The PI (proportional-integral) and PID (propotional-integral-derivative) compensators are common examples of compensators that introduce zeros and cause overshoot.

But even with the introduction of zeros, it's possible to reduce or eliminate overshoot in the closed loop system by applying a pre-filter to the loop input command outside the loop. The procedure is simple:

 

The poles of the pre-filter cancel the zeros of the closed loop system. Another way to look at it is the pre-filter prevents the admission of frequencies that the closed loop system is unable to cope with in terms of reaching a target value without overshoot. It is important to note that the pre-filter does not change stability of the overall system considering the pre-filter itself is stable, and the closed loop is linear and stable. If designed properly, the pre-filter can effectively eliminate overshoot. Even so, a pre-filter will not solve overshoot considering the following circumstances:

Finally, If the overshoot of the closed loop system is relatively large, designing a pre-filter by the previously outlined technique will likely result in an overall system response that is accordingly slow. In this case, it is better to first change the closed loop dynamics by adjusting gains or choosing a different compensator structure before considering application of a pre-filter.

Acknowledgement: To Dominic Camilone, who patiently took the time and effort to explain pre-filtering to me.

Return To Main