Sujet : Re: Sinewave oscillator without gain control.
De : invalid (at) *nospam* invalid.invalid (Edward Rawde)
Groupes : sci.electronics.designDate : 24. Jan 2025, 19:49:58
Autres entêtes
Organisation : BWH Usenet Archive (https://usenet.blueworldhosting.com)
Message-ID : <vn0nco$1l9o$1@nnrp.usenet.blueworldhosting.com>
References : 1 2
User-Agent : Microsoft Outlook Express 6.00.2900.5931
"john larkin" <
JL@gct.com> wrote in message
news:jei7pjt2pc35osipchs2891gqtavk25a7k@4ax.com...On Thu, 23 Jan 2025 19:14:24 -0500, "Edward Rawde"
<invalid@invalid.invalid> wrote:
>
Before you can make a 1kHz sinewave oscillator with constant output level and better than 120dB harmonic distortion you'll need an
oscillator which does better than that when it passes through the required output level.
The circuit below was simulated in LTSpice 24.1.0 with all updates.
There are reasons why I'm not sure I'd trust version 17.x of LTSpice to give the most accurate results but I haven't tested this
circuit in any other version.
After starting the simulation, wait until it has simulated about 7 seconds and then stop the simulation. Close the annoying log
window which 24.1.0 will produce.
You can now select a sample of about 100ms when it passes through 0dB (just under 2V) and run an FFT on it with Blackman-Harris
window.
This will show that this circuit is approaching 120dB down on harmonics.
So if you want to do better than that then you'll need an oscillator circuit which has better performance to begin with. You can
then add gain control for constant level.
I've not so far found an oscillator circuit in LTSpice with better harmonic distortion performance than this one.
You can, of course, try to use filtering to reduce the unwanted harmonics. Removing the first four harmonics produced by this
circuit will get it approaching 130dB but don't ask me how that would be measured in reality or what it would cost to do so even
if
it can be measured.
>
Open LT Spice and make a 1 KHz sinewave voltage source. Run for 10
seconds and FFT. The 3rd harmonic is down 48 dB.
>
So Spicing low distortion oscillators might not be an exercize in
reality.
>
The following circuit was simulated in LTSpice 2.1.0 with all possible updates as of today.
I stopped the simulation after two seconds worth of watching source, input and output.
I then selected a sample of about 20ms near 2s.
I then did an FFT using the current zoom extent with Blackman-Harris window on each trace in turn.
The following results give the difference between 1kHz and 2kHz.
source -240dB
input -190dB
output -120dB
How far this has anything to do with reality I do not know.
Version 4.1
SHEET 1 2196 932
WIRE 0 -416 0 -448
WIRE 208 -288 48 -288
WIRE 112 -208 112 -240
WIRE 48 -192 48 -288
WIRE 80 -192 48 -192
WIRE 208 -176 208 -288
WIRE 208 -176 144 -176
WIRE 256 -176 208 -176
WIRE 320 -176 256 -176
WIRE 0 -160 0 -336
WIRE 80 -160 0 -160
WIRE -224 -144 -224 -240
WIRE 0 -112 0 -160
WIRE 0 -112 -64 -112
WIRE 112 -112 112 -144
WIRE 736 -112 672 -112
WIRE 864 -112 816 -112
WIRE 0 -80 0 -112
WIRE -64 -64 -64 -112
WIRE 752 16 752 0
WIRE -224 32 -224 -64
WIRE -64 32 -64 0
WIRE 0 32 0 0
WIRE 480 32 400 32
WIRE 560 32 480 32
WIRE 672 32 672 -112
WIRE 672 32 640 32
WIRE 720 32 672 32
WIRE 864 48 864 -112
WIRE 864 48 784 48
WIRE 896 48 864 48
WIRE 1024 48 976 48
WIRE 1184 48 1088 48
WIRE 1248 48 1184 48
WIRE 400 64 400 32
WIRE 688 64 672 64
WIRE 720 64 688 64
WIRE 752 96 752 80
WIRE 1248 112 1248 48
WIRE 400 176 400 128
WIRE 480 176 400 176
WIRE 512 176 480 176
WIRE 1248 208 1248 192
WIRE 400 240 400 176
WIRE 400 400 400 320
FLAG 752 0 V+
FLAG 1248 208 0
FLAG 1184 48 output
FLAG -224 32 0
FLAG 752 96 0
FLAG -224 -240 V+
FLAG 688 64 half
FLAG 112 -112 0
FLAG 112 -240 V+
FLAG 256 -176 half
FLAG 0 32 0
FLAG 0 -448 V+
FLAG -64 32 0
FLAG 400 400 0
FLAG 480 32 input
FLAG 480 176 source
SYMBOL voltage -224 -160 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 InstName V2
SYMATTR Value 32
SYMBOL res 992 32 R90
WINDOW 0 -4 57 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R7
SYMATTR Value 600
SYMBOL res 1264 208 R180
WINDOW 0 47 75 Left 2
WINDOW 3 36 40 Left 2
SYMATTR InstName R8
SYMATTR Value 600
SYMBOL res -16 -320 M180
WINDOW 0 40 70 Left 2
WINDOW 3 37 41 Left 2
SYMATTR InstName R5
SYMATTR Value 100k
SYMBOL res -16 16 M180
WINDOW 0 40 70 Left 2
WINDOW 3 38 43 Left 2
SYMATTR InstName R10
SYMATTR Value 100k
SYMBOL OpAmps\LT1058 112 -240 R0
SYMATTR InstName U5
SYMBOL OpAmps\LT1678 752 48 R0
SYMATTR InstName U4
SYMBOL cap -80 -64 R0
SYMATTR InstName C3
SYMATTR Value 10n
SYMBOL cap 1088 32 R90
WINDOW 0 0 32 VBottom 2
WINDOW 3 32 32 VTop 2
SYMATTR InstName C4
SYMATTR Value 10000n
SYMBOL voltage 400 224 R0
WINDOW 123 0 0 Left 0
WINDOW 39 0 0 Left 0
SYMATTR InstName V1
SYMATTR Value SINE(0 4 1000)
SYMBOL cap 416 128 R180
WINDOW 0 24 56 Left 2
WINDOW 3 24 8 Left 2
SYMATTR InstName C1
SYMATTR Value 10000n
SYMBOL res 832 -128 R90
WINDOW 0 0 56 VBottom 2
WINDOW 3 32 56 VTop 2
SYMATTR InstName R2
SYMATTR Value 10k
SYMBOL res 544 48 R270
WINDOW 0 32 56 VTop 2
WINDOW 3 0 56 VBottom 2
SYMATTR InstName R3
SYMATTR Value 10k
TEXT -304 200 Left 2 !.tran 0 30 0 1u uic
TEXT -304 152 Left 2 !.options plotwinsize=0 numdgt=7 method=trap
TEXT -272 -568 Left 2 ;1kHz low distortion sinewave generator.
TEXT -272 -536 Left 2 ;24 Jan 2025.