# Measurement delay versus control delay

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.

• 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? Feb 18, 2020 at 22:28
• Ok, I will try to edit the question tonight. Thanks for the feedback Tim
– Ben
Feb 18, 2020 at 22:33

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.

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