Assume I have an output stage that is supposed to drive a load about a hundred meters away, connected with a cable. So what I have is a capacitive load. My output stage is a simple non-inverting voltage follower, as simple as it gets, but with the resistor R3 on the output to isolate the feedback "network" from the capacitive load (out-of-the-loop compensation).


simple voltage buffer

Now there's this solution to fight oscillations, an inverting voltage buffer with unity gain and C1 across R2:


inverting configuration with C1, R1, R2, R3

I also found the non-inverting voltage buffer equivalent (but with a gain of 2):


non-inverting configuration with C1, R1, R2, R3

Just as you need two resistors for an inverting voltage buffer for unity gain, you need them both with the C2 across R2, resulting in (2). You don't need two resistors for a non-inverting voltage buffer for the unity gain case, resulting in (1). I've skimmed through dozens of application notes and articles, but haven't found a single example of a non-inverting unity gain voltage buffer that tries to avoid oscillations. How can I modify (1) to avoid oscillations in the same way (2) and (3) work? I need a non-inverting unity gain voltage buffer.

I have also seen the following very simple circuit recently, for driving symmetric lines:


symmetric output stage

This has me wondering why the unity gain voltage follower (U1) has only the series resistor at the output (but no capacitor in the feedback path), and the inverting voltage buffer (U2) has a capacitor in the feedback path, although they both drive a capacitive load.


I found ST's application note AN2653:


Figure 21 and 22 on page 12 show exactly what I was searching for. Now the problem is that this "solution" doesn't work at all in my ngspice simulations. The result is the same oscillation I get with (1), regardless of the value(s) of \$R_{IL}\$ and \$C_{IL}\$.

  • \$\begingroup\$ The circuit in (3) is not unity gain- it has a nominal DC gain of +2. \$\endgroup\$ Commented Mar 20, 2015 at 15:33
  • \$\begingroup\$ There must be a simpler way to explain what you are trying to explain? I lost the will to live half way thru :^( \$\endgroup\$
    – Andy aka
    Commented Mar 20, 2015 at 15:39
  • \$\begingroup\$ I've changed the question to make that more clear (I hope). \$\endgroup\$
    – apriori
    Commented Mar 20, 2015 at 15:54
  • \$\begingroup\$ What is the part number of the opamp you're using? \$\endgroup\$
    – brhans
    Commented Mar 20, 2015 at 16:25
  • 2
    \$\begingroup\$ The traditional way to do this is to take your feed back R2 from the other side of the 50 ohm resistor R3. But still keep the capacitor direct from the opamp output... as discussed here. analog.com/library/analogDialogue/archives/31-2/appleng.html (There are better app notes, but this was a first hit.) \$\endgroup\$ Commented Mar 20, 2015 at 16:34

2 Answers 2


enter image description here

How about this? You do give up very high impedance input, but the resistors do not have to all be 1K.

  • \$\begingroup\$ That is actually working solution (+1), but I was hoping for something that uses less resistors and thus produces less johnson noise. I'have included an "update" section in the question - in the mentioned application note is a schematic that is exactly what I meant, but I cannot verify it in my simulations. Is ngspice just at its limits with this kind of simulation? \$\endgroup\$
    – apriori
    Commented Mar 21, 2015 at 22:59

Find out or specify the characteristic impedance of your 100m cable. The 50 ohm output resistors in your circuits happen to match typical coaxial cables, and if such a cable is also terminated in a resistor of its characteristic impedance, your amplifier will see only a 100 ohm resistive load, for any cable length. In that case any op-amp that is stable in unity-gain connection will do. The old 741 op-amp is an example that is unconditionally stable.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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