Open loop stability: Bode - Pole zero plot mismatch

13 次查看(过去 30 天)
I'm analyzing open loop stability of an amplifier. Plotting the bode diagram I can see a negative phase margin (PM) indicating the system is not stable. When I plot the pole/zero plot however all the poles still remain on the left half plane. See attached figure. Note that instability results due to the 3rd zero crossing where the PM is negative. I do not understand why the complex poles have not shifted to right half plane (RHP). Using SPICE however I can observe these poles locating to RHP. How come this cannot be observed in matlab? While this is very likely because the model in Matlab is just a simplification, I do not understand how the bode plot can show a negative PM while the poles reside within LHP. Any thoughts?
  3 个评论
Aquatris
Aquatris 2018-8-16
编辑:Aquatris 2018-8-16
If you are referring to the ~-45 degree in the phase plot, it is not the phase margin. It is just the phase of the system. Phase margin is how much phase change is necessary for the magnitude 1 to become (-1 + 0i), which is equivalent to having a phase of 180. So if the systems phase is -45 degrees with magnitude of 1, it means the phase margin is 135 degrees.
Use the Matlab command "margin()" to calculate the margins.
AC90
AC90 2018-8-16
That is incorrect. Your definition of the phase margin is wrong. It's not where the phase is 180 degrees, rather where the total phase shift is 180 degrees. So, for an inverting system, for instance, a phase of 0 degrees at 0db means the total phase shift is 180. If it's a noninverting system, the total phase shift would be 0.
In this specific case here, it's an inverting system (the low frequencies are not shown in the plot, at dc the phase is 180 degrees). The phase margin at the 3rd 0db crossing is beyond 180 degrees.

请先登录,再进行评论。

采纳的回答

Arkadiy Turevskiy
Arkadiy Turevskiy 2018-8-17
编辑:Arkadiy Turevskiy 2018-8-17
You did not post your system, so it is a bit hard to figure out what is going on, especially when you say that you see poles moving to RHP in Spice.
Going purely on the plots you provided (poe zero map primarily) I tried to construct a model that would create similar plots.
sys=zpk([2.4*10^9*j -2.4*10^9*j], [-0.0000001 -11.5*10^7+1.2*10^9*j -11.5*10^7-1.2*10^9*j],-100000000);
subplot(121);bode(sys);grid;
subplot(122);pzmap(sys);
xlim([-1.5e+8 2e+7]);
The first subplot shows full bode plot. If you focus on the region you are looking at, you will see similar plot to what you show:
subplot(121); bode(sys, {1e+9*0.1034 1e+9*2.8278}); grid;
Now if you zoom in bode plot magnitude that looks similar to your plot.
If you do
allmargin(sys)
you will see phase margins at first two crossovers are negative and phase margin at 3rd crossover is positive.
If you do
isstable(sys)
you will see the system is stable because all poles are in the left half plane, even though one of them is essentially at the origin.
Bottom line: even though you see negative phase margins, this system is stable, as all poles lie in the LHP. Hope this helps.
  1 个评论
AC90
AC90 2018-8-27
Arkadiy, thank you for your effort. To correct one thing, let me retract my previous comment on RHP poles in SPICE. I took a look at it again and there were no RHP poles. The system is in fact unstable when connected in a feedback configuration due to the negative phase margin. But the bode plot is of the open loop case hence in that mode the system is in fact stable.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by