> Can you explain how the nonlinearity mechanism works? Simply the Vbe variation with current or what?
Think Transconductance (Gm). Or rather, emitter resistance, 1/Gm, which is like plate resistance except different device and different pin (still the output pin).
Look at one side and a half-wave. Ignore any discrete emitter resistor. That includes the pure-ohmic resistance of non-perfect contact to the transistor (this is negligible for transistors worked well inside their switching rating).
The gain of the emitter follower is "almost unity". How much less? The emitter resistance splits the output voltage with the load. If the load is 1K and the emitter looks like 100Ω, the output is 1000/(100+1000) or 10/11 or about 0.9.
What is the Gm and emitter resistance? About 30Ω at 1mA, decreasing as current increases. Table:
zero A infiniteΩ
1uA 30,000Ω
10uA 3,000Ω
100uA 300Ω
1mA 30Ω
10mA 3Ω
100mA 0.3Ω
Say we put a 1K load on this. What is the gain?
zero A infiniteΩ zero gain
1uA 30,000Ω 0.03
10uA 3,000Ω 0.25
100uA 300Ω 0.75
1mA 30Ω 0.97
10mA 3Ω 0.997
100mA 0.3Ω 0.9997
So if we could bias at zero current, we'd get zero output. Of course if we drive it hard, some current will flow, and gain becomes greater than nothing. If we reach 1V 1mA output, gain gets to 0.97. There is an infinite difference between a very-very small signal and a 1V signal. Distortion can be said to be infinite. {Or at least: if you put signal in, and no signal comes out, something is totally wrong.)
> sudden changes in the open loop/closed loop gain ratio; I always think of it as a momentary instability... that seems to make sense to me, and I can picture it.
As shown above, it is almost the opposite of instability: a "dead" (zero gain) stage is very stable. It sure is an unexpected situation in a system that you expected to have unity gain! And in a feedback loop, the rest of the amp will bang itself silly trying to blow-through the clogged pipe.
You can NOT "fix this with feedback". Feedback needs gain to work. The stage has zero gain! What tends to happen is that gain in another stage slaps this stage around until signal gets through, but the system is really out of control every time we cross zero current. You can find zero-bias outputs that don't stink, but they always have some grit (or some major complication to mask it).
Say the transistors flowed 1uA at idle. (A Ge transistor might leak more than this; an Si transistor usually won't.) Gain for very small signals is 0.03, while gain for larger signals is over 0.9 and approaching 0.999. That's a 30:1 difference in gain for small or large signals. A 9/11 or 1.22 difference in gain for different parts of the wave is about 5% harmonic distortion, so 30:1 difference is over 100% distortion. (That THD derivation is simplistic; but distortion will be "gross".)
How small can an audio signal be? If we say 10V max and 120dB dynamic range, we have signals as small as 10uV and 10 nanoAmps. Since gain is falling far below 0.999 at transistor current of 100uA, we are choking a LOT of music detail.
If you rig it push-pull, you get zero or very-low gain for small signals, yet it works fine for large signals. The wave is bent on both sides, so it is odd-order distortion. The curvature is "simple" so it is very strongly 3rd harmonic, though some 5th. With multi-tone (music) signals, the intermodulation distortion can be far higher than the 122% estimated for simple harmonic distortion.
One trick with push-pull: at idle, both devices carrying the same current, the emitter resistance is half of the above because both devices act in parallel. When load current exceeds twice idle current, one transistor cuts off and the other is on its own.
Say we idle at 1mA. Output resistance is 30Ω/2 or 15Ω, gain is 0.985. Put 2V in 1K, 2mA in one device, zero mA in the other. Output impedance is now 15Ω||infinity or 15Ω. Ha! We have the same gain for super-small and fairly-large signals! The cancellation is not exact(?) but a heck of a lot better than before. However when we get to 10V 10mA peak, output resistance drops from 15Ω to 3Ω, gain rises from 0.985 to 0.997, a 1.2% shift, maybe a few-tenths distortion.
One practical problem: minor mismatch of bias will give major shift of idle current. Especially with discrete parts (a little easier on a chip where all parts are made the same). We really would like a resistor in the emitter for what tube-fans call "self bias". It turns out this also helps crossover distortion. I won't try to derive this from Torah: pick a number. I like 30. Put 30Ω in each emitter. Bias to 1mA. Now the idle resistance is (30Ω+30Ω)||(30Ω+30Ω) or 30Ω. When we have 1mA in the load, 1.5mA in one device and 0.5mA in the other: (15Ω+30Ω)||(60Ω+30Ω) or 30Ω. At the edge of the A-AB shift, 2mA in one device and zero in the other, it looks like (15Ω+30Ω)||(infinity+30Ω) or 45Ω. And at 10mA, 3Ω+30Ω is 33Ω.
30Ω teeny-signal, 30Ω huge-signal: we have cancelled the 3rd harmonic! (However, that 45Ω at 2mA load current means each side has an "S" bend and we now have some 5th harmonic distortion. No free lunch.)
We also have a small but useful "self-bias" fixed resistor to help tame the extreme tempco of transistor junctions.
Where did that number "30" come from? It is the same as the emitter resistance at the selected bias current. If we bias to 100mA, we use 0.3Ω, as you can rough-confirm by looking at many loudspeaker amps.
Another, equivalent, way to figure this is "emitter resistor should drop 30mV at idle". Some texts will use the number 26mV, derived from Shockley's relation at a nice round temperature. What-ever.
I have a sick boiler so I'll skim. You can find a resistor that cancels the 5th, but the 3rd comes back (in reverse phase) and the 7th comes up. You can find a resistor that minimizes THD, but listening tests quickly show that THD is NOT a good metric when you can vary the proportions of the harmonics at will. The different "optimums" are only a few dozen mV apart. Also tempco is still a problem, and discrete systems are full of ~10mV drifts after you trim them. But the key fact is: go lower than 30mV drop, sound goes sour fast; go over 30mV drop and the THD number may rise a bit but the sound gets better up to the 50mV-100mV range. So you design so the idle NEVER drops below 30mV. There is no real upper limit for sound quality; the limit is usually heat or excess resistor drop at peak output current.
So far I have assumed the bases are driven from a zero-resistance source. This is almost true for the TL071 plan above. Say the 071 output is 100Ω. Divide that by Beta, say 100, it appears as 1Ω at the emitter. Compared to the 30Ω resistor, no big difference. If source resistance is non-neglible, analysis is more complicated. And I do need to fire-up that boiler. 30mV is not the exact-right answer then, but is not wrong; and hi-Z drive does reduce crossover distortion.
> the NPN can turn on harder than the resistor can turn off/pull down. So high signal level output might be strange...
"Class A is like driving with the parking brake on." FWIW: you can get lower THD numbers with a properly set-up AB stage than a "comparable" hard-working class A stage. I repeat that THD numbers are not everything, and especially when blending all possible harmonic distortions in all possible ways.
Going back to the emitter resistance computations, but single-ended: NPN with 10mA CCS pulldown, 10mA load. At +10V we have 20mA in the tranny, at zero V we have 10mA, and to get -10V the tranny has to cut-off (let's say -9V, 1mA still flowing in the tranny). Emitter resistance is 1.5Ω, 3Ω, and 30Ω. Gain is 0.9985, 0.997, 0.97, about a 3% change over the audio waveform. However it is nearly pure 2nd harmonic, and your ear makes so much of that stuff that we don't mind. The other side is that if we do reach cut-off it clips, and to avoid that we have to run BIG heat. An AB stage can idle cool yet deliver huge peaks if needed.