In a digital feedback control system, I'm interested in the practical limit of what the correctable bandwidth is.

For example, given a very simple system:

  • A sensor can sample a simple X position error signal at 100Hz (like a camera)
  • An actuator has a bandwidth of 100KHz to correct for position errors (effectively, assume the system can respond instantaneously to commanded actions)
  • Input is sinusoidal, with non-negligible noise characteristics
  • The input is linear, stable, and minimum phase.
  • Controller is purely digital, as is all sensing equipment.

Having no intuition about the limits of feedback control systems, I would assume that such a controller would be able to correct for an input motion an order of magnitude lower than the sampling frequency with no problem. So a 10Hz sin wave would be sampled 10x, and the system can respond adequately to attenuate the input signal. Is 1 decade of separation of sampling and disturbance frequency enough to correct for? Or in general do you need more like 5 decades of separation?

  • \$\begingroup\$ if your sampling sensor is rather slow, you can actually model the 'plant' quite well and your controller can sort of 'guess' at what happens between the actual sensor readings, thus giving you fine-grained control with ultra-fast feedback and control in comparison to the actual sampling speed. You need controller commonly referred to as an "observer", and this operates very fast, and estimates the plant behaviour given real input, and the output. \$\endgroup\$
    – KyranF
    Commented Jun 11, 2014 at 14:52
  • 1
    \$\begingroup\$ In practice, I'm doing something very similar. And a nice dynamic model building Kalman filter would be excellent for overcoming a slow sensing system. I'm more looking for a gut feel of a basic feedback control problem without too many complications. Thanks for the tip though! \$\endgroup\$
    – zachd1_618
    Commented Jun 11, 2014 at 16:39
  • \$\begingroup\$ You say "assume the system can respond instantaneously to commanded actions". But the system would need to measure the sensed value, calculate a control action and apply the control action. What kind of numbers are we talking about for that? \$\endgroup\$
    – akellyirl
    Commented Jun 11, 2014 at 20:53
  • \$\begingroup\$ By that I mean the bandwidth of the actuator is sufficiently high to assume that as soon as a command is calculated, it goes there. Say it has a settling time of 1 nanosecond. \$\endgroup\$
    – zachd1_618
    Commented Jun 11, 2014 at 21:44

2 Answers 2


Unfortunately the answer is not as straightforward as you might like.

Let's define to Open Loop Bandwidth as the frequency at which the loop gain is 1 (standard definition). Above this frequency the loop can not respond effectively to commands or feedback.

In an ideal system Sampling Rate compared to Open Loop bandwidth does not really matter so long as the Nyquist criterion is satisfied, but in any real system delay is usually associated with the sample rate clock (e.g. digital controller calculation time), then the relationship between Sampling Rate and Open Loop bandwidth really does matter. As a guideline the crossover frequency must be less than the reciprocal of the time delay in the loop : Wc < 1/Td .

There are several factors involved in loop delay: Time to measure the sensed value, Time to calculate the response, time to Activate the response.

The time to activate the response may be misleading. It's not just the response of the actuator. It's also the delay involved in converting from Discrete time to Continuous time (e.g. a DAC). The delay here is due to the Zero-Order-Hold effect of the conversion. All Linear Discrete Time control systems have this delay. The delay = T/2 where T is the sample period. So, assuming (as you have stated) all delays in the loop are negligible, then we only have to account for the ZOH delay (T/2) and therefore the max achievable bandwidth is Wc < 2fs (where fs is the sample rate) which gives the max achievable bandwidth in Hertz as fc < fs/pi .

Keeping the open loop bandwidth less that 1/10 sample rate is a good idea for a discrete time controller, controlling a continuous time plant. That's because you can reduce the effect of frequency warping in the model conversions from continuous to discrete.

However, despite all that, the most important aspects are not covered by any of the above discussion. You really do need to know what you are controlling because several factors may influence the bandwidth of the controller as well as the type and structure. Is it a stable open-loop system? If not then this open loop bandwidth must be significantly greater than the frequency of the unstable mode. Is it linear? If not then a linear controller may be unsuitable. You may need something like Receding Horizon Control (which does not have a bandwidth as such). Is it minimum phase? If it is not the open loop bandwidth is usually required to be less than the RHP zero frequencies.


"The phase margin(\$\text{PM}\$) tells how much negative phase(phase lag) we can add to the loop transfer function \$L(s)\$ at frequency \$\omega_c\$ before the phase at this frequency becomes \$-180^o\$ which corresponds to closed-loop instability. Typically, we require \$\text{PM}\$ larger than \$30^o\$ or more. The \$\text{PM}\$ is a direct safeguard against time delay uncertainty; the system becomes unstable if we add a time delay of \$t_{dmax}=\frac{\text{PM}}{\omega_c}\$. "[1]. The delay due to the Zero-Order-Hold is \$\frac{T_s}{2}\$. To make sure the closed-loop system stable, we have at least \$t_{dmax}=\frac{\text{PM}}{\omega_c} >\frac{T_s}{2} \$, that is \$f_s>\frac{\pi}{\text{PM}}f_c \$. So we have \$f_s>6f_c \$ for a system with \$\text{PM}\$ of \$30^o\$.

[1]Skogestad, Sigurd, and Ian Postlethwaite. Multivariable feedback control: analysis and design. Vol. 2. New York: Wiley, 2007, pp. 36.


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.