Final final 1kHz oscillator

Nov 08, 2024 Last reply: 1 year ago 58 Replies

This is the simplest circuit I can come up with. Harmonics are more than 80dB down in simulation. FFT the last 30 seconds. There is only one harmonic stopping me claiming 90dB but the exact FFT result can depend on exactly how much output is selected for the FFT. You may see different results.



If a prototype is ever built, attention to the type and quality of the capacitors used will be needed. Electrolytics are not intended. Put C1 and C2 near U1 supply pins. Also pay attention to the stability of +/- 6V. It would be nice to have a single 12V rail version but so far I can't get it to work.



R1 and R2 and probably R7 should be easily changeable. R3 should be 220 ohm ten turn. R9 should be 1M ohm ten turn in series with 470k.



I don't fully understand why the DC stabilization circuit through U2B achieves what it does and this makes me concerned about whether a real circuit would have the same behaviour. It was added when I noticed that the diodes D1 and D2 weren't contributing equally so I decided to try to derive a DC correction signal. This was originally connected to the FET source and then to R13. Since this is a DC correction signal I decided to try out the effect of connecting it to U1 Vocm and was amazed that this works as well as it does. If you disconnect R5, harmonics will not be more than 50dB down because D1 and D2 are no longer providing stable and equal contributions to the level control feedback.



If you need even better performance then the circuit referenced by Bill Sloman can be used.

formatting link
is not expensive and simulation models exist but LT1468 is expensive.



Other references



formatting link
formatting link



Version 4 SHEET 1 2196 932 WIRE -64 -672 -96 -672 WIRE 48 -672 0 -672 WIRE -96 -576 -96 -672 WIRE -64 -576 -96 -576 WIRE 48 -576 48 -672 WIRE 48 -576 16 -576 WIRE -32 -464 -32 -480 WIRE 48 -448 48 -576 WIRE 48 -448 0 -448 WIRE -96 -432 -96 -576 WIRE -64 -432 -96 -432 WIRE 160 -416 0 -416 WIRE 208 -416 160 -416 WIRE 336 -416 288 -416 WIRE 400 -416 336 -416 WIRE 512 -416 400 -416 WIRE 624 -416 512 -416 WIRE -96 -384 -96 -432 WIRE -32 -384 -32 -400 WIRE 48 -368 48 -448 WIRE 336 -368 336 -416 WIRE 160 -352 160 -416 WIRE 400 -352 400 -416 WIRE 512 -288 512 -416 WIRE 624 -288 624 -416 WIRE -96 -272 -96 -304 WIRE -96 -272 -192 -272 WIRE -96 -240 -96 -272 WIRE 48 -240 48 -288 WIRE 160 -240 160 -288 WIRE 336 -240 336 -288 WIRE 400 -240 400 -288 WIRE -192 -176 -192 -272 WIRE -224 -128 -256 -128 WIRE -96 -128 -96 -160 WIRE -96 -128 -128 -128 WIRE -80 -128 -96 -128 WIRE 144 -128 -80 -128 WIRE 288 -128 224 -128 WIRE 352 -128 288 -128 WIRE 512 -128 512 -224 WIRE 512 -128 432 -128 WIRE -256 -48 -256 -128 WIRE -208 -48 -256 -48 WIRE -80 -48 -80 -128 WIRE -80 -48 -128 -48 WIRE 288 -16 288 -128 WIRE 288 -16 64 -16 WIRE 352 -16 288 -16 WIRE 512 -16 512 -128 WIRE 512 -16 432 -16 WIRE -256 0 -256 -48 WIRE 144 48 144 32 WIRE -240 96 -320 96 WIRE -176 96 -240 96 WIRE 64 96 64 -16 WIRE 112 96 64 96 WIRE 512 96 512 -16 WIRE 512 96 272 96 WIRE 16 128 -48 128 WIRE 112 128 16 128 WIRE -320 144 -320 96 WIRE 624 144 624 -224 WIRE 656 144 624 144 WIRE 768 144 720 144 WIRE 848 144 768 144 WIRE -176 160 -176 96 WIRE 16 160 16 128 WIRE 112 160 64 160 WIRE 624 160 624 144 WIRE 624 160 272 160 WIRE 144 224 144 208 WIRE 848 240 848 144 WIRE 16 256 16 224 WIRE 64 272 64 160 WIRE 160 272 64 272 WIRE 288 272 160 272 WIRE 400 272 352 272 WIRE 512 272 512 96 WIRE 512 272 480 272 WIRE 64 288 64 272 WIRE 160 288 160 272 WIRE -320 320 -320 224 WIRE -320 320 -400 320 WIRE -400 336 -400 320 WIRE -320 336 -320 320 WIRE -176 336 -176 224 WIRE -176 336 -320 336 WIRE -48 336 -48 128 WIRE 64 384 64 368 WIRE 160 384 160 352 WIRE 160 384 64 384 WIRE -320 416 -320 336 WIRE 64 416 64 384 WIRE 848 416 848 320 WIRE -176 432 -176 336 WIRE 192 480 144 480 WIRE 304 480 272 480 WIRE 384 480 368 480 WIRE 512 480 512 272 WIRE 624 480 624 160 WIRE 288 576 288 560 WIRE -320 592 -320 496 WIRE -240 592 -320 592 WIRE -176 592 -176 496 WIRE -176 592 -240 592 WIRE 384 592 384 480 WIRE 384 592 320 592 WIRE 624 592 624 544 WIRE 624 592 384 592 WIRE -48 608 -48 416 WIRE 0 608 -48 608 WIRE 32 608 0 608 WIRE 144 608 144 480 WIRE 144 608 112 608 WIRE 208 608 144 608 WIRE 256 608 208 608 WIRE 432 624 320 624 WIRE 512 624 512 544 WIRE 512 624 432 624 WIRE 624 624 624 592 WIRE 704 624 624 624 WIRE -48 656 -48 608 WIRE 0 656 0 608 WIRE 288 656 288 640 WIRE 512 656 512 624 WIRE 704 656 704 624 WIRE 432 672 432 624 WIRE 624 672 624 624 WIRE -48 768 -48 720 WIRE 0 768 0 720 WIRE 0 768 -48 768 WIRE 432 768 432 736 WIRE 512 768 512 736 WIRE 512 768 432 768 WIRE 624 768 624 736 WIRE 624 768 512 768 WIRE 704 768 704 736 WIRE 704 768 624 768 WIRE -48 800 -48 768 WIRE 432 800 432 768 FLAG -400 336 0 FLAG 288 560 V+ FLAG 144 224 V- FLAG -240 96 V+ FLAG -240 592 V- FLAG 768 144 output FLAG 144 32 V+ FLAG 288 656 V- FLAG 432 800 0 FLAG 16 256 0 FLAG -32 -480 V+ FLAG -32 -384 V- FLAG -256 0 0 FLAG 400 -240 0 FLAG 160 -240 0 FLAG 848 416 0 FLAG 64 416 0 FLAG 48 -240 0 FLAG 336 -240 0 FLAG -48 800 0 FLAG 208 608 dc-trim SYMBOL voltage -320 128 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 12 7 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V1 SYMATTR Value 6 SYMBOL res 496 256 R90 WINDOW 0 1 52 VBottom 2 WINDOW 3 33 45 VTop 2 SYMATTR InstName R11 SYMATTR Value 10.5k SYMBOL cap 352 256 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 35 30 VTop 2 SYMATTR InstName C8 SYMATTR Value 0.015µ SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL res 240 -144 R90 WINDOW 0 -1 46 VBottom 2 WINDOW 3 35 56 VTop 2 SYMATTR InstName R7 SYMATTR Value 6.34k SYMBOL res 448 -144 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R8 SYMATTR Value 13k SYMBOL njf -128 -176 R90 WINDOW 0 -37 23 VRight 2 WINDOW 3 -9 -3 VRight 2 SYMATTR InstName J1 SYMATTR Value J112 SYMBOL voltage -320 400 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 10 0 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V2 SYMATTR Value 6 SYMBOL res 48 272 R0 WINDOW 3 36 65 Left 2 SYMATTR Value 10.5k SYMATTR InstName R10 SYMBOL schottky 496 -288 R0 WINDOW 3 -17 -26 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D1 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 608 -288 R0 WINDOW 3 -15 -25 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D2 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -112 -64 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 82 SYMBOL OpAmps\\LT1994 176 128 R0 WINDOW 3 10 -65 Left 2 WINDOW 0 11 -95 Left 2 SYMATTR InstName U1 SYMBOL OpAmps\\LT1057 288 544 M0 WINDOW 0 19 104 Left 2 WINDOW 3 18 130 Left 2 SYMATTR InstName U2B SYMBOL schottky 528 480 M0 WINDOW 3 52 -26 VRight 2 WINDOW 0 -18 3 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D3 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 640 480 M0 WINDOW 3 49 -26 VRight 2 WINDOW 0 -21 4 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D4 SYMATTR Description Diode SYMATTR Type diode SYMBOL res 528 640 M0 WINDOW 3 25 87 Left 2 SYMATTR Value 220k SYMATTR InstName R16 SYMBOL res 720 640 M0 WINDOW 3 27 87 Left 2 SYMATTR Value 220k SYMATTR InstName R17 SYMBOL res -112 -256 R0 WINDOW 0 38 42 Left 2 WINDOW 3 36 66 Left 2 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL res 320 -384 R0 WINDOW 0 -55 41 Left 2 WINDOW 3 -64 83 Left 2 SYMATTR InstName R13 SYMATTR Value 220k SYMBOL res 448 -32 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R9 SYMATTR Value 1.0469Meg SYMBOL res -80 -288 R180 WINDOW 0 40 70 Left 2 WINDOW 3 45 42 Left 2 SYMATTR InstName R1 SYMATTR Value 1k SYMBOL res -32 432 R180 WINDOW 0 36 76 Left 2 WINDOW 3 36 40 Left 2 SYMATTR InstName R5 SYMATTR Value 33k SYMBOL res 176 464 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R15 SYMATTR Value 220 SYMBOL res 16 592 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R14 SYMATTR Value 10k SYMBOL cap 176 352 R180 WINDOW 0 -37 41 Left 2 WINDOW 3 -88 16 Left 2 SYMATTR InstName C7 SYMATTR Value 0.015µ SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL OpAmps\\LT1057 -32 -496 M0 WINDOW 0 -63 128 Left 2 WINDOW 3 -54 156 Left 2 SYMATTR InstName U2A SYMBOL cap 720 128 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C13 SYMATTR Value 1µ SYMATTR SpiceLine V=10 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM153R61A105ME95" type="X5R" SYMBOL res 832 224 R0 SYMATTR InstName R18 SYMATTR Value 100k SYMBOL res 32 -384 R0 SYMATTR InstName R6 SYMATTR Value 22k SYMBOL res 192 -400 R270 WINDOW 0 35 55 VTop 2 WINDOW 3 -6 55 VBottom 2 SYMATTR InstName R12 SYMATTR Value 220k SYMBOL res -80 -560 R270 WINDOW 0 31 55 VTop 2 WINDOW 3 -3 56 VBottom 2 SYMATTR InstName R4 SYMATTR Value 47k SYMBOL cap 176 -352 M0 WINDOW 0 -22 9 Left 2 WINDOW 3 -31 54 Left 2 SYMATTR InstName C6 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 -352 M0 WINDOW 0 -36 9 Left 2 WINDOW 3 -31 54 Left 2 SYMATTR InstName C10 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 368 496 M270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C9 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 672 R0 WINDOW 0 -37 6 Left 2 WINDOW 3 -31 54 Left 2 SYMATTR InstName C11 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 608 672 R0 WINDOW 0 -33 9 Left 2 WINDOW 3 -31 54 Left 2 SYMATTR InstName C12 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -192 160 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -31 54 Left 2 SYMATTR InstName C1 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -192 432 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -31 54 Left 2 SYMATTR InstName C2 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 32 224 R180 WINDOW 0 24 56 Left 2 WINDOW 3 24 8 Left 2 SYMATTR InstName C4 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL diode -32 720 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D5 SYMATTR Value 1N4148 SYMBOL cap 0 -688 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C3 SYMATTR Value 10µ SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -16 720 M180 WINDOW 0 24 56 Left 2 WINDOW 3 24 8 Left 2 SYMATTR InstName C5 SYMATTR Value 1µ SYMATTR SpiceLine V=10 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM153R61A105ME95" type="X5R" TEXT -624 272 Left 2 !.tran 0 300s 0s startup TEXT -1568 -728 Left 2 ;Edward Rawde's high purity 1kHz sinewave oscillator. 8 Nov 2024\n \nHarmonics are more than 80dB down in simulation.\nFFT the last 30 seconds.\nThere is only one harmonic stopping me claiming 90dB but the exact FFT result can depend\non exactly how much output is selected for the FFT. You may see different results.\n \nIf a prototype is ever built, pay attention to the type and quality of the capacitors used.\nElectrolytics are not intended. Put C1 and C2 near U1 supply pins.\nAlso pay attention to the stability of +/- 6V.\nIt would be nice to have a single 12V rail version but so far I can't get it to work.\n \nR1 and R2 and probably R7 should be easily changeable.\nR3 should be 220 ohm ten turn. R9 should be 1M ohm ten turn in series with 470k.\n \nI don't fully understand why the DC stabilization circuit through U2B achieves what it does\nand this makes me concerned about whether a real circuit would have the same behaviour.\nIt was added when I noticed that the diodes D1 and D2 weren't contributing equally so I \ndecided to try to derive a DC correction signal. This was originally connected to the FET source\nand then to R13. Since this is a DC correction signal I decided to try out the effect of\nconnecting it to U1 Vocm and was amazed that this works as well as it does. \nIf you disconnect R5, harmonics will not be more than 50dB down because D1 and D2 are no\nlonger providing stable and equal contributions to the level control feedback.\n \nIf you need even better performance then the circuit referenced by Bill Sloman can be used.\n

formatting link
\nNSL-32SR3 is not expensive and simulation models exist but LT1468 is expensive.\n \nOther references\n \n
formatting link
\n \n
formatting link


If electrolytics are not intended, why are most of the capacitors rated at 10V?

When I cut and pasted the file the capacitors were mostly labelled as

10?, 1? and - in the case of the wein bridge capacitors 0.015?

The 15nF capacitors are rated at 16V - the polypropylene parts you can actually buy that are offered with a +/-1% tolerance are 63V and 250V parts

I presume you intended u or the Greek mu symbol, and after I'd done that substitution the simulation did work, if not well.

The feedback loop doesn't settle well, and I suspect that I know why. R4 should probably be in series with C3, not in parallel. More later.

Yes

When I cut and pasted the file into notepad++ and removed line 391 and subsequent lines (or fixed wraps) and under encoding converted to ANSI everything worked fine.

You'd have to take that up with the LTSpice parts library.

No substitution is required if you convert to ANSI in notepad++

You put that parts in.

Perhaps.

In fact I also had to take out C6 and R9. Once I'd done that the circuit simulated a lot faster, and settled down after about 20 seconds. The next 20 seconds showed a third harmonic spike about 60DB below the fundamental - respectable but not great. Putting too much delay into a feedback loop makes it unstable - that's what Bode plots are all about.

Those characters are also rendering incorrectly here, too.

...

There certainly are issues with this circuit despite its ability in simulation to show 80dB down on harmonics.

So perhaps this is not the final final circuit after all.

U2A is not operateing as intended. C3 can be removed for testing.

"Bill Sloman" snipped-for-privacy@ieee.org wrote in message news:vgnkgg$3p31a$ snipped-for-privacy@dont-email.me...

I have fixed my circuit but it raises more questions than it answers. This circuit deliberately has no text and no u symbols so should be ready to simulate. If you let it complete (about 20 minutes on a fast PC) the FFT should show at least 80dB purity and there aren't many harmonics standing in the way of 90dB. Startup isn't fast and it takes at least 20 seconds of simulation to fully settle.

There are two things I don't understand about my own circuit.

  1. Why does LT1678 work fine in position U2 but LT1057 does not.
  2. Why is the DC stabilization circuit (U3 and associated components) needed and would it work just the same in reality?

Version 4 SHEET 1 2196 932 WIRE -64 -576 -96 -576 WIRE 48 -576 16 -576 WIRE 128 -528 112 -528 WIRE 208 -528 192 -528 WIRE 288 -528 272 -528 WIRE 368 -528 352 -528 WIRE 448 -528 432 -528 WIRE 528 -528 512 -528 WIRE 640 -528 592 -528 WIRE 640 -512 640 -528 WIRE -32 -464 -32 -480 WIRE 48 -448 48 -576 WIRE 48 -448 0 -448 WIRE -96 -432 -96 -576 WIRE -64 -432 -96 -432 WIRE 112 -416 112 -528 WIRE 112 -416 0 -416 WIRE 160 -416 112 -416 WIRE 208 -416 160 -416 WIRE 336 -416 288 -416 WIRE 400 -416 336 -416 WIRE 512 -416 400 -416 WIRE 624 -416 512 -416 WIRE -96 -384 -96 -432 WIRE -32 -384 -32 -400 WIRE 48 -368 48 -448 WIRE 336 -368 336 -416 WIRE 160 -352 160 -416 WIRE 400 -352 400 -416 WIRE 512 -288 512 -416 WIRE 624 -288 624 -416 WIRE -96 -272 -96 -304 WIRE -96 -272 -192 -272 WIRE -96 -240 -96 -272 WIRE 48 -240 48 -288 WIRE 160 -240 160 -288 WIRE 336 -240 336 -288 WIRE 400 -240 400 -288 WIRE -192 -176 -192 -272 WIRE -224 -128 -256 -128 WIRE -96 -128 -96 -160 WIRE -96 -128 -128 -128 WIRE -80 -128 -96 -128 WIRE 144 -128 -80 -128 WIRE 288 -128 224 -128 WIRE 352 -128 288 -128 WIRE 512 -128 512 -224 WIRE 512 -128 432 -128 WIRE -256 -48 -256 -128 WIRE -208 -48 -256 -48 WIRE -80 -48 -80 -128 WIRE -80 -48 -128 -48 WIRE 288 -16 288 -128 WIRE 288 -16 64 -16 WIRE 352 -16 288 -16 WIRE 512 -16 512 -128 WIRE 512 -16 432 -16 WIRE -256 0 -256 -48 WIRE 144 48 144 32 WIRE -240 96 -320 96 WIRE -176 96 -240 96 WIRE 64 96 64 -16 WIRE 112 96 64 96 WIRE 512 96 512 -16 WIRE 512 96 272 96 WIRE -32 128 -96 128 WIRE 112 128 -32 128 WIRE -320 144 -320 96 WIRE 624 144 624 -224 WIRE 656 144 624 144 WIRE 752 144 720 144 WIRE -176 160 -176 96 WIRE -32 160 -32 128 WIRE 112 160 64 160 WIRE 624 160 624 144 WIRE 624 160 272 160 WIRE 752 176 752 144 WIRE 144 224 144 208 WIRE -32 256 -32 224 WIRE 64 272 64 160 WIRE 160 272 64 272 WIRE 288 272 160 272 WIRE 400 272 352 272 WIRE 512 272 512 96 WIRE 512 272 480 272 WIRE 64 288 64 272 WIRE 160 288 160 272 WIRE 752 288 752 256 WIRE 880 288 752 288 WIRE 928 288 880 288 WIRE -320 320 -320 224 WIRE -320 320 -400 320 WIRE 928 320 928 288 WIRE -400 336 -400 320 WIRE -320 336 -320 320 WIRE -176 336 -176 224 WIRE -176 336 -320 336 WIRE -96 336 -96 128 WIRE 64 384 64 368 WIRE 160 384 160 352 WIRE 160 384 64 384 WIRE -320 416 -320 336 WIRE 64 416 64 384 WIRE -176 432 -176 336 WIRE 192 432 144 432 WIRE 304 432 272 432 WIRE 384 432 368 432 WIRE 928 432 928 400 WIRE 512 448 512 272 WIRE 624 448 624 160 WIRE 288 544 288 528 WIRE 384 560 384 432 WIRE 384 560 320 560 WIRE 624 560 624 512 WIRE 624 560 384 560 WIRE -96 576 -96 416 WIRE -48 576 -96 576 WIRE 32 576 -48 576 WIRE 144 576 144 432 WIRE 144 576 112 576 WIRE 208 576 144 576 WIRE 256 576 208 576 WIRE -320 592 -320 496 WIRE -240 592 -320 592 WIRE -176 592 -176 496 WIRE -176 592 -240 592 WIRE 432 592 320 592 WIRE 512 592 512 512 WIRE 512 592 432 592 WIRE 624 592 624 560 WIRE 704 592 624 592 WIRE -96 624 -96 576 WIRE -48 624 -48 576 WIRE 288 624 288 608 WIRE 512 624 512 592 WIRE 704 624 704 592 WIRE 432 640 432 592 WIRE 624 640 624 592 WIRE -96 736 -96 688 WIRE -48 736 -48 688 WIRE -48 736 -96 736 WIRE 432 736 432 704 WIRE 512 736 512 704 WIRE 512 736 432 736 WIRE 624 736 624 704 WIRE 624 736 512 736 WIRE 704 736 704 704 WIRE 704 736 624 736 WIRE -96 768 -96 736 WIRE 432 768 432 736 FLAG -400 336 0 FLAG 288 528 V+ FLAG 144 224 V- FLAG -240 96 V+ FLAG -240 592 V- FLAG 880 288 output FLAG 144 32 V+ FLAG 288 624 V- FLAG 432 768 0 FLAG -32 256 0 FLAG -32 -480 V+ FLAG -32 -384 V- FLAG -256 0 0 FLAG 400 -240 0 FLAG 160 -240 0 FLAG 64 416 0 FLAG 336 -240 0 FLAG -96 768 0 FLAG 208 576 dc-trim FLAG 640 -512 0 FLAG 48 -240 0 FLAG 928 432 0 SYMBOL voltage -320 128 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 12 7 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V1 SYMATTR Value 6 SYMBOL res 496 256 R90 WINDOW 0 1 52 VBottom 2 WINDOW 3 33 45 VTop 2 SYMATTR InstName R11 SYMATTR Value 10.5k SYMBOL cap 352 256 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 35 30 VTop 2 SYMATTR InstName C8 SYMATTR Value 15n SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL res 240 -144 R90 WINDOW 0 -1 46 VBottom 2 WINDOW 3 35 56 VTop 2 SYMATTR InstName R7 SYMATTR Value 6.34k SYMBOL res 448 -144 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R8 SYMATTR Value 13k SYMBOL njf -128 -176 R90 WINDOW 0 -37 23 VRight 2 WINDOW 3 -9 -3 VRight 2 SYMATTR InstName J1 SYMATTR Value J112 SYMBOL voltage -320 400 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 10 0 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V2 SYMATTR Value 6 SYMBOL res 48 272 R0 WINDOW 3 36 65 Left 2 SYMATTR Value 10.5k SYMATTR InstName R10 SYMBOL schottky 496 -288 R0 WINDOW 3 -17 -26 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D1 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -112 -64 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 82 SYMBOL OpAmps\\LT1994 176 128 R0 WINDOW 3 10 -65 Left 2 WINDOW 0 11 -95 Left 2 SYMATTR InstName U1 SYMBOL OpAmps\\LT1057 288 512 M0 WINDOW 0 19 104 Left 2 WINDOW 3 18 130 Left 2 SYMATTR InstName U3 SYMBOL schottky 528 448 M0 WINDOW 3 52 -26 VRight 2 WINDOW 0 -18 3 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D3 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 640 448 M0 WINDOW 3 49 -26 VRight 2 WINDOW 0 -21 4 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D4 SYMATTR Description Diode SYMATTR Type diode SYMBOL res 528 608 M0 WINDOW 3 25 87 Left 2 SYMATTR Value 220k SYMATTR InstName R16 SYMBOL res 720 608 M0 WINDOW 3 27 87 Left 2 SYMATTR Value 220k SYMATTR InstName R17 SYMBOL res -112 -256 R0 WINDOW 0 38 42 Left 2 WINDOW 3 36 66 Left 2 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL res 320 -384 R0 WINDOW 0 -50 69 Left 2 WINDOW 3 -54 98 Left 2 SYMATTR InstName R13 SYMATTR Value 220k SYMBOL res 448 -32 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R9 SYMATTR Value 1.0469Meg SYMBOL res -80 -288 R180 WINDOW 0 40 70 Left 2 WINDOW 3 45 42 Left 2 SYMATTR InstName R1 SYMATTR Value 1k SYMBOL res -80 432 R180 WINDOW 0 36 76 Left 2 WINDOW 3 36 40 Left 2 SYMATTR InstName R5 SYMATTR Value 33k SYMBOL res 176 416 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R15 SYMATTR Value 220 SYMBOL res 16 560 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R14 SYMATTR Value 10k SYMBOL cap 176 352 R180 WINDOW 0 -37 41 Left 2 WINDOW 3 -50 13 Left 2 SYMATTR InstName C7 SYMATTR Value 15n SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL cap 720 128 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C13 SYMATTR Value 100000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0.002 Lser=0 mfg="TDK" pn="C575OX5ROJI07M" type="X5R" SYMBOL res 736 160 R0 SYMATTR InstName R18 SYMATTR Value 600 SYMBOL res 192 -400 R270 WINDOW 0 35 55 VTop 2 WINDOW 3 -6 55 VBottom 2 SYMATTR InstName R12 SYMATTR Value 220k SYMBOL cap 176 -352 M0 WINDOW 0 -22 9 Left 2 WINDOW 3 -75 48 Left 2 SYMATTR InstName C6 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 -352 M0 WINDOW 0 -32 51 Left 2 WINDOW 3 -72 7 Left 2 SYMATTR InstName C10 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 368 448 M270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C9 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 640 R0 WINDOW 0 -37 6 Left 2 WINDOW 3 -77 53 Left 2 SYMATTR InstName C11 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 608 640 R0 WINDOW 0 -33 9 Left 2 WINDOW 3 -72 51 Left 2 SYMATTR InstName C12 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -192 160 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -79 48 Left 2 SYMATTR InstName C1 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -192 432 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -75 50 Left 2 SYMATTR InstName C2 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -16 224 R180 WINDOW 0 23 78 Left 2 WINDOW 3 -74 78 Left 2 SYMATTR InstName C4 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL diode -80 688 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D5 SYMATTR Value 1N4148 SYMBOL cap -64 688 M180 WINDOW 0 24 56 Left 2 WINDOW 3 24 8 Left 2 SYMATTR InstName C5 SYMATTR Value 1000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM032R60J105ME05" type="X5R" SYMBOL OpAmps\\LT1678 -32 -432 M0 WINDOW 0 -47 50 Left 2 WINDOW 3 -47 89 Left 2 SYMATTR InstName U2 SYMBOL diode 192 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D6 SYMATTR Value 1N914 SYMBOL diode 272 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D7 SYMATTR Value 1N914 SYMBOL diode 352 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D8 SYMATTR Value 1N914 SYMBOL diode 432 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D9 SYMATTR Value 1N914 SYMBOL diode 512 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D10 SYMATTR Value 1N914 SYMBOL schottky 608 -288 R0 SYMATTR Value BAS40HY SYMATTR InstName D2 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -80 -560 R270 WINDOW 0 33 55 VTop 2 WINDOW 3 -3 55 VBottom 2 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL res 32 -384 R0 SYMATTR InstName R6 SYMATTR Value 10k SYMBOL diode 592 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D11 SYMATTR Value 1N914 SYMBOL res 912 304 R0 SYMATTR InstName R19 SYMATTR Value 600 TEXT -624 272 Left 2 !.tran 0 150s 0s startup

Spectral purity might be fine for all I can tell but the output amplitude is all over the place, even if the sim is left to run its full course. Also, what's the purpose of the 6 diodes in series at the top of the schematic? If you need to drop 4V there ought to be a more elegant way of doing it!

In that case there is some unknown difference between your simulation and mine. I just copy/pasted it directly from my post into sine.asc and ran the simulation. The output is totally stable after 20 seconds and remains stable for the rest of the simulation.

One of the reasons this circuit can produce such a pure output is the filter components R12 and C6. This makes it so that what is sent to the FET gate can't be much different from DC when the amplitude control loop is locked on to the correct control point.

But the filter components introduce a lot of lag (Bill also pointed this out). So I tried another op amp as a lag compensator (which also inverted so I change to a P FET). This worked fine and the output was almost immediately stable at the correct level. But it also had the effect of introducing noise to the extent that I couldn't get below 50dB down.

So I looked for another solution. One way to force the amplitude control loop to lock is to do just that. Make it so that the control voltage can't go too far outside the required range. That's what the diode clamp does.

Is your version of LTSpice fully up to date both main program and library? If so then it wouldn't surprise me if differences between computers cause differences in simulation of this circuit. Try adjusting the last two digits of the value of R9

Change R9 to 1.07Meg does it amplitude stabilize now? Adjustment will be needed in any real circuit.

Indeed, but for a simulation we should be seeing identical results! I've made the change as you suggested and it's increased the sim time considerably. I'll post again when it's completed.

Update: looking *much* better at 25% done. Settled after 7.5s. I will let it run its course anyway and post again at the end with the final outcome.

Looks really stable now; 4.5V peak to peak and none of the fluctuations of the earlier simulations. Weird how it took *so* much longer to complete this time, though.

"Cursitor Doom" snipped-for-privacy@notformail.com wrote in message news: snipped-for-privacy@4ax.com...

An FFT on the last 10 seconds should show peformance approaching 90dB down.

I likely won't be working on this any further unless anyone else wants further discussion.

The goal was to get the purest possible sine wave at the lowest cost and in simulation I don't think I can improve on this circuit. I'm not able to build this circuit and even if I did I don't have equipment capable of measuring distortion 90dB down.

I'd still like to know why LT1057 doesn't work in position U2. It's not like rail to rail is needed. LT1678 works exactly as expected. LT1057 probably would in reality but not sure I'd risk it.

I'd also like to know exactly how and why U3 stabilizes U1 and the operation of D1 and D2. Would this work the same in reality?

The diode clamp should probably be made from a single diode and another op amp with two resistors to allow the clamp level to be easily adjusted.

If it's ever buil for real I'd make R1, R2, R7, R8 easily changeable. I'd also make R3 220 ohm ten turn and R9 1Meg 10 turn in series with 470k.

The definitely final circuit is included below. This has no text or titles or dates so add that yourself if you wish.

Version 4 SHEET 1 2196 932 WIRE -64 -576 -96 -576 WIRE 48 -576 16 -576 WIRE 128 -528 112 -528 WIRE 208 -528 192 -528 WIRE 288 -528 272 -528 WIRE 368 -528 352 -528 WIRE 448 -528 432 -528 WIRE 528 -528 512 -528 WIRE 640 -528 592 -528 WIRE 640 -512 640 -528 WIRE -32 -464 -32 -480 WIRE 48 -448 48 -576 WIRE 48 -448 0 -448 WIRE -96 -432 -96 -576 WIRE -64 -432 -96 -432 WIRE 112 -416 112 -528 WIRE 112 -416 0 -416 WIRE 160 -416 112 -416 WIRE 208 -416 160 -416 WIRE 336 -416 288 -416 WIRE 400 -416 336 -416 WIRE 512 -416 400 -416 WIRE 624 -416 512 -416 WIRE -96 -384 -96 -432 WIRE -32 -384 -32 -400 WIRE 48 -368 48 -448 WIRE 336 -368 336 -416 WIRE 160 -352 160 -416 WIRE 400 -352 400 -416 WIRE 512 -288 512 -416 WIRE 624 -288 624 -416 WIRE -96 -272 -96 -304 WIRE -96 -272 -192 -272 WIRE -96 -240 -96 -272 WIRE 48 -240 48 -288 WIRE 160 -240 160 -288 WIRE 336 -240 336 -288 WIRE 400 -240 400 -288 WIRE -192 -176 -192 -272 WIRE -224 -128 -256 -128 WIRE -96 -128 -96 -160 WIRE -96 -128 -128 -128 WIRE -80 -128 -96 -128 WIRE 144 -128 -80 -128 WIRE 288 -128 224 -128 WIRE 352 -128 288 -128 WIRE 512 -128 512 -224 WIRE 512 -128 432 -128 WIRE -256 -48 -256 -128 WIRE -208 -48 -256 -48 WIRE -80 -48 -80 -128 WIRE -80 -48 -128 -48 WIRE 288 -16 288 -128 WIRE 288 -16 64 -16 WIRE 352 -16 288 -16 WIRE 512 -16 512 -128 WIRE 512 -16 432 -16 WIRE -256 0 -256 -48 WIRE 144 48 144 32 WIRE -272 96 -352 96 WIRE -208 96 -272 96 WIRE 64 96 64 -16 WIRE 112 96 64 96 WIRE 512 96 512 -16 WIRE 512 96 272 96 WIRE -32 128 -96 128 WIRE 112 128 -32 128 WIRE -352 144 -352 96 WIRE 624 144 624 -224 WIRE 656 144 624 144 WIRE 752 144 720 144 WIRE -208 160 -208 96 WIRE -32 160 -32 128 WIRE 112 160 64 160 WIRE 624 160 624 144 WIRE 624 160 272 160 WIRE 752 176 752 144 WIRE 144 224 144 208 WIRE -32 256 -32 224 WIRE 64 272 64 160 WIRE 160 272 64 272 WIRE 288 272 160 272 WIRE 400 272 352 272 WIRE 512 272 512 96 WIRE 512 272 480 272 WIRE 64 288 64 272 WIRE 160 288 160 272 WIRE 752 288 752 256 WIRE 880 288 752 288 WIRE 928 288 880 288 WIRE -352 320 -352 224 WIRE -352 320 -432 320 WIRE 928 320 928 288 WIRE -432 336 -432 320 WIRE -352 336 -352 320 WIRE -208 336 -208 224 WIRE -208 336 -352 336 WIRE -96 336 -96 128 WIRE 64 384 64 368 WIRE 160 384 160 352 WIRE 160 384 64 384 WIRE -352 416 -352 336 WIRE 64 416 64 384 WIRE -208 432 -208 336 WIRE 192 432 144 432 WIRE 304 432 272 432 WIRE 384 432 368 432 WIRE 928 432 928 400 WIRE 512 448 512 272 WIRE 624 448 624 160 WIRE 288 544 288 528 WIRE 384 560 384 432 WIRE 384 560 320 560 WIRE 624 560 624 512 WIRE 624 560 384 560 WIRE -96 576 -96 416 WIRE -48 576 -96 576 WIRE 32 576 -48 576 WIRE 144 576 144 432 WIRE 144 576 112 576 WIRE 208 576 144 576 WIRE 256 576 208 576 WIRE -352 592 -352 496 WIRE -272 592 -352 592 WIRE -208 592 -208 496 WIRE -208 592 -272 592 WIRE 432 592 320 592 WIRE 512 592 512 512 WIRE 512 592 432 592 WIRE 624 592 624 560 WIRE 704 592 624 592 WIRE -96 624 -96 576 WIRE -48 624 -48 576 WIRE 288 624 288 608 WIRE 512 624 512 592 WIRE 704 624 704 592 WIRE 432 640 432 592 WIRE 624 640 624 592 WIRE -96 736 -96 688 WIRE -48 736 -48 688 WIRE -48 736 -96 736 WIRE 432 736 432 704 WIRE 512 736 512 704 WIRE 512 736 432 736 WIRE 624 736 624 704 WIRE 624 736 512 736 WIRE 704 736 704 704 WIRE 704 736 624 736 WIRE -96 768 -96 736 WIRE 432 768 432 736 FLAG -432 336 0 FLAG 288 528 V+ FLAG 144 224 V- FLAG -272 96 V+ FLAG -272 592 V- FLAG 880 288 output FLAG 144 32 V+ FLAG 288 624 V- FLAG 432 768 0 FLAG -32 256 0 FLAG -32 -480 V+ FLAG -32 -384 V- FLAG -256 0 0 FLAG 400 -240 0 FLAG 160 -240 0 FLAG 64 416 0 FLAG 336 -240 0 FLAG -96 768 0 FLAG 208 576 dc-trim FLAG 640 -512 0 FLAG 48 -240 0 FLAG 928 432 0 SYMBOL voltage -352 128 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 12 7 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V1 SYMATTR Value 6 SYMBOL res 496 256 R90 WINDOW 0 1 52 VBottom 2 WINDOW 3 33 45 VTop 2 SYMATTR InstName R11 SYMATTR Value 10.5k SYMBOL cap 352 256 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 35 30 VTop 2 SYMATTR InstName C8 SYMATTR Value 15n SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL res 240 -144 R90 WINDOW 0 -1 46 VBottom 2 WINDOW 3 35 56 VTop 2 SYMATTR InstName R7 SYMATTR Value 6.34k SYMBOL res 448 -144 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R8 SYMATTR Value 13k SYMBOL njf -128 -176 R90 WINDOW 0 -37 23 VRight 2 WINDOW 3 -9 -3 VRight 2 SYMATTR InstName J1 SYMATTR Value J112 SYMBOL voltage -352 400 R0 WINDOW 123 0 0 Left 0 WINDOW 39 10 135 Left 2 WINDOW 0 10 0 Left 2 WINDOW 3 15 104 Left 2 SYMATTR SpiceLine Rser=0.01 SYMATTR InstName V2 SYMATTR Value 6 SYMBOL res 48 272 R0 WINDOW 3 36 65 Left 2 SYMATTR Value 10.5k SYMATTR InstName R10 SYMBOL schottky 496 -288 R0 WINDOW 3 -17 -26 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D1 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -112 -64 R90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R3 SYMATTR Value 82 SYMBOL OpAmps\\LT1994 176 128 R0 WINDOW 3 10 -65 Left 2 WINDOW 0 11 -95 Left 2 SYMATTR InstName U1 SYMBOL OpAmps\\LT1057 288 512 M0 WINDOW 0 19 104 Left 2 WINDOW 3 18 130 Left 2 SYMATTR InstName U3 SYMBOL schottky 528 448 M0 WINDOW 3 52 -26 VRight 2 WINDOW 0 -18 3 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D3 SYMATTR Description Diode SYMATTR Type diode SYMBOL schottky 640 448 M0 WINDOW 3 49 -26 VRight 2 WINDOW 0 -21 4 Left 2 SYMATTR Value BAS40HY SYMATTR InstName D4 SYMATTR Description Diode SYMATTR Type diode SYMBOL res 528 608 M0 WINDOW 3 25 87 Left 2 SYMATTR Value 220k SYMATTR InstName R16 SYMBOL res 720 608 M0 WINDOW 3 27 87 Left 2 SYMATTR Value 220k SYMATTR InstName R17 SYMBOL res -112 -256 R0 WINDOW 0 38 42 Left 2 WINDOW 3 36 66 Left 2 SYMATTR InstName R2 SYMATTR Value 1k SYMBOL res 320 -384 R0 WINDOW 0 -50 69 Left 2 WINDOW 3 -54 98 Left 2 SYMATTR InstName R13 SYMATTR Value 220k SYMBOL res 448 -32 R90 WINDOW 0 -4 61 VBottom 2 WINDOW 3 39 55 VTop 2 SYMATTR InstName R9 SYMATTR Value 1.07Meg SYMBOL res -80 -288 R180 WINDOW 0 40 70 Left 2 WINDOW 3 45 42 Left 2 SYMATTR InstName R1 SYMATTR Value 1k SYMBOL res -80 432 R180 WINDOW 0 36 76 Left 2 WINDOW 3 36 40 Left 2 SYMATTR InstName R5 SYMATTR Value 33k SYMBOL res 176 416 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R15 SYMATTR Value 220 SYMBOL res 16 560 M90 WINDOW 0 0 56 VBottom 2 WINDOW 3 32 56 VTop 2 SYMATTR InstName R14 SYMATTR Value 10k SYMBOL cap 176 352 R180 WINDOW 0 -37 41 Left 2 WINDOW 3 -50 13 Left 2 SYMATTR InstName C7 SYMATTR Value 15n SYMATTR SpiceLine V=16 Irms=271m Rser=0.594318 Lser=0 mfg="KEMET" pn="C0603C153K4RAC" type="X7R" SYMBOL cap 720 128 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C13 SYMATTR Value 100000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0.002 Lser=0 mfg="TDK" pn="C575OX5ROJI07M" type="X5R" SYMBOL res 736 160 R0 SYMATTR InstName R18 SYMATTR Value 600 SYMBOL res 192 -400 R270 WINDOW 0 35 55 VTop 2 WINDOW 3 -6 55 VBottom 2 SYMATTR InstName R12 SYMATTR Value 220k SYMBOL cap 176 -352 M0 WINDOW 0 -22 9 Left 2 WINDOW 3 -75 48 Left 2 SYMATTR InstName C6 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 -352 M0 WINDOW 0 -32 51 Left 2 WINDOW 3 -72 7 Left 2 SYMATTR InstName C10 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 368 448 M270 WINDOW 0 32 32 VTop 2 WINDOW 3 0 32 VBottom 2 SYMATTR InstName C9 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 416 640 R0 WINDOW 0 -37 6 Left 2 WINDOW 3 -77 53 Left 2 SYMATTR InstName C11 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap 608 640 R0 WINDOW 0 -33 9 Left 2 WINDOW 3 -72 51 Left 2 SYMATTR InstName C12 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -224 160 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -79 48 Left 2 SYMATTR InstName C1 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -224 432 R0 WINDOW 0 -22 9 Left 2 WINDOW 3 -75 50 Left 2 SYMATTR InstName C2 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL cap -16 224 R180 WINDOW 0 23 78 Left 2 WINDOW 3 -74 78 Left 2 SYMATTR InstName C4 SYMATTR Value 10000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM155R60J106ME15" type="X5R" SYMBOL diode -80 688 R180 WINDOW 0 24 64 Left 2 WINDOW 3 24 0 Left 2 SYMATTR InstName D5 SYMATTR Value 1N4148 SYMBOL cap -64 688 M180 WINDOW 0 24 56 Left 2 WINDOW 3 24 8 Left 2 SYMATTR InstName C5 SYMATTR Value 1000n SYMATTR SpiceLine V=6.3 Irms=0 Rser=0 Lser=0 mfg="Murata" pn="GRM032R60J105ME05" type="X5R" SYMBOL OpAmps\\LT1678 -32 -432 M0 WINDOW 0 -47 50 Left 2 WINDOW 3 -47 89 Left 2 SYMATTR InstName U2 SYMBOL diode 192 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D6 SYMATTR Value 1N914 SYMBOL diode 272 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D7 SYMATTR Value 1N914 SYMBOL diode 352 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D8 SYMATTR Value 1N914 SYMBOL diode 432 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D9 SYMATTR Value 1N914 SYMBOL diode 512 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D10 SYMATTR Value 1N914 SYMBOL schottky 608 -288 R0 WINDOW 3 -16 -25 VRight 2 SYMATTR Value BAS40HY SYMATTR InstName D2 SYMATTR Description Diode SYMATTR Type diode SYMBOL res -80 -560 R270 WINDOW 0 33 55 VTop 2 WINDOW 3 -3 55 VBottom 2 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL res 32 -384 R0 SYMATTR InstName R6 SYMATTR Value 10k SYMBOL diode 592 -544 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName D11 SYMATTR Value 1N914 SYMBOL res 912 304 R0 SYMATTR InstName R19 SYMATTR Value 600 TEXT -448 632 Left 2 !.tran 0 150s 0s startup

To answer my own question a wild guess says that the simulation model is hard coded to keep the output 2V away from the rail. Seems pretty poor to me that an op amp operating on 6V can't do more than 4V out. I wonder what a real device would do. The LT1678 works because it's rail to rail.

A good deal better than 4V I would imagine! If I had one lying around I would gladly try it, but I'm 99% certain I haven't.

I would add that achieving shielding effectiveness of 90 dB is very difficult to achieve in practice, so even if it's only 80 dB, interference leaking in is likely to dominate in practice, even of the sky is quiet.

Joe

Using an NSL-32SR3 doesn't really gain you anything over a FET. If you keep |vds| much less than |Vt-vgs| in the circuit and compensate for the vds/2 variation on the gate drive the distortion levels produced will be lower than almost all opamps out there. Here's a link to a sim using an LDR.

formatting link
I've added some 3rd harmonic distortion to a linear model to give distortion figures roughly in the ballpark of Fig 6 in the attached application note (for small signal swings across the device). In the oscillator o/p the 3rd is about 150dB down. If you use the linear LDR model, or a FET, it will be much the same. (The opamps used in the sim actually have distortions specs of about 130dB in reallity.)

Thanks for that. I left it overnight for 100 seconds of simulation. It looks like it has better harmonic performance than my circuit. Why use two op amps in the oscillator instead of one like my circuit? What happens without the initial conditions? Does it take a long time to settle? I'll be away until next week.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required