Open loop stability: Bode - Pole zero plot mismatch
3 ビュー (過去 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
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.
採用された回答
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.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!