A lag filter or compensator has the Laplace transform transfer function

$$G_c(s) = \frac{s+z}{s+p},$$

with $-z < -p < 0$. In practice, the effect of lag compensation in feedback control, is to increase the DC gain of the open-loop system by the factor $G_c(0)=z/p$, which improves the ability of the closed-loop system to track low-frequency reference signals. The tradeoff is that the open-loop system incurs a phase shift of $-\pi/2$ at frequencies $z < \omega$.

However, in the limit as $p\rightarrow 0$, we are left with a PI controller, which has the form

$$G_c(s) = K_p + \frac{K_I}{s} = \frac{K_p s + K_I}{s},$$

which has infinite DC gain ($|G_c(0)|$), meaning the closed-loop system now achieves zero steady-state error in response to a step reference. The only tradeoff I can see compared to the lag filter is that there is a phase shift of $-\pi/2$ for $\omega < p$, but I don't see why this is a problem in practice.

Since the steady-state error is improved as the pole moves closer to the origin, why would you ever use a lag filter (with $z > 0$) rather than just place the pole at the origin?

  • $\begingroup$ I was mainly taught that (lead/)lag filter can be used to increase phase margin at the crossover frequency. $\endgroup$
    – fibonatic
    Jan 31, 2017 at 23:49
  • $\begingroup$ I believe that is the case only for lead compensation ($-p < -z < 0$), since the lag compensator has strictly negative phase. $\endgroup$
    – Max
    Feb 1, 2017 at 12:15

2 Answers 2


Well, the two systems differ only at low frequencies. In fact, if you define $$ R_L = \dfrac{\tau_zs+1}{\tau_ps+1},\qquad R_I = \dfrac{\tau_zs+1}{\tau_ps} $$ you have that $R_I(j\omega)\underset{\omega\to\infty}{\to}R_L(j\omega)$. Therefore, you can expect that the behavior of the closed-loop system differs only at lower frequencies.

What does the PI do?

Consider a plant $G(s)$, define $L_I(s)=R_I(s)G(s)$ and $L(s)=R_L(s)G(s)$. Define the functions \begin{align*} F(s) &= \dfrac{L(s)}{1+L(s)},& S(s)&=\dfrac{1}{1+L(s)}, & D(s)&=\dfrac{G(s)}{1+L(s)} \end{align*}

$F(s)$ is the transfer function from the reference and the output, $S$ is the transfer function from a disturbance acting at the output of $G(s)$ and the system output and $D(s)$ is the transfer function from a disturbance acting additively on the control input and the system output. As you easily see, at frequency $\omega=0$ you have $F(0j)=1$, $S(0j)=0$, $D(0j)=0$. This implies that at front of any constant unknown references and/or disturbances, you always get zero error, provided that the system is stable.

What a lag net cannot do

With a lag controller you do not have the above robustness property. In fact, even if by using a lag net together with an appropriate feed-forward action, you can still have zero steady state error at front of constant references, that is not a robust solution. The reason is simply that the feed-forward control law will (highly) depend on the plant parameters and therefore, as you put an uncertainty on the plant, you lose the zero steady state error property.

With an integral action instead, as long as the system is stable, you always obtain a zero error given constant references and/or disturbances, no matter how large the parameter uncertainty. The only thing you need to ensure is the closed-loop stability, and note that to stabilize a system you don't really need perfect knowledge of the parameters and in fact typically you can tolerate quite high uncertainties.

So why should I use lag controllers?

Well, if you need robust regulation w.r.t. constant references and/or uncertainties there is no theoretical reason to go for a lag controller. I would definitely go for a PI. However, not all the tasks are about regulating a system at front of constant references. Having a pole in the origin to track a sinusoid is not that awesome, is it? The point is, what do you need your controller to do? Every distinct answer to this question needs a different controller, and you typically chose your lag or PI or other control configuration to shape the frequency response of the closed-loop system. Think about this: how would you design a controller to have zero error given references that are sinusoids at frequency $\omega=3$?

  • $\begingroup$ Just to be clear: the results that $F(j0)=1$, $S(j0)=0$, and $D(j0)=0$ are for the PI controller rather than the lag controller? It seems that unless the plant has a pole at the origin, $|F(j0)|<1$ for the lag controller. In any case, the last paragraph very clearly answers my question. Thanks. $\endgroup$
    – Max
    Feb 1, 2017 at 12:13
  • 1
    $\begingroup$ yes, definitely. Obviously that holds only if $G(s)$ does not have any zero in the origin! $\endgroup$
    – LJSilver
    Feb 1, 2017 at 12:15
  • 1
    $\begingroup$ For the record, you can use a resonant controller to track a sinusoid at w = 3. $\endgroup$
    – Ben
    Apr 2, 2019 at 18:40


Since steady-state error is improved as the pole moves closer to the origin, why would you ever use a lag filter (with $z > 0$) rather than just place the pole at the origin (as a PI controller does)?


Realizable systems have saturations. During a saturation, the controller command embodied in the pole at zero can attempt to integrate to infinity.


Because of Reset Windup.

Integral windup, also known as integrator windup[1] or reset windup,[2] refers to the situation in a PID feedback controller where a large change in setpoint occurs (say a positive change) and the integral terms accumulates a significant error during the rise (windup), thus overshooting and continuing to increase as this accumulated error is unwound (offset by errors in the other direction). The specific problem is the excess overshooting.

Why do we care?:

Integral windup particularly occurs as a limitation of physical systems, compared with ideal systems, due to the ideal output being physically impossible (process saturation: the output of the process being limited at the top or bottom of its scale, making the error constant). For example, the position of a valve cannot be any more open than fully open...

What can we do about it?:

Most PID controllers have some sort of Anti-Reset Windup parameters. These do work great, especially when they are aware of the system non-linearity's. But it is also possible, as noted in the question, to not put the pole all the way to zero. One way to think about it is that we are trying to increase the gain of low frequencies to remove steady state (DC) offsets. If you have a 16-bit A/D reading your physical property, this has at best, roughly 100 db of signal to (quantization) noise. So, anymore than 100db of low frequency gain in an effort to remove DC error will have no practical benefit. On the other hand, distinguishing between a pole that is 5 decades slower than your plant and a pole at zero is likely a distinction of little or no value.

(Source for Quotes)

  • $\begingroup$ I'm not sure I understand the relevance of this quote. Is the point that placing the lag pole closer to the origin results in increased overshoot? If so, is it possible to see this from the frequency response, e.g., is this related to the DC phase shift? Or is there some other reason that this should be obvious? $\endgroup$
    – Max
    Jan 31, 2017 at 22:00
  • 2
    $\begingroup$ I do not agree. You can easily get rid of windup by suitable anti windup schemes. Moreover the pole in the origin is related to the internal model property, that is a really feneral principle that holds for general nonlinear systems. A pole in the origin permits you to have robust regulation at front of constant references $\endgroup$
    – LJSilver
    Feb 1, 2017 at 9:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.