Control Loop Pre-Filtering
In designing feedback control systems, it's often necessary to use a compensator to meet stability margins
and set fundamental speed and damping. The compensator will often contain lead elements which
introduce zeros into the closed loop transfer function. The presence of zeros in either the system or
compensator may cause overshoot in the transient response 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 (proportional-integral-derivative) compensators are common examples of
compensators that introduce zeros and which may lead to overshoot.
But even with the introduction of zeros, it's possible to reduce or eliminate overshoot in the closed loop
system from input commands by applying a pre-filter to the loop input command outside of the feedback
loop. The procedure is simple:
- Determine the zeros of the closed loop system
- Design a lowpass filter in which the poles match the zeros of the closed loop system
- Apply the lowpass filter to the input command outside the closed loop system
The poles of the pre-filter essentially cancel the zeros of the closed loop system. Another way to look at it
is that the pre-filter prevents the admission of frequencies into the input command 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 from input commands. Even so, a
pre-filter will not solve overshoot considering the following circumstances:
- The zeros of the closed loop system are not stationary with respect to other system parameters or
with time. This can occur in non-linear or time varying systems
- System input commands can be pre-filtered, however system disturbances usually cannot be pre-
filtered. Thus the pre-filter is practical for tracking controls or for preventing overshoot while
changing the set-point for a regulator. Pre-filters in general will not prevent overshoot due to
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 the concepts of
pre-filtering to me.