[Math] Why is the gain margin of a plant and controller open loop system infinite? The phase is finite.

control theorylinear-controloptimal controlpi controller

The following is the G(s)*K(s). I have tried it and on matab I find the Gain Margin to be infinite and the phase to be correct. Does this make my system unstable because GM is infinite or is the GM like that for all integrators?

$$
L(s) = \frac{1800\,s + 15}{s(1000\,s + 16.965)}
$$

Best Answer

No, it doesn't mean that your (closed-loop) system is unstable, quite the opposite. A gain margin of infinty means that no matter how much you increase the gain, the system will always be stable.

And yes, this is true for all integrators: If we have $G(s) = \frac{b}{s}$ with $b > 0$ in negative feedback with a gain $k > 0$ then

$$ L(s) = \frac{k b}{s} $$

so the closed loop function is

$$ T(s) = \frac{k b}{s + k b} $$

which has a pole at $-k b$, which is always negative because $k$ and $b$ are positive. So, no matter how large we take $k$, the system will always be stable and so the gain margin is infinite.

In your case, you have a controller with dynamics included, so your $L(s)$ isn't a (pure) integrator. However, it can still be shown that this structure has also infinite gain margin, if all parameters are positive.

In the general form you have:

$$ L(s) = \frac{k(b_1 s + b_0)}{a_2 s^2 + a_1 s} $$

(in your case: $b_1 = 1800, b_0 =15, a_2 = 1000, a_1 = 16.965$). Closed loop:

$$ T(s) = \frac{k(b_1 s + b_0)}{a_2 s^2 + (a_1 + b_1 k)s + b_0 k} $$

So the characteristic polynomial is

$$ p(s) = a_2 s^2 + (a_1 + b_1 k)s + b_0 k $$

Its Routh table is:

[        a2, b0*k]
[ a1 + b1*k,    0]
[      b0*k,    0]

As you can see all entries in the first column are positive (assuming all coefficients are positive). So no sign changes happen and the system is stable, no matter how you choose $k > 0$.


Of course, things get a bit more complicated if some of the coefficients can also be negative. If for example you have a negative $b_1$, i.e. $b_1 = -1800$, then from the second row of the Routh table you can see that

$$ a_1 + b_1 k > 0 $$

is a neccessary stability condition. Insert values:

$$ 16.965 - 1800 k > 0 $$

so we need $0 < k < 377/40000 = 0.009425$. You can confirm this with Matlab:

format long;
L = tf([-1800, 15], [1000, 16.965, 0]);
Gm = margin(L)

which will display the same result

Gm =

   0.009425000000000

This is quite bad: your gain is too large now and has to be reduced by more than $99 \%$ so that the closed loop is stable again.

Related Question