Current Mirror Baxandall Class-D Oscillator





















This is a proof of principle circuit for my current mirror variant of the Baxandall oscillator. It's just an LTSpice simulation.

The transistor pair Q3A and Q3B should be an ON-Semiconductor dual pnp - NST45010MW6T1G - and Q6A and Q6B should be the npn equivalent - NST45011MWT6T1G.

These parts offer two transistors matched to 2mV on base-emitter voltage and 10% on current gain. They are cheap and widely available.

It is set up to oscillate at 17kHz (or 100,000 radians per second) and delivers 1V rms with respect ground at Vout+ and Vout- . The load resistor - R11 - sees 1mA of rms current.

The peak current into the centre tap to sustain this peaks at 630uA, and this is multiplied up by a factor of about six from the current being fed into Q6A. Q6A and Q6B form an asymmetrical current mirror, and the level of multiplication is set by the voltage at the emitter of Q6A which stabilises at 47.1 mV.

L1 and L2, and C1 form the tank circuit. The BSS84 MOSFETs M1 and M2 drive the oscillation. L3 and L4 provide the feedback to sustain the oscillation via Q1 and Q2 (which are shown as 2N5089 parts but an NST45011MW6T1 would do the job a little better. This drive arrangement means that we can be sure that both M1 and M2 will have enough gate drive to let the circuit start up from thermal noise when first turned on.

We have to regulate the gain through the asymmmetrical current mirror to make sure that voltage at the centre-tap (Vct) doesn't get too close to the 0V rail to stop the current mirror working correctly.

This circuit monitors this directly - via resistors R6 and R7 - which feed an integrator wrapped around U1A which compares the average voltage at the centre tap with a 5.00V reference voltage (referred to the +12V) generated by U2.

This isn't an ideal scheme for regulating the output amplitude - the only time I used the circuit in a real application I demodulated an output and monitored that - but it saves the extra components you'd need for a demodulator or a precision rectifier.

The 56k resistor - R9 - in series with the integrating capacitor C3 - prevents the phase lag around the amplitude control loop from getting up to 360 degree, and stops it oscillating.

The Sallen and Keys low pass filter around U1B reduces the residual 34kHz ripple from the output of the integrator, and Q4 converts the signal into a current that is fed into R3 to control the gain through the asymmetrical current mirror formed by Q6A and Q6B.

Using Q3 to pick off the voltage at the centre-tap adds a Vbe to the voltage across R2, neatly compensating for the voltage drop across Q3B. You can do better, but this is good enough.

It also allows me to use R12 to compensate for the 34kHz ripple in the current through R3.

C6 is a more brute force way of getting the same result.

When I simulate the circuit, it takes about 200msec to settle down. If I do a fast Fourier transform on Vout, from 400msec to 900msec, the third harmonic content (52kHz) is about 74dB below the fundamental, and the fifth harmonic is closer to 84dB down. There is a bit of second harmonic distortion but it's 96 bB below the fundamental. This wouldn't be wonderful in Wien Bridge oscillator, but it isn't too bad.

Magnetic hysterisis in ferrites limits you to about 80dB in this kind of LC oscillator. I spent some time getting close to this at one point before I got into the John Chan model for inductors (which LTSpice does offer) and decided that it was a waste of time.

What follows is the text content of the .asc file represented in the circuit diagram

Version 4

SHEET 1 1572 988

WIRE -992 -496 -1312 -496

WIRE -784 -496 -992 -496

WIRE -592 -496 -784 -496

WIRE -496 -496 -592 -496

WIRE -352 -496 -496 -496

WIRE -224 -496 -352 -496

WIRE 16 -496 -224 -496

WIRE 240 -496 16 -496

WIRE 448 -496 240 -496

WIRE 640 -496 448 -496

WIRE 784 -496 640 -496

WIRE 1056 -496 784 -496

WIRE 1328 -496 1056 -496

WIRE 1488 -496 1328 -496

WIRE 784 -464 784 -496

WIRE 1328 -464 1328 -496

WIRE 1056 -448 1056 -496

WIRE -352 -352 -352 -496

WIRE 16 -352 16 -496

WIRE 240 -352 240 -496

WIRE -592 -336 -592 -496

WIRE -224 -336 -224 -496

WIRE 640 -320 640 -496

WIRE 1488 -320 1488 -496

WIRE 112 -304 80 -304

WIRE 176 -304 112 -304

WIRE 784 -304 784 -384

WIRE 784 -304 688 -304

WIRE 1328 -304 1328 -384

WIRE 1440 -304 1328 -304

WIRE 448 -256 448 -496

WIRE 112 -224 112 -304

WIRE 240 -224 240 -256

WIRE 240 -224 112 -224

WIRE 544 -208 512 -208

WIRE 240 -192 240 -224

WIRE -496 -160 -496 -496

WIRE 784 -128 784 -304

WIRE 1328 -128 1328 -304

WIRE -1312 -112 -1312 -496

WIRE -720 -96 -896 -96

WIRE 896 -80 848 -80

WIRE 1056 -80 1056 -368

WIRE 1056 -80 976 -80

WIRE 1072 -80 1056 -80

WIRE 1136 -80 1072 -80

WIRE 1264 -80 1216 -80

WIRE -896 -48 -896 -96

WIRE -720 0 -720 -96

WIRE 784 0 784 -32

WIRE 1328 0 1328 -32

WIRE 1328 0 784 0

WIRE -1056 32 -1104 32

WIRE -896 32 -896 16

WIRE -896 32 -1056 32

WIRE -1104 64 -1104 32

WIRE 240 64 240 -112

WIRE 240 64 -96 64

WIRE 448 64 448 -160

WIRE 448 64 240 64

WIRE 640 80 640 -224

WIRE 720 80 640 80

WIRE 800 80 720 80

WIRE 1232 80 864 80

WIRE 1488 80 1488 -224

WIRE 1488 80 1232 80

WIRE 1072 112 1072 -80

WIRE -784 128 -784 -496

WIRE 448 128 448 64

WIRE -720 144 -720 80

WIRE -720 144 -752 144

WIRE -464 144 -720 144

WIRE -352 144 -352 -288

WIRE -352 144 -384 144

WIRE -320 144 -352 144

WIRE 240 144 -240 144

WIRE -896 160 -896 32

WIRE -816 160 -896 160

WIRE -1104 176 -1104 144

WIRE -1104 176 -1264 176

WIRE -496 176 -496 -96

WIRE -496 176 -752 176

WIRE -1104 208 -1104 176

WIRE -96 208 -96 64

WIRE -1264 224 -1264 176

WIRE 640 240 640 80

WIRE 688 240 640 240

WIRE 880 240 768 240

WIRE 1200 240 880 240

WIRE 1488 240 1488 80

WIRE 1488 240 1280 240

WIRE 240 304 240 144

WIRE 544 304 544 -208

WIRE 544 304 240 304

WIRE 608 304 544 304

WIRE 816 304 608 304

WIRE 880 304 880 240

WIRE 880 304 816 304

WIRE -1072 336 -1216 336

WIRE -944 336 -1072 336

WIRE -816 336 -864 336

WIRE 240 336 240 304

WIRE -224 368 -224 -256

WIRE -224 368 -336 368

WIRE 16 384 16 -256

WIRE 176 384 16 384

WIRE -224 400 -224 368

WIRE 688 400 640 400

WIRE 752 400 688 400

WIRE 912 400 832 400

WIRE 1200 400 912 400

WIRE 1392 400 1280 400

WIRE 1488 400 1392 400

WIRE -992 416 -992 -496

WIRE 16 416 16 384

WIRE -1072 432 -1072 336

WIRE -1024 432 -1072 432

WIRE -816 448 -816 336

WIRE -816 448 -960 448

WIRE -752 448 -816 448

WIRE -720 448 -752 448

WIRE -592 448 -592 -256

WIRE -592 448 -640 448

WIRE -432 448 -592 448

WIRE -288 448 -432 448

WIRE 1488 448 1488 400

WIRE -1104 464 -1104 288

WIRE -1024 464 -1104 464

WIRE 144 464 80 464

WIRE 240 464 240 432

WIRE 240 464 144 464

WIRE -1264 528 -1264 288

WIRE -752 528 -752 448

WIRE -752 528 -1264 528

WIRE -496 560 -496 176

WIRE -336 560 -336 368

WIRE 240 560 240 464

WIRE -1216 576 -1216 336

WIRE -224 576 -224 496

WIRE -96 576 -96 288

WIRE -96 576 -224 576

WIRE 16 576 16 512

WIRE 16 576 -96 576

WIRE 640 576 640 400

WIRE 1488 576 1488 528

WIRE 1488 576 640 576

WIRE -1104 592 -1104 464

WIRE 144 608 144 464

WIRE 176 608 144 608

WIRE 1328 608 1328 0

WIRE -224 624 -224 576

WIRE 16 624 16 576

WIRE 608 624 608 304

WIRE 240 672 240 656

WIRE -1312 736 -1312 -32

WIRE -1216 736 -1216 656

WIRE -1216 736 -1312 736

WIRE -1104 736 -1104 656

WIRE -1104 736 -1216 736

WIRE -992 736 -992 480

WIRE -992 736 -1104 736

WIRE -784 736 -784 192

WIRE -784 736 -992 736

WIRE -496 736 -496 640

WIRE -496 736 -784 736

WIRE -336 736 -336 640

WIRE -336 736 -496 736

WIRE -224 736 -224 688

WIRE -224 736 -336 736

WIRE 16 736 16 704

WIRE 16 736 -224 736

WIRE 240 736 16 736

WIRE 448 736 448 208

WIRE 448 736 240 736

WIRE 608 736 608 688

WIRE 608 736 448 736

WIRE 912 736 912 400

WIRE 912 736 608 736

WIRE 1072 736 1072 192

WIRE 1072 736 912 736

WIRE 1328 736 1328 688

WIRE 1328 736 1072 736

WIRE -1312 768 -1312 736

FLAG -1312 768 0

FLAG 816 304 Vct

FLAG 720 80 tank-

FLAG 1232 80 tank+

FLAG 688 400 Vout+

FLAG 1392 400 Vout-

FLAG -1056 32 Integral

FLAG -432 448 control

SYMBOL ind2 672 256 R270

WINDOW 0 32 56 VTop 2

WINDOW 3 4 56 VBottom 2

SYMATTR InstName L1

SYMATTR Value 1m

SYMATTR Type ind

SYMATTR SpiceLine Rser=0.088

SYMBOL ind2 1184 256 R270

WINDOW 0 32 56 VTop 2

WINDOW 3 4 56 VBottom 2

SYMATTR InstName L2

SYMATTR Value 1m

SYMATTR Type ind

SYMATTR SpiceLine Rser=0.022

SYMBOL cap 864 64 R90

WINDOW 0 0 32 VBottom 2

WINDOW 3 46 32 VTop 2

SYMATTR InstName C1

SYMATTR Value 22n

SYMBOL voltage -1312 -128 R0

WINDOW 123 0 0 Left 0

WINDOW 39 24 132 Left 0

SYMATTR SpiceLine Rser=0.001

SYMATTR InstName V1

SYMATTR Value 12

SYMBOL ind2 848 416 M270

WINDOW 0 44 45 VTop 2

WINDOW 3 5 56 VBottom 2

SYMATTR InstName L5

SYMATTR Value 40µ

SYMATTR Type ind

SYMATTR SpiceLine Rser=0.006 Cpar=100pF

SYMBOL ind2 1296 416 M270

WINDOW 0 32 56 VTop 2

WINDOW 3 5 56 VBottom 2

SYMATTR InstName L6

SYMATTR Value 40µ

SYMATTR Type ind

SYMATTR SpiceLine Rser=0.006

SYMBOL pnp 176 -256 M180

WINDOW 3 84 -9 Left 2

SYMATTR Value 2N5087

SYMATTR InstName Q3B

SYMBOL pnp 80 -256 R180

WINDOW 0 110 68 Left 2

WINDOW 3 46 31 Left 2

SYMATTR InstName Q3A

SYMATTR Value 2N5087

SYMBOL res 224 -208 R0

SYMATTR InstName R2

SYMATTR Value 75k

SYMBOL npn 176 336 R0

SYMATTR InstName Q5

SYMATTR Value 2N5089

SYMBOL npn 176 560 R0

SYMATTR InstName Q6B

SYMATTR Value 2N5089

SYMBOL cap -368 -352 R0

SYMATTR InstName C2

SYMATTR Value 4n7

SYMBOL Opamps\\LT1013A -784 96 M0

SYMATTR InstName U1A

SYMBOL cap -912 -48 R0

SYMATTR InstName C3

SYMATTR Value 470n

SYMBOL res -736 -16 R0

SYMATTR InstName R9

SYMATTR Value 56k

SYMBOL Opamps\\LT1013A -992 384 R0

SYMATTR InstName U1B

SYMBOL res -1120 192 R0

SYMATTR InstName R10

SYMATTR Value 51k

SYMBOL res 1472 432 R0

SYMATTR InstName R11

SYMATTR Value 2k

SYMBOL res 0 608 R0

SYMATTR InstName R3

SYMATTR Value 220

SYMBOL res -1120 48 R0

SYMATTR InstName R17

SYMATTR Value 51k

SYMBOL cap -1280 224 R0

SYMATTR InstName C4

SYMATTR Value 1n

SYMBOL ind2 1120 -96 M90

WINDOW 0 4 56 VBottom 2

WINDOW 3 32 56 VTop 2

SYMATTR InstName L3

SYMATTR Value 10µ

SYMATTR Type ind

SYMATTR SpiceLine Rser=0.004 Cpar=100pF

SYMBOL ind2 880 -96 M90

WINDOW 0 4 56 VBottom 2

WINDOW 3 32 56 VTop 2

SYMATTR InstName L4

SYMATTR Value 10µ

SYMATTR Type ind

SYMATTR SpiceLine Rser=0.004 Cpar=100pF

SYMBOL res 1040 -464 R0

SYMATTR InstName R1

SYMATTR Value 5k6

SYMBOL res 1056 96 R0

SYMATTR InstName R14

SYMATTR Value 6k8

SYMBOL res -512 544 R0

SYMATTR InstName R15

SYMATTR Value 6k8

SYMBOL pmos 1440 -224 M180

SYMATTR InstName M1

SYMATTR Value BSS84

SYMBOL pmos 688 -224 R180

SYMATTR InstName M2

SYMATTR Value BSS84

SYMBOL npn 1264 -128 R0

SYMATTR InstName Q1

SYMATTR Value 2N5089

SYMBOL npn 848 -128 M0

SYMATTR InstName Q2

SYMATTR Value 2N5089

SYMBOL res 768 -480 R0

SYMATTR InstName R16

SYMATTR Value 2k2

SYMBOL res 1312 -480 R0

SYMATTR InstName R18

SYMATTR Value 2k2

SYMBOL npn 80 416 M0

WINDOW 3 58 65 Left 2

SYMATTR Value 2N5089

SYMATTR InstName Q6A

SYMBOL res 1312 592 R0

SYMATTR InstName R19

SYMATTR Value 3k3

SYMBOL res -224 128 R90

WINDOW 0 0 56 VBottom 2

WINDOW 3 32 56 VTop 2

SYMATTR InstName R6

SYMATTR Value 100k

SYMBOL res -368 128 R90

WINDOW 0 0 56 VBottom 2

WINDOW 3 32 56 VTop 2

SYMATTR InstName R7

SYMATTR Value 100k

SYMBOL References\\LT1389-5 -496 -128 R0

SYMATTR InstName U2

SYMBOL res -240 -352 R0

SYMATTR InstName R8

SYMATTR Value 39k

SYMBOL cap -1120 592 R0

SYMATTR InstName C5

SYMATTR Value 1n

SYMBOL res -624 432 R90

WINDOW 0 0 56 VBottom 2

WINDOW 3 32 56 VTop 2

SYMATTR InstName R22

SYMATTR Value 18k

SYMBOL npn 512 -256 M0

SYMATTR InstName Q3

SYMATTR Value 2N5089

SYMBOL res 432 112 R0

SYMATTR InstName R4

SYMATTR Value 33k

SYMBOL pnp -288 496 M180

WINDOW 3 84 -9 Left 2

SYMATTR Value 2N5087

SYMATTR InstName Q4

SYMBOL res -608 -352 R0

SYMATTR InstName R5

SYMATTR Value 100k

SYMBOL polcap -240 624 R0

SYMATTR InstName C6

SYMATTR Value 10µ

SYMATTR SpiceLine V=16 Rser=8

SYMBOL res -1232 560 R0

SYMATTR InstName R13

SYMATTR Value 56k

SYMBOL res -848 320 R90

WINDOW 0 0 56 VBottom 2

WINDOW 3 32 56 VTop 2

SYMATTR InstName R21

SYMATTR Value 18k

SYMBOL res -352 544 R0

SYMATTR InstName R23

SYMATTR Value 470k

SYMBOL diode 624 688 R180

WINDOW 0 24 64 Left 2

WINDOW 3 24 0 Left 2

SYMATTR InstName D2

SYMATTR Value 1N914

SYMBOL res -112 192 R0

SYMATTR InstName R12

SYMATTR Value 75k

SYMBOL FerriteBead 240 704 R0

SYMATTR InstName L8

SYMATTR Value 1000n

SYMATTR SpiceLine Ipk=0.2 Rser=0.562 Rpar=750 Cpar=350f mfg="Würth Elektronik" pn="782422601 WE-CBA 0402"

TEXT -520 800 Left 2 !.tran 0 900m 0m 100n

TEXT -520 832 Left 2 !.ic V(tank-)=11.9992 V(Vct)=11.9995 V(tank+)=11.9999 V(Integral)=10.32 V(control)=10.58

TEXT -520 864 Left 2 !K1 L1 L2 L3 L4 L5 L6 0.99