The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Simulators >> Circuit Simulators >> Stb analysis
https://designers-guide.org/forum/YaBB.pl?num=1124688329

Message started by uncle_ezra on Aug 21st, 2005, 10:25pm

Title: Stb analysis
Post by uncle_ezra on Aug 21st, 2005, 10:25pm

So I just read somewhere that cadence computes the loop-phase by shifting it up by 180, so that unity gain frequency for the loop gain would correspond to phase margin in loop phase.

If this is true does this mean that if my phase starts @ -180 the loop is still stable since it would correspond to -360 or 0?

Thanks

Title: Re: Stb analysis
Post by Frank Wiedmann on Aug 22nd, 2005, 4:44am

Yes, this is true.

I'll try to explain: In their work which forms the basis for Spectre's stb analysis (see http://www.thekunderts.net/ken/docs/c%26d2001-01.pdf), Mike Tian and his colleagues (Ken amongst them) chose to define the loop gain with a different sign than it is done in most engineering textbooks. Please refer to the paragraph following equation (3); most textbooks define T(x) as the loop gain, Tian however defines it as -T(x), corresponding to a phase difference of 180 degrees with respect to the more usual definition. This sign convention was carried over into the implementation of the algorithm in Spectre.

One of the reasons for the confusion about the "proper" sign for the loop gain is the fact that Hendrik W. Bode, who introduced the concept in his 1945 book "Network Analysis and Feedback Amplifier Design", never really used the term "loop gain" there, but talked of the "return ratio" instead. Since then, most authors have chosen to define the loop gain with the same sign as Bode's return ratio, some however (e.g. Tian) have chosen differently.

The unusual sign convention used by the stb analysis also leads to a somewhat funny inconsistency between Spectre and the calculator functions of Analog Artist. These calulator functions expect the more usual definition, so that you have to plot phaseMargin(-getData("loopGain" ?result "stb-stb")) or gainMargin(-getData("loopGain" ?result "stb-stb")) in order to get the correct result.

The values for phase margin and gain margin which are reported by the stb analysis are of course also correct because they take the definition of the loop gain into account. You have to note, however, that the stb analysis reports a positive dB-value for the gain margin of a stable circuit, whereas the calculator function gainMargin() reports a negative dB-value. Both report a positive value for the phase margin of a stable circuit.

If you have access to SourceLink, you can also take a look at http://sourcelink.cadence.com/docs/db/kdb/2004/May/11138588.html where they try to explain the issue.

Title: Re: Stb analysis
Post by Frank Wiedmann on Mar 12th, 2013, 1:52am

The updated addresses for the links above are http://www.kenkundert.com/docs/cd2001-01.pdf and http://support.cadence.com/wps/mypoc/cos?uri=deeplinkmin:ViewSolution;solutionNumber=11138588.

Title: Re: Stb analysis
Post by threepwood on Mar 23rd, 2013, 5:06am


Frank Wiedmann wrote on Aug 22nd, 2005, 4:44am:
Yes, this is true.

I'll try to explain: In their work which forms the basis for Spectre's stb analysis (see http://www.thekunderts.net/ken/docs/c%26d2001-01.pdf), Mike Tian and his colleagues (Ken amongst them) chose to define the loop gain with a different sign than it is done in most engineering textbooks. Please refer to the paragraph following equation (3); most textbooks define T(x) as the loop gain, Tian however defines it as -T(x), corresponding to a phase difference of 180 degrees with respect to the more usual definition. This sign convention was carried over into the implementation of the algorithm in Spectre.

One of the reasons for the confusion about the "proper" sign for the loop gain is the fact that Hendrik W. Bode, who introduced the concept in his 1945 book "Network Analysis and Feedback Amplifier Design", never really used the term "loop gain" there, but talked of the "return ratio" instead. Since then, most authors have chosen to define the loop gain with the same sign as Bode's return ratio, some however (e.g. Tian) have chosen differently.

The unusual sign convention used by the stb analysis also leads to a somewhat funny inconsistency between Spectre and the calculator functions of Analog Artist. These calulator functions expect the more usual definition, so that you have to plot phaseMargin(-getData("loopGain" ?result "stb-stb")) or gainMargin(-getData("loopGain" ?result "stb-stb")) in order to get the correct result.

The values for phase margin and gain margin which are reported by the stb analysis are of course also correct because they take the definition of the loop gain into account. You have to note, however, that the stb analysis reports a positive dB-value for the gain margin of a stable circuit, whereas the calculator function gainMargin() reports a negative dB-value. Both report a positive value for the phase margin of a stable circuit.

If you have access to SourceLink, you can also take a look at http://sourcelink.cadence.com/docs/db/kdb/2004/May/11138588.html where they try to explain the issue.


Interesting answer, thanks!
I have also noticed this issue; at the beginning I thought my circuit was unstable  :)

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.