I'm trying to control a system where the controller sample rate is physically fixed and the plant has significant dynamics on the same order as the sample rate. I understand that one would prefer to have the sample rate considerably faster than the plant dynamics, but the physics of this system are such that this is inherently impossible. I can get some control of the system by hand-tuning a PID, but it seems considerably sub-optimal.

Is there a strategy for developing a controller like this?

Edit: I should add that the plant is this situation is a relatively complex LTI plant with reverberations caused by pure time delays. The delay cycles are a bit slower than the Nyquist frequency. The plant is stable.

  • $\begingroup$ not a good one. if you have significant content above Nyquist, i think you might be screwed. $\endgroup$ Commented Jun 21, 2016 at 23:50
  • $\begingroup$ Do you have a model for the plant dynamics? $\endgroup$
    – datageist
    Commented Jun 22, 2016 at 0:26
  • $\begingroup$ Would a low-pass-filter of sufficient order be able to suppress those dynamics? $\endgroup$
    – fibonatic
    Commented Jun 22, 2016 at 11:15
  • $\begingroup$ Robert: There is some content above Nyquist, but the main dynamics I hope to address are between 0.1 and 0.5 Fs. $\endgroup$
    – tkw954
    Commented Jun 23, 2016 at 15:00
  • $\begingroup$ datageist: I have a model. It's a relatively complex linear system with reverberations due to pure time delays. The delay cycles are a bit slower than the Nyquist frequency. $\endgroup$
    – tkw954
    Commented Jun 23, 2016 at 15:03

1 Answer 1


Depending on your plant you might be able to do something. If the plant is unstable, but dominantly linear, you should be able to get a very accurate model using exact discretization (zero-order hold). Either you will be able to stabilize your plant using PID, or PID will be of too low order, in which case you need to switch to a control law matching you plant order. The H-infinity synthesis framework (robust control) will do that for you. Here you can also include uncertainty weights to limit control law gain, which might help esp. if your system is not linear. Depending on the uncertainty you might not be able to find a feasible control law for stabilization, however...

If your plant is stable, or stabilizable, you can further improve performance using feed-forward control. Here the sampling time should not be of much concern, and you can use something like zero phase error tracking.

  • $\begingroup$ There is no such thing as exact discretization and zero-order hold is one of the worst you can do in terms of stability. $\endgroup$
    – percusse
    Commented Dec 21, 2016 at 2:39
  • $\begingroup$ @percusse: how come it works in every single lab set-up I've ever done then? $\endgroup$
    – Arnfinn
    Commented Dec 22, 2016 at 4:07
  • $\begingroup$ Because you are not close to their sampling frequency. $\endgroup$
    – percusse
    Commented Dec 22, 2016 at 4:27
  • $\begingroup$ @percusse: but I have been, still works $\endgroup$
    – Arnfinn
    Commented Dec 22, 2016 at 4:28
  • 1
    $\begingroup$ @percusse: what? Can you include a link to the method you feel is inexact? You must be talking of something different. The ZOH method is exact in the sense that given an exact model of the continuous-time system (including an "exact" ZOH) the ZOH method exactly predicts how the plant will appear to the sampled-time controller. You can even account for processing delays if need be. Perhaps you're conflating inexact modeling in the continuous-time domain with inexact conversion to a discrete-time domain? $\endgroup$
    – TimWescott
    Commented Dec 6, 2019 at 18:46

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.