I'm building a little sound amplifier for something and can't quite understand why it's not a powerful as I though it might be. This is the circuit, and a simulated DC sweep is shown below:-



Vdrive is the meeting point of the output transistors Q1 and Q3. (Don't know what happened to Q2). The op amp is an LT1006. You can see that there is the possibility of a 1V to 11V output swing which makes kinda sense allowing for the op amp approaching it's rails. And it's linear wrt the input signal, symmetrical about a 6V mid point.

This these are the transient analyses for signals of 1.5V (4Vp-p) and 4V (8Vp-p):-

clipped output1 clipped output2

You can see that the first graph is slightly clipped. And the clipping just increases as the input signal increases above 1.5V, as in the second graph. Nevertheless the 4V signal should still fit into the output range as calculated by the sweep analysis. The clipping also occurs independently of the signal frequency. Why? Shouldn't that output signal range be identical to the sweep analysis? Otherwise what's a sweep analysis for?

  • \$\begingroup\$ Directly driving Rl into a mid scale voltage reference of 6V, will allow you see Loading effects on the output stage. \$\endgroup\$ – sstobbe Jul 2 '17 at 2:19

Some notes, Paul:

  1. The LT1006 is weak. (Output impedance seems about \$300\:\Omega\$.) But that's not the cause of the clipping you see when supplying \$V_{PEAK}=1.5\:\textrm{V}\$.
  2. You are driving your circuit directly with an uncommon input signal that has a nice DC bias exactly half-way between your rails. But that's obviously just a convenience.

So let's cut to the chase. The proximate cause for the clipping when supplying even so little as \$V_{PEAK}=1.5\:\textrm{V}\$ is \$R_2\$ and \$R_3\$. Those are the devices that are supplying base currents to your two output transistors, \$Q_1\$ and \$Q_3\$. I'll analyze this situation below, too.

Hopefully you can see that the LT1006 isn't driving your output BJTs. It can't forward bias either BJT, because in both cases it's output is blocked from reaching and forward biasing either BJT by one or the other of those two diodes in the circuit. All the LT1006 can do is to sink added current from \$R_2\$ or source added current into \$R_3\$. That's how it acts to move the BJT bases around.

But the base current supply isn't coming from the opamp. It's coming from the resistors.

Let's look at the situation with your worst case \$V_{PEAK}=4\:\textrm{V}\$. This will help caricature the situation more bleakly and make the obvious stand out even more. Then you can return to the question of \$V_{PEAK}=1.5\:\textrm{V}\$, which will then be clear to see.

(Keep in mind that we are talking about AC frequencies fast enough that \$C_2\$ can be treated as nearly a dead short compared to your load resistance, \$R_1\$. If you were to operate this at very low frequency -- say \$1\:\textrm{Hz}\$ -- then some of this problem would disappear because \$C_2\$ would present a high impedance and reduce the loading which will resolve some of the problem ahead.)

With \$V_{PEAK}=4\:\textrm{V}\$, your input range to the opamp is from \$V_+=2\:\textrm{V}\$ to \$V_+=10\:\textrm{V}\$ (centered, of course, on \$6\:\textrm{V}\$.) With \$V_+=2\:\textrm{V}\$, the output also needs to match this so that the \$V_-\$ terminal can have the same value. But this means that the base of \$Q_3\$ must be perhaps \$850\:\textrm{mV}\$ lower, or about \$1.15\:\textrm{V}\$. But that only allows \$R_3\$ to sink \$1.15\:\textrm{mA}\$ of base current. (The LT1006 will be itself sinking \$\frac{12\:\textrm{V}-2.5\:\textrm{V}}{1\:\textrm{k}\Omega}-1.15\:\textrm{mA}\approx 8.35\:\textrm{mA}\$ in order to force sufficent drop across \$R_2\$.) With that low of a base current via \$R_3\$, \$Q_3\$ can't handle much collector current.

As you can see, as the base voltage on \$Q_3\$ drives too close to ground, \$R_3\$ can sink less and less base current for \$Q_3\$ and this means lower current compliance out of \$Q_3\$. The same happens on the other side, where \$Q_2\$'s base is driven up towards the upper voltage rail and there is less and less base current available for \$Q_2\$ via \$R_2\$.

Before we look at the situation with \$V_{PEAK}=1.5\:\textrm{V}\$, where you still saw clipping, let's just try and figure out where that clipping should occur. We'll do this by seeing just how low the output voltage can be, while at the same time providing adequate current for the load.

The output voltage at the node with the shared emitters, \$V_{OUT}\$, less a forward biased BE junction \$V_{BE}=850\:\textrm{mV}\$, is the base voltage for \$Q_3\$. This base voltage, divided by \$R_3\$ is the total base current available. This base current, times an assumed \$\beta=100\$, provides the collector current. So the following equation applies:


(The \$6\:\textrm{V}\$ present above is the quiescent output voltage.) That solves out as:

$$V_{OUT}=\frac{6\:\textrm{V}\cdot R_2+V_{BE}\cdot \beta\cdot R_3}{R_2+\beta\cdot R_3}$$

And if you plug in your values, you should get the result of \$V_{OUT}\approx 4.53\:\textrm{V}\$. Which, after accounting for the quiescent output voltage, translates to \$V_{PEAK}\approx 1.47\:\textrm{V}\$. And that is about what you found, too, for the point at which clipping started occurring.

So it is predictable!! Good thing. (I guess there's no need now to go look at the situation where \$V_{PEAK}=1.5\:\textrm{V}\$ since we just predicted that this is where the problems will start.)

A solution to this problem is not necessarily a beefier opamp (well, the LT1006 is weak, so I'd pick something stronger regardless.) What you need is an adequate constant current supply. You can do this with an actual constant current supply built out of parts or else you can use bootstrapping (cheaper, easier.) The simplest fix is bootstrapping. It doesn't create a good current source but it does create a good-enough one to get by.


simulate this circuit – Schematic created using CircuitLab

The idea here is that \$C_2\$ will charge up to a DC bias that is about half your rail voltage of \$12\:\textrm{V}\$. So about \$6\:\textrm{V}\$ across \$C_2\$. In theory, discounting some minor details, this means that \$R_2\$ should have a constant \$5.2\:\textrm{V}\$ across it. (The emitters of the BJTs and the output of the opamp should have about the same voltage; and there is about \$800\:\textrm{mV}\$ across \$D_2\$ and, as already mentioned, about \$6\:\textrm{V}\$ across \$C_2\$.) This helps to create that constant current source I mentioned you needing there. (It's not perfect, but it is very much better than you had before despite the fact that it's mostly just a wiring change to get there.) In this case, the constant current is about \$\frac{5.2\:\textrm{V}}{180\:\Omega}\approx 29\:\textrm{mA}\$. Of course, this now means your opamp needs to be able to divert a fair portion of that current. So you need an opamp with output current compliance better than that. I've used such in the above circuit.

Let's assume, for a moment, that you can only expect (at most) a \$\beta=100\$ from your BJTs at these currents. If you wanted to drive the above circuit with \$V_{PEAK}=4\:\textrm{V}\$, you'd need \$I_{PEAK}=1\:\textrm{A}\$ of collector current. This would mean at least \$10\:\textrm{mA}\$ of base current, which means at least \$1.8\:\textrm{V}\$ across those \$180\:\Omega\$ resistors (\$R_2\$ and \$R_3\$.)

At those currents, of course, your small signal BJTs would be well beyond their specification range. But let's assume they are fine. We'd still have to expect more than \$1\:\textrm{V}\$ across their BE junction. So the output cannot swing lower than about \$2.8\:\textrm{V}\$. Which basically means you won't be able to drive this circuit using \$V_{PEAK}\gt 3.2\:\textrm{V}\$. Probably less, actually. And that's assuming these BJTs could operate with those collector currents. And we know they can't. But that gives you an idea of how to estimate the maximum swing to expect, even with bootstrapping added.

Try the above circuit out in your simulator and use \$V_{PEAK}\le 3\:\textrm{V}\$. (It can't do better, so why try?)

You'll probably also need to replace those BJTs, when you get around to thinking more practically. And there are other circuit changes to make, anyway. But that's for another day.

  • \$\begingroup\$ Excellent answer. But I'm disappointed. Not with you but life. My circuit is the classic A/AB configuration seen everywhere. I just pulled it off the web. I'm really surprised how difficult it seems to be to just amplify an audio signal to a decent level. I think that any further (surprisingly necessary) refinements to the circuit are bringing diminishing returns wrt complexity, and it's probably time to look at one of those TDA20xx amp chips. I hoped that it could be done simplyier... \$\endgroup\$ – Paul Uszak Jul 2 '17 at 15:03
  • \$\begingroup\$ @PaulUszak Just imagine the vacuum tube days, where you almost certainly would have a heavy transformer just before the speaker (for load matching.) I like the BTL TDA chips and use them myself. I probably have 100 in a box or two. (More than I'll use.) By the way, you might also examine my answer here: electronics.stackexchange.com/questions/281753/… \$\endgroup\$ – jonk Jul 2 '17 at 15:53

The DC sweep is a series of DC analyses. For each one the load is open because of the capacitor. The transient is looking into a 4 Ohm load. If you want 4V into a 4 Ohm load, you need 4 Amps. The gain of the transistors will be low at these currents. If you guessed it at 10 or so, the opamp would have to provide 400mA. The LT1006 just can't do this.

  • \$\begingroup\$ Even if the LT1006 were replaced with an LT1886, which has orders of magnitude more current compliance, the OP's circuit would still experience about the exact same clipping with \$1.5\:\textrm{V}\$ peak input. Though it is true that the LT1006 is as weak as a kitten and ill-suited, there's a more fundamental problem that's staring everyone in the face, it seems. \$\endgroup\$ – jonk Jul 2 '17 at 4:39

If you are going to do a DC sweep you need to somehow remove the effects of the capacitor C2. Rather than using a capacitor you could return the load to a half-rail voltage source (V/2). That would work down to DC.

In the DC sweep there is no load on the amplifier because C2 does not pass DC - when you do the transient analysis current has to pass into the load that then requires significant base current into the transistors. This base current can only be provided by resistors R2 and R3. As the output approaches the rails the current available though those reduces to zero.

The usual approach to deal with this is to bootstrap the resistors by splitting them into 2 and feeding the junction with a capacitor from the outputs. A current source can also be used.

The value of the resistors or current source has to be adequate to drive the output transistor to the level required to drive the load.

This example here connects the driver to the bottom diode so the base of the PNP output transistor can go down to ground. The upper resistor is bootstrapped as I described so it can go up to the positive rail.

Bootstrap output stage


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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