# Calculating an in-loop signal as part of a hierarchical control loop

I've got a control system with two feedback paths, with each path going to a different actuator that corrects the error in the system. One feedback path provides feedback at low frequencies, and the other at high frequencies. Here is the loop: I want to calculate the signal on one of the actuators (the node at the output of the "slow" block) while the loop is closed, given a disturbance that I inject before the summing junction. The signal I want to calculate is "A". The input is normally zero (I just want to suppress disturbances to zero, not some set-point).

I initially started by calculating the open loop gain provided by the inner plant-slow-sum loop, i.e. A = slow * plant * disturbance, and then divided the disturbance by this open loop gain to give me something that approximates the disturbance suppressed by the closed loop, but this is not correct because in reality some of the disturbance is also suppressed by the outer plant-fast-sum-sum loop. In effect, the disturbance that the "slow" loop will see at high frequencies will be much lower, since the "fast" loop suppresses it there.

How do I calculate the closed-loop signal at A due to the disturbance, including the effect of the outer loop?

• A bit confused, usually the fast loop is the inner loop... – Ben Dec 18 '18 at 15:35
• "Fast" and "slow" in this case refer to high and low frequency feedback through two different actuators. The difference for this problem is irrelevant. – Sean Dec 18 '18 at 16:02
• It seems like you have only one actuator. You mean feedback from two different sensors, right? – Ben Dec 18 '18 at 16:24
• The actuators are included in the "fast" and "slow" blocks for simplicity. In reality there are many blocks in these chains. I just want to know the proportion of the disturbance that shows up at A when both loops are closed. – Sean Dec 18 '18 at 17:15
• I'm pretty sure that you've got some of the signs wrong by the way. Usually we have negative feedback. In your case positive feedback. – Ben Dec 18 '18 at 18:20

UPDATE: My original answer incorrectly assumed the outer loop would not impact the result, but as pointed by Ben, this transfer function is dependent on the fast feedback.

The resulting equations are found by solving for $$A/X$$ from the block diagram below, with X representing the disturbance input: Solving this:

$$Y = P(SY+FY+X)$$ $$A/S = P(A + FA/S + X)$$ $$A = PAS + PFA + PXS$$ $$A(1- PS - PF) = PXS$$

$$\frac{A}{X} = \frac{PS}{1-PS-PF}$$

Note that this follows the general equation for the closed loop gain using:

$$G_{CL} = \frac{G_F}{1+ G_{OL}}$$

Where:

$$G_{CL}$$: Closed Loop Gain

$$G_{F}$$: Forward Gain (In this case $$G_{F} = PS$$)

$$G_{OL}$$: Open Loop Gain (In this case $$G_{OL} = -P(S+F)$$

Note how negative feedback is assumed in the generic expression, but since the block diagram does not show negation at the summations, the open loop gain is then negative as given above. Using the general equation and recognizing that the parallel result of S and F as a gain given as S+F allows us to solve this from inspection.

• The disturbance is injected at the same place as the input. Notice also that there is no negative feedback per se. – Ben Dec 19 '18 at 12:40
• Well I get these transfer functions d : disturbance, u : input y/d = G/(1 - Gf - Gs) y/u = G/(1 - Gf - Gs) Same thing, try it – Ben Dec 19 '18 at 12:48
• Yes you're right! I see my mistake! – Dan Boschen Dec 19 '18 at 12:49
• Wow, that's great. The way you solved the equation was tricky to understand at first but I got it. Thanks a lot! – Sean Dec 19 '18 at 13:21
• We need to thank Ben too as I had it all wrong the first time. – Dan Boschen Dec 19 '18 at 13:22