0
$\begingroup$

For a typical conventional control loop (no delay, measurement transfer function is 1) the closed-loop transfer function is

$$H(s) = \frac{G_{comp}G_{process}}{1+G_{comp}G_{process}}$$

With an actuator delay of $T$, the transfer function is as follows.

$$H(s) = \frac{G_{comp}G_{process}e^{-Ts} }{1+G_{comp}G_{process}e^{-Ts} }$$

However, suppose that the delay is in the measurement, i.e. in the feedback loop, the transfer function would then be as follows.

$$H(s) = \frac{G_{comp}G_{process}}{1+G_{comp}G_{process}e^{-Ts}}$$

I have the following two questions.

  1. How do I analyze the stability of the last case? As far as I understand, I cannot use the margin and allmargin Matlab functions as the delay is not in the open loop transfer function ($G_{comp}G_{process}$).
  2. Now assume that I'm stuck with a total delay of $100 \; \mu s$. Say, I can split the delay, $50 \;\mu s$ in the measurement and $50 \; \mu s$ in the actuator. Can I improve the performance, somewhat, of my controller compared to having an actuator delay of $100 \; \mu s$?

Edit Corrected the 2nd transfer function, with the actuator delay only. Thanks to @TimWescott for finding my mistake.

$\endgroup$
2
  • $\begingroup$ With actuator delay the closed-loop transfer function is $H(s) = (G_c G_p e^{-Ts})/(1 + G_c G_p e^{-Ts})$. Does that make sense? Do you mind editing your question to reflect that? $\endgroup$
    – TimWescott
    Feb 18 '20 at 22:28
  • $\begingroup$ Ok, I will try to edit the question tonight. Thanks for the feedback Tim $\endgroup$
    – Ben
    Feb 18 '20 at 22:33
2
$\begingroup$

1 - How do I analyze the stability of the last case? AFAIK, I cannot use the margin and allmargin Matlab functions as the delay is not in the open loop transfer function ($G_{comp}G_{process}$).

In both cases the open-loop transfer function is $1+G_{comp}G_{process}e^{-Ts}$

The open-loop transfer function is the transfer function from the output of the summing junction, back to the input of the summing junction. It includes the effect of all of the blocks -- controller, actuator, plant, and measurement.

You're being mislead by the fact that the closed loop transfer function doesn't include the delay in the numerator -- but it still does.

As to how to make that work with the Matlab functions -- I dunno. Can they take fixed delays, or must they be presented with rational transfer functions? If they can only be given rational transfer functions, then you need to calculate the frequency response of the open-loop transfer function and make a Bode or a Nyquist plot and assess stability margins yourself.

2 - Now assume I'm stuck with a total delay of 100 µs. Say I can split the delay, 50 µs in the measurement delay and 50 µs and the actuator delay. Could I improve somewhat the performance of my controller compared to having an actuator delay of 100 µs?

In this regard, having less actuator delay is fundamentally better, because you have less delay from command to output. Actually designing a controller that can take advantage of that may be a challenge, however. Certainly the response to a disturbance cannot be made better -- only the response to a command. In general pure delays like that just make life hard, no matter what.

$\endgroup$
2
  • $\begingroup$ You can use the padé approximant at least to approximate the delay. $\endgroup$
    – Ben
    Feb 19 '20 at 1:13
  • $\begingroup$ I checked it, and the load sensitivity transfer function is indeed the same in both case, i.e distributed delay and actuator delay only. $\endgroup$
    – Ben
    Feb 19 '20 at 1:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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