Why does "margin" return one gain margin value when there are multiple and how does it choose which one to return
显示 更早的评论
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?
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Time and Frequency Domain Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!