Using the below transfer function:
>> num = [10 1];>> den = [1 10 0 0];>> sys = tf(num,den);
If I execute the "margin" function to obtain the Gain Margin "Gm":
>> [Gm,Pm,Wcg,Wcp] = margin(sys);
It returns the Gain Margin "Gm = 0" (in absolute units) and the phase crossover frequency is "w = 0 rad/s". In dB, the Gain Margin is – Inf dB.
But if you take a look at the bode plot of the transfer function:
You will notice a certain symmetry in the phase vs frequency plot. This indicates that there is a high probability that if phase crossover occurred at "w = 0 rad/s", another one will occur at "w = Inf rad/s". To confirm this hypothesis analytically, you can replace the "s" symbol in the Transfer Function with "w*j" such that "w" is the frequency and "j" is the unit imaginary number. As "w" goes to 0 or + Infinity, the phase is -180 degrees and the gain margin is 0 (- Inf) and + Inf (+ Inf) respectively. Basically, the above transfer function acts as "1/s^2" as "w" approaches both zero and Infinity.
So, why does "margin" only display the gain margin equal to – Inf? What can I do to get more information in situations like this when I have multiple gain margins?
Best Answer