The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design >> Analog Design >> How do you do large-signal stability analysis?
https://designers-guide.org/forum/YaBB.pl?num=1146088799

Message started by Marc Murphy on Apr 26th, 2006, 2:59pm

Title: How do you do large-signal stability analysis?
Post by Marc Murphy on Apr 26th, 2006, 2:59pm

Hello all!  What is large-signal stability and how does one do the analysis?  All the stability analysis in books (mine at least) concentrates on how the small-signal gain interacts...Af=A/(1+AB) where A and B are small-signal gains.

It sounds like to do large-signal stability you might do transient analysis using large signals and at different frequencies.  Maybe there's a rigorous way to do this.

Please clue me in!  

Thanks in advance!!!

Marc




Title: Re: How do you do large-signal stability analysis?
Post by raul on Apr 26th, 2006, 3:28pm

 What I understand for large signal stability is for example; like doing a transient simulation with a square wave input signal into an opamp in unity gain configuration. If the opamp is unstable for large signals, it will oscillate when you do this. Sometimes the ac analysis says the opamp is stable, but when you do a test like what i described before weird things happen. This is generally due to some transistors in the signal path turning off or bipolars saturating or MOS devices going into triode, etc... AC analysis assumes the DC point stays nearly constant as the signal flows through the circuit, but if this is not true then you see the unexpected.
 Another examples, that applies to LDOs, is when one checks stability of the loop by applying a very fast edge current load. This is the best way to test LDO stability in my opinion.  I hope this helps.  

Title: Re: How do you do large-signal stability analysis?
Post by ACWWong on Apr 26th, 2006, 3:49pm

Hi Marc,

Small signal stability analysis will show whether a circuit is stable or not. If not, then this will manifest itself as large signal oscillations.

Circuits such as oscillators are large-signal (and small signal) unstable, and you can do small signal analysis to show positive feedback, or from an RF point of view, one often measures the negative resistance (by means of sparameter analyses) and insures the net negative resistance of the "tank" (LC or xtal etc.) and circuit is negative.

Often in RF amplifier circuits (such as PA's etc.) then the analysis for stability is often measured by calculation of K-factor. K is a function of the two port sparameters S11, S21, S12, S22 and is often calculated in most RF simulators. K>1 means unconditionally stable. K<1 means could be unstable given the certain input/output terminations.

In such circuits as PA's where the S-parameters change depending on how hard (or how large) the signals are driven then you could view then the calculating K based upon large-signal-sparameters is applicable. I guess it is this circumstance you are interested in ? If so i guess some frequency swept transient analyses and some mathematical jiggery pokery are required.....

cheers

alan

Title: Re: How do you do large-signal stability analysis?
Post by Marc Murphy on Apr 26th, 2006, 3:49pm

Thanks Raul, that's the kind of answer I was looking for.  It sounds like you can apply a large pulse or sine wave and simply observe whether the output is stable.  This still doesn't seem too rigorous to me.  Are there any academic papers on the subject that offer a half-decent tutorial?

Thanks,
Marc

Title: Re: How do you do large-signal stability analysis?
Post by Marc Murphy on Apr 26th, 2006, 3:53pm

Thanks Alan!  I'm not working on RF stuff or anything involving S-parameters.  I did talk to an RF guy just a few moments ago and he suggested something similar to what you are saying.  Basically, apply a big sine wave and do a parametric sweep of frequency.  The freq. range would be chosen to fit the desired operation frequencies.  I don't like the sound of the math jiggery pokery...

So far it sounds like I just do a bunch of large-signal transient analysis and hope I don't see any instabilities.  This doesn't sound that foolproof though. :(


ACWWong wrote on Apr 26th, 2006, 3:49pm:
If so i guess some frequency swept transient analyses and some mathematical jiggery pokery are required.....

cheers

alan



Title: Re: How do you do large-signal stability analysis?
Post by raul on Apr 26th, 2006, 6:17pm

 I don't know of any academically rigurous papers. I ran into this kind of problem when experimenting with some amplifier architectures for LDOs. My usual rule of thumb is to make the tolerance of the transient simulation low enough so that it can catch signals of frequencies higher than what my amplifier's bandwidth/unity gain frequency is. Any signals above this bandwidth can't cause an oscillation since there is no gain.
 If for example my loop bandwidth is 1 MHz, then a tolerance of 1e-7 or lower should be enough. I usually keep it at 1e-9, but i don't usually design circuits in the GHz which would require better tolerance. I guess you could count the rings of the system while it settles and assuming an ideal two pole system use the equations to transform the number of rings into a phase margin and gain margin estimate.  
 For special cases, like when simulating amplifiers that have fast linear loops inside a main linear loop, I use the frequecy of the fastest loop in the system to set the tolerance.

Title: Re: How do you do large-signal stability analysis?
Post by ACWWong on Apr 26th, 2006, 11:44pm

Hi Marc,

Of course one can always do small signal stability analysis around any large signal (DC or transient) operating point. An example is doing stability analysis of an op-amp when the output is at maximum swing.

cheers

aw

Title: Re: How do you do large-signal stability analysis?
Post by Marc Murphy on Apr 27th, 2006, 5:45am

What would the analysis or proof of large-signal stability look like in an academic paper?  Right now I've got a plot of the closed-loop system receiving large square-wave pulses and not going unstable.  Is that sufficient to just put that in and say 'hey, looks stable to me'?  

I could also apply large-swing sinewaves of various frequencies but am not sure how to neatly present that...can't put all those transient plots in...

The motivation behind the original question is that I'm trying to satisfy these reviewers:
"No transient simulations are included, which are critical to assess stability and distortion.  Stability is an important issue in your topology and should be analyzed not only under small-signal conditions.  No transient simulation is provided."

Also:
"Only dc and small-signal behavior of the circuit is considered but large-signal behavior is also important.  When the circuit deals with large variations in the input signal, the feedback conditions change which could lead to unstability.  Therefore, stability conditions with large signal variations should be considered."

Title: Re: How do you do large-signal stability analysis?
Post by ACWWong on Apr 27th, 2006, 9:56am

Hi Marc,

I would suggest on or both of the following:

1) A large signal transient simulation, and then apply a very narrow spike (unit impulse, or dirac), and show that you do not go off oscillating at any frequency. As the impluse contains an infinite frequency spectrum (obviously depending on how narrow it is) then it should excite any possible frequency of any instability/oscillation.

2) At extremes of large signal operation, run the small signal anaylsis off the tranisent operating points.

Hope this helps

alan

Title: Re: How do you do large-signal stability analysis?
Post by Marc Murphy on Apr 27th, 2006, 11:34am

Thanks again Alan!  I did the AC analysis for various DC operating points (which is what I think you meant in 2).

Re: 1, I did a pulse train but will revisit to make the pulse very narrow.

:)

Cheers,
Marc


ACWWong wrote on Apr 27th, 2006, 9:56am:
Hi Marc,

I would suggest on or both of the following:

1) A large signal transient simulation, and then apply a very narrow spike (unit impulse, or dirac), and show that you do not go off oscillating at any frequency. As the impluse contains an infinite frequency spectrum (obviously depending on how narrow it is) then it should excite any possible frequency of any instability/oscillation.

2) At extremes of large signal operation, run the small signal anaylsis off the tranisent operating points.

Hope this helps

alan


Title: Re: How do you do large-signal stability analysis?
Post by Jess Chen on Apr 27th, 2006, 1:04pm

I can't resist chiming in on this one. Stability has always been one of my favorite topics.

I agree with the reviewer. It is always a good idea to check stability with transient simulations. Kick the circuit in as many ways as you can think of and look for unstable behavior that was not predicted by your small signal analysis.

As for a more rigorous approach, large signal stability is essentially the stability of nonlinear systems. If the system were linear, small signal stability would suffice. As I recall from the last class I took on nonlinear systems, there is no one method that suits all systems. However, probably the most rigorous and most general approach is to use Lyapunov functions. You can think of a Lyapunov function as an expression of the total instantaneous energy stored in the system. If, with no independent dynamic sources, the energy always decays with time, the system is stable. Sounds reasonable but I've only seen it used in high level proofs. I've rarely seen it applied to practical circuits.

I usually think of two kinds of large signal instability: the existance of a stable but undesired operating point, and a limit cycle. If an undesired operating point exists, if you kick the system hard enough, it might be sucked into the undesired operating point. An undesired stable operating point can be found by performing small signal stability analysis over a wide range of DC operating points. A latching condition could be an undesired operating point. The limit cycle potential, (a large signal oscillation), can usually be assessed using describing functions. The describing function is a large signal transfer function. It is like a small signal transfer function except that it depends on the amplitude of the input sinusoidal drive. Most text books on nonlinear systems will have a section on describing functions and you could probably find descriptions on the internet. However, if you like, I can try to explain them.

Hope this helps.

-Jess

Title: Re: How do you do large-signal stability analysis?
Post by Marc Murphy on Apr 27th, 2006, 1:29pm

Thanks Jess, it's certainly food for thought.  I don't think I need to get into any non-linear system theory in this case, but I'll put it in the 'learn this' list!

Cheers,
Marc

Title: Re: How do you do large-signal stability analysis?
Post by Paul on Apr 27th, 2006, 2:28pm

Hi everybody,

personally I would tend to use Raul's approach and run a couple of transient simulations. Make sure to use square wave input signals and not sine waves, which are much less aggressive. You probably wouldn't see any overshoots, signalling stability issues, with the latter waveforms.

Do not forget to run the same type of simulation for common-mode stability too, people tend to forget this may be an issue.

Finally, regarding the simulation set-up, I wanted to point out that your transient simulation results are strongly dependent on your simulation parameters. The Backward Euler algorithm for example may stabilize unstable circuits, while the trapezoidal algorithm may exhibit numerical oscillations, which are not an indicator for circuit instability. So be careful when chosing your simulation algorithm, as well as the maximum time step and the vertical resolution, which help in attenuating numerical oscillations appearing due to the trapezoidal simulations.

Best,
Paul

Title: Re: How do you do large-signal stability analysis?
Post by uncle_ezra on May 16th, 2006, 10:48pm

Hi,

Which tolerance option should we be concerned when running large signal transient analysis? Which one to set reltol, vabstol or iabstol? What does each stand for, anyone?

Thanks

Title: Re: How do you do large-signal stability analysis?
Post by ywguo on May 17th, 2006, 7:06pm

Ezra,

You'd better read the manual or relative textbook to find what those parameters stand for? Usually, if a transient analysis fails, we may adjust the tolerance options.


Best regards,
Yawei

Title: Re: How do you do large-signal stability analysis?
Post by Ken Kundert on May 17th, 2006, 11:18pm

In general with Spectre if you are concerned about accuracy, start by setting errpreset=conservative. It loads all the tolerance settings with a rather conservative set of values.

When trying to explore large-signal stability with transient, it is important to choose a stimulus that drives the circuit into all of the various nonlinear regions of behavior. For example, I once found a high gain sample and hold that went unstable only when one of the amplifiers in the circuit was driven into slew-rate limiting.

The suggestion to use pulses rather than sinusoids is also a good one. The rapid transitions contain more energy at high frequencies that generally couples better into the unstable mode of the circuit, which are usually found at the higher frequencies (remember that the instability is generally narrow band, and you must excite it with sufficient energy within its band to get it ringing).

-Ken

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