I'm learning about op-amps and feedback and how feedback affects their stability. I've been reading about gain and phase margin and their uses when I came across this:


I don't quite understand how the system shown in the picture will be stable given that at about 2 kHz, the feedback will be positive; I would've thought that this would cause a 2 kHz frequency to become larger and larger and not converge.

Why will this system be stable?

  • 3
    \$\begingroup\$ +1 good question. Looking forward to an answer as well as an explanation of what the word "problsub" means. (The article uses it twice) \$\endgroup\$
    – Andy aka
    Jun 16, 2013 at 10:03
  • \$\begingroup\$ Maybe this is simply the open loop characteristics of a system? \$\endgroup\$ Jun 16, 2013 at 13:40
  • 1
    \$\begingroup\$ @Andyaka 'problsub' sounds like someone botched when doing a search/replace to replace the em tag with a sub tag. problem became problsub. \$\endgroup\$
    – Renan
    Jun 16, 2013 at 21:28
  • \$\begingroup\$ @OlinLathrop I agree, and reading below from the other answers I'm struggling to see how this could be stable in closed loop with negative feedback. Today I feel I've lost the plot!! \$\endgroup\$
    – Andy aka
    Jun 16, 2013 at 21:28
  • \$\begingroup\$ @Renan - I'm having problems with this article in general!! \$\endgroup\$
    – Andy aka
    Jun 16, 2013 at 21:30

4 Answers 4


This is exactly why I think people should study stability first using Nyquist plots, THEN using bode plots and the associated gain and phase margin diagrams.

The gain/phase margins are just a convenient way of determining how close the system gets to having poles on the right side of the complex plane, in terms of how close the nyquist plot gets to -1, because after partial fraction expansion those terms with positive poles end up as exponentials of time with positive coefficient, which means it goes to infinity, which means it is unstable.

However, they only work when the nyquist plot is 'normal looking'. It very well may be that it does something like this:

enter image description here

So it violates the phase margin rule, yet the open loop transfer function G(s)H(s) doesn't encircle -1, so 1+G(s)H(s) doesn't have zeroes on the right side, which means the closed loop doesn't have poles on the right side, so it is still stable.

The word conditional comes from the fact that the gain has an upper/lower bounds to keep it this way, and crossing them makes the system unstable (because it shifts the curve enough to change the number of times that -1 is encircled).

  • \$\begingroup\$ Okay, let's suppose I were to place a pure 2kHz signal into the system. The system would be unstable wouldn't it? Is this system only stable because the non-2kHz signal would swamp the 2kHz signal? I don't really get why it would be stable... Are you suggesting it would be compensated to be stable? \$\endgroup\$
    – user968243
    Jun 16, 2013 at 11:30
  • \$\begingroup\$ Are you suggesting that the OP's diagram is the open-loop response? \$\endgroup\$
    – Andy aka
    Jun 16, 2013 at 13:11
  • \$\begingroup\$ I'm assuming that those graphs are graphs of loop gain, \$L(s) \equiv \beta A(s)\$. My book says that if the loop gain is positive at -180°, the system will be unstable. Have I misunderstood something? \$\endgroup\$
    – user968243
    Jun 17, 2013 at 2:05
  • \$\begingroup\$ @user968243 The book is wrong in the sense that it is not always true. See web.mit.edu/klund/www/weblatex/node4.html \$\endgroup\$ Apr 9, 2014 at 21:08
  • \$\begingroup\$ I want to know where the picture comes from? Thanks. \$\endgroup\$
    – diverger
    Nov 16, 2014 at 3:16

Conditional stability in an open loop response.

First, since this is from Ridley, you can bet that this is an open loop response of a power converter. This response will be stable for the shown gain for small linear loop disturbances. If the loop disturbance becomes large enough to drive the amplifiers in to non-linear operation the loop will likely become oscillatory because the non-linear region operation will have lower amplifier gain.

The problem with loops like this is that while they are stable, it is common for systems to have gain that varies widely with input voltage or load or temperature, or a combination of all of these. If you use a conditionally stable loop you must verify that none of these dependencies will be a factor during any mode of operation (including start up conditions). Once these kinds of loops start to oscillate they tend to stick (the oscillation will reduce the gain to make it so).

Note that the loop as shown is properly compensated with 2 zeros to cover the 2 poles. The problem is that the poles are probably from an LC filter (complex poles) in the loop. There will be a low loss inductor and low loss capacitor bank that will combine to give a high Q response. Since that Q is high all the phase contribution from the LC will happen in a very small range of frequency; from the graph it looks like about an octave for 180 degrees of phase loss. Opamp compensatory zeros will be simple, and so phase boost will happen over a 2 decade frequency span (as a minimum). So, even though there is adequate phase boost to cover the LC phase loss, there will be a phase dip and no or negative phase margin in the middle near the poles.

Possible remedies to a this type of loop response:

  • The compensatory zeros can be split so that one comes in before the poles (bracket the poles), adding some phase kick early. That could result in more phase margin at the phase dip, but might not be enough.

  • Best action is usually to reduce the Q of the LC filter.

Loop Deconstruction:

To show how this type of open loop response might come about, the loop can be deconstructed using a simple minded model.

I don't really know the circuit that made the response the OP posted, but I suspect, based on the way the response looks that it is from a continuous conducton mode boost regulator. A basic model would include an LC filter, PowerModulator, and Error amplifier. A semi-schematic of an AC open loop version is:

enter image description here

The circuit will in general reflect behavior of a CCM boost loop, although the particulars here are chosen to be reasonable and get the most convenient match to the posted loop ... with the least amount of work. This is just a tool to help separate all the parts of the loop and show how they would go together to form the total loop.

Let's start with the result of this model, the complete loop:

enter image description here

Not too bad ... looks pretty close to the original. You can see the basic character of the loop is an integrator with an LC resonant disturbance at 1000Hz. At frequencies below the LC poles, loop gain rolls off at -20dB per decade, and at frequencies above the LC poles gain resumes a -20dB per decade decline. So, since there is overall a 1 pole (-20dB/) roll off, something has managed those 2 LC poles by covering them with zeros. There are additional artifacts that show up above ~20kHz; ESR zero in the LC filter, right half plane zero (rhpz), and Nyquist frequency; which will be mentioned briefly.

LC filter response:

enter image description here

Here you can see the LC poles at 1kHz, and the effect of \$C_o\$ esr a zero at about 65kHz. Note how compressed the phase behavior of the LC poles is, almost all the change happens in a couple of octaves.

Power Modulator with LC filter:

enter image description here

The power modulator has been added to the LC filter here. Power modulator has 30dB of gain, the right half plane zero at 70kHz, and a pole for the Nyquist frequency at 100kHz (yes I know that adding a pole isn't the right way to handle Nyquist, but it will have to do for this). Except for having 30dB of gain the gain plot looks the same as just the LC. But what about that phase? It's the rhpz that exhibits phase like a lhp pole, but gain like a lhp zero. This is mostly why the open loop phase never recovers as much as you would think after the LC resonance.

Error Amplifier:

enter image description here

Here you can see the amplifier response with its low frequency integrator pole, followed by 2 zeros at about 1kHz and 7kHz, a pole at 42kHz to flatten out the last zero before running into the gain bandwidth limit of the amplifier.

The opamp had a bandwidth of 20MHz with gain of 140dB and a 2Hz low frequency pole. Integrator gain is set by R1 and C1. The first zero is set by C1 and R3. Second zero is set by C2 and R1. Leveling pole is set by C2 and R2.

  • \$\begingroup\$ You say it has 2 zeros to cover the poles - how did you work that out? Genuine question. \$\endgroup\$
    – Andy aka
    Jun 16, 2013 at 21:32
  • \$\begingroup\$ @Andyaka ... by flash inspection, but let's see. Above LC there's -20dB/, after LC at A=0 there's -20dB/, so overall 1 pole from integrator. phase starts @ -90, LC subtracts 180 more for -270 total. 1 zero and best case phase ends up @ -180, so must be 2 zeros since phase tops out @ -140. Phase doesn't get back to -90 due to higher frequency stuff ... text mentions PFC so circuit is a continuous boost, and HF stuff probably includes a RHP zero to remove HF phase but hold up gain. \$\endgroup\$
    – gsills
    Jun 16, 2013 at 22:32
  • \$\begingroup\$ I'm not sure how the LC came into all of this. Where does -20dB/ come from? Then you say after LC at A=0 there's -20dB/? I'm not sure where this info came from and what does the "/" signify - there is no frequency markings on the x base so how do you make these conclusions - maybe there's a document attached I didn't see? EDIT OK I see the frequency marking underneath the phase diagram now.... \$\endgroup\$
    – Andy aka
    Jun 17, 2013 at 7:09
  • \$\begingroup\$ @Andyaka I was using LC as a reference to the LC poles and resonant frequency to show that the overall response of the loop was just an integrator, and that the 2 LC poles must have been covered by zeros in the opamp circuit. Sorry about the jargon ... / just stands for "per decade of frequency" here. I've added edits to show how the different parts of the loop go together to get the total response. \$\endgroup\$
    – gsills
    Jun 17, 2013 at 21:17
  • \$\begingroup\$ It's getting to be a good answer +1 - I'll digest tomorrow when I'm likely to be more awake!! \$\endgroup\$
    – Andy aka
    Jun 17, 2013 at 21:20

First a bit of clarification. What you plot is the Loop gain L(s), which would correspond to G(s)H(s) in the following diagram:

enter image description here

The complete transfer function (also called closed loop gain) in this case is:

$$ \frac{C(s)}{R(s)} = \frac{G(s)}{1+H(s)G(s)} $$

The inverse transform will have growing exponentials (meaning it is an unstable system) whenever that function has poles on the right hand side (RHS) of the s-plane. That is the same as finding out if there are any zeros on the RHS of the s-plane of 1+L(s). So basically the instability is determined by the loop gain, there is no need to calculate the more complex closed-loop gain. So when talking about stability, the plots are almost always of the loop gain L(s).

Back to your question:

Regarding the assertion of the system being unstable when the gain is greater than 0dB with inverted phase (-180), let me answer with an easy to see counter-example. Consider the very simple:


simulate this circuit – Schematic created using CircuitLab

The loop transfer function is $$ G(s)H(s) = K $$ If K<0, it has a bode plot of magnitude 20*log(K) and phase -180.

According to the overly assuming criterion that says:

if the loop gain is positive at -180°, the system will be unstable.

Then if |K| > 1 then it must be unstable.

Yet it isn't. The output is:

$$ Y = \frac{X}{1+K} $$

So if K = -2 (positive gain in dB and phase of -180), $$ Y = -X $$


On the other hand if K = -1, then we have a problem (it becomes unstable).

The above was an example of just a constant, but in general just knowing that the gain is > 0dB at -180 does not imply that the system is unstable. If your book says that, it is wrong (but it will seem to be right for many typical cases).

If you start imagining that the above system has a tiny delay and that the signal E hasn't had time to respond and has the wrong value and then see how it propagates iteratively through the loop, you'll conclude that the signal will grow without bound. And with this you'll fall into a mental trap that is difficult to get out of, which is what I think is the underlying misconception that doesn't allow to conceptually accept that the system in your question can be stable.

The bode plot is just a slice of Nyquist, and the bode stability criterion is just applicable when the Nyquist plot is typical, but Bode is just a convenience (it is easier to plot than Nyquist).

Nyquist plots and its simplified version of Bode plots are just graphical methods to mainly:

  1. Find out if the system has RHS poles, which become growing exponentials.
  2. Obtain insight on how far the system is from being stable/unstable and what can be done about it.

Also just to clarify, there is no swamping that will minimize unstable frequencies. One simple explanation is to consider that the total response is the superposition of the responses of all frequencies, so there is simply no way of fixing it, in the same way that you can't cancel a sinusoidal of a certain frequency with any number of sinusoidals of different frequencies.

But then again, thinking in terms of frequencies that make the system unstable is also incorrect. This instability is not the same as having an infinitely resonant frequency, like in an undamped 2nd order system. That is an oscillatory system, but the instability we're talking about is to grow without bounds with any input (except zero).

A simple way to prove it is realizing that an unstable system will have poles on the RHS of the s-plane, and that:

$$ L\{sin(at)\} = \frac{a}{s^2+a^2}$$

So there is no way that it can cancel out a pole in the transfer function that multiplies it. The output will still grow without bounds.

  • 1
    \$\begingroup\$ Great explanation for debunking stability myths! \$\endgroup\$ May 2, 2023 at 3:09
  • \$\begingroup\$ 1. Bode plot Vs Nyquist 2. Marginal stability Vs conditional stability \$\endgroup\$ May 2, 2023 at 3:20

The oscillatory response only comes into play if the phase is bad at the zero crossing of the gain. This loop is conditionally stable because if some factor reduces the gain (causing it to cross over earlier), it could cross over at that 2kHz area where the phase is dangerous and create the oscillatory response.

To make this loop unconditionally stable, there would have to be either some phase boost to move that 2kHz section out of the danger zone, or the gain would have to cross over at a much lower frequency (in the area before the phase crashes.)


Not the answer you're looking for? Browse other questions tagged or ask your own question.