diyAudio (
-   Solid State (
-   -   Kulish Corrector for Class-A EF O/P Stage (

linuxguru 26th December 2007 07:31 AM

Kulish Corrector for Class-A EF O/P Stage
2 Attachment(s)
I have done some preliminary simulations for the following topology, which develops further on the Mikhail Kulish error-correction scheme from these diyAudio threads:

It is possible without much optimization to get THD of around <0.01% (2HD, 3HD components are both around -80 dB) in this voltage follower *without global negative feedback*.

The circuit as shown can deliver 14W into 8R with THD <0.01% at 20 kHz. There's no particular difficulty in:

1) Increasing the rail voltages to obtain higher power.
2) Paralleling more output devices.
3) Adding additional darlington stages to the Kulish error-corrector to drop the open-loop THD even further, maybe below the noise floor.
4) Driving the voltage follower stage with a high-quality op-amp like the LME49710, closing the global feeback loop and dropping the THD to maybe below 0.0001%.

Here's the schematic for the open-loop voltage-follower stage, extracted from LTspice:

linuxguru 26th December 2007 07:36 AM

2 Attachment(s)
Here's the FFT for the transient response when driven by a 15 V amplitude signal (note the amplitude of the primary when comparing the 2nd, 3rd harmonics which are at about -80 dB in comparison):

linuxguru 26th December 2007 07:42 AM

2 Attachment(s)
The 1.04k resistor can be realized as a 1k resistor in series with 39R, and the 156R resistor can be realized as a 100R in series with a 56R. All LTSpice transistor models have been obtained from files previously posted at here at diyAudio.

The key property behind the Kulish error-corrector that allows it to be used in this topology is that when the load is attached at the collector of the transistor, it behaves as a pure transconductance amplifier - there is no need to recalculate the collector load resistances (1.04k and 156R in the example shown) to take into account the additional load from a later stage. The gain of each stage may drop, but the distortion figures remain more or less the same.

The second property is that the two emitter resistors in each stage of a Kulish error-corrector need not be the same - this simplifies biasing requirements when used in a multistage topology.

The third property (unused in this example) is that additional transistors (triple-, quadruple-darlington, etc.) can be added to each stage of the Kulish error-corrector to linearize it even further. The collector loads follow the multiplier sequence 1, 1.039..., 1.079..., ... (1.039)^k etc.

An additional property (unused in this example) is that it is possible to tap the emitter of the topmost transistor in each Kulish stage, losing some linearity (additional distortion), but getting a low-impedance output in exchange.

Here's the LTSpice .asc file (rename it to <something>.asc before loading it in LTSpice):

linuxguru 27th December 2007 11:40 AM

2 Attachment(s)
And here is the Class-A CFP output version, which is simpler and has even better distortion numbers than the EF version:

linuxguru 27th December 2007 11:41 AM

2 Attachment(s)
FFT plot of the transient response for a 20 KHz, 15V amplitude signal (2nd harmonic is at about -90dB, 3rd harmonic even lower - these are open-loop numbers, of course):

linuxguru 27th December 2007 11:48 AM

2 Attachment(s)
Here is the LTSpice schematic file of the Class-A CFP voltage follower (rename to <something>.asc before loading it in LTSpice). It's tolerant of a fairly wide range of supply voltages starting at about +/- 15V, but the higher the rails, the greater the power dissipation in the output stage:

AndrewT 27th December 2007 01:42 PM

you're talking of a 4% adjustment to r1 &4.
Are the resistor values that critical to circuit operation?

Does it work in ClassAB or only as a ClassA stage?

linuxguru 27th December 2007 04:16 PM

> you're talking of a 4% adjustment to r1 &4.

Yup - it approximately corresponds to the ratio Vt/Vbe = 26 mV/660 mV = ~3.9%

> Are the resistor values that critical to circuit operation?

The critical resistors are R1 & R4 above - these can be fixed after choosing
the other three in each corrector section. The other values are not critical,
they can be chosen for biasing convenience. If you vary R1 (& R4) and watch
the FFT plot, you will observe H2 and H3 decrease for a while and then start increasing - that minimum is the sweet spot (which varies depending on the
value chosen for the Vbe servo). Alternatively, fix R1 & R4 approximately
and vary the voltage of the Vbe servo to find a sweet spot that minimizes H2 and H3.

The ratio of H2 to H3 can also be altered by adjusting the value of the emitter ballast resistor in the output transistor. Generally, less seems to be better, but that will make DC bias stability harder to obtain. I've show 0.1R in the simulation, but practical designs should probably go with 0.47R and accept the higher distortion that results at large swings. In any event, GNFB will be required to remove DC offset at the output, and this will also help drop the H2/H3 and higher harmonic components (already almost non-existent) below the noise floor.

The distortion also becomes vanishingly small at smaller swings - say 1V peak. In this respect, the circuit seems to mimic the behaviour of the original classic JLH, but with better distortion numbers. For normal indoor listening levels, distortion may not even be measurable.

> Does it work in ClassAB or only as a ClassA stage?

It will work in Class AB also, but the kink in the curve during the transitions seems to mess up the distortion numbers - it drops back to the -50..-60 dB regime typically seen in uncorrected Class AB stages. Similarly, turn-on and turn-off transients also seem to mess up Class B distortion numbers.

I'm looking for a workaround for this, maybe Bromley or Sandeman Class S wrapped around this, with this being an accurate Class-A stage.

AKSA 27th December 2007 09:42 PM


Thank you for your work, it is outstanding. :cool:

I too noticed the Kulish work and had thought it amongst the best I've seen. It neatly gets around the EF bugbear - Vbe compressive distortion.

I'm no expert in PSpice, but I'd twigged to the extreme criticality of the tweaking to achieve proper error correction and decided that the added complexity, particularly in light of stability aspects with global feedback, were not worth the trouble for AB. Of course, EC is the subject of Edmond Stuart and Robert Cordell's posts; fascinating work.

Then I figured that an uncorrected Class A would sound damn good anyway, had built and auditioned them and then realised that EC was probably a concept better suited for laser trimmed chips, but not for discrete.

The transient response is very, very good - impressive getting all those devices to sing in tune!

It would seem that the CFP approach, whilst elegant and simpler, still must contend with that switching instability in Class AB. This is a well known issue for CFP. I have found they they only work well in Class A, though they can be tamed with careful layout and a little lag comp.

If it is true that the best approach with amplifiers is to make all stages linear as possible, then apply global feedback, would not efforts best be spent on the voltage amplifier? ;)

Thank you again, food for thought.....


Nelson Pass 27th December 2007 09:58 PM

Cheers for that. :cool:

All times are GMT. The time now is 02:15 AM.

Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 18.75%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2018 DragonByte Technologies Ltd.
Copyright ©1999-2018 diyAudio