• Low distortion sinewave oscillator without big capacitor.

    From Edward Rawde@21:1/5 to All on Sun Mar 30 14:54:56 2025
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?
    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    Version 4.1
    SHEET 1 3020 2548
    WIRE 80 -208 -288 -208
    WIRE 800 -208 160 -208
    WIRE -288 -96 -288 -208
    WIRE 80 -96 -288 -96
    WIRE 400 -96 160 -96
    WIRE -288 32 -288 -96
    WIRE -176 32 -288 32
    WIRE -32 32 -96 32
    WIRE 48 32 -32 32
    WIRE 208 32 128 32
    WIRE 256 32 208 32
    WIRE 400 32 400 -96
    WIRE 400 32 320 32
    WIRE 464 32 400 32
    WIRE 608 32 544 32
    WIRE 656 32 608 32
    WIRE 800 32 800 -208
    WIRE 800 32 720 32
    WIRE -752 48 -816 48
    WIRE -624 48 -688 48
    WIRE -288 144 -288 32
    WIRE -176 144 -288 144
    WIRE 208 144 208 32
    WIRE 256 144 208 144
    WIRE 608 144 608 32
    WIRE 656 144 608 144
    WIRE -816 160 -816 48
    WIRE -752 160 -816 160
    WIRE -624 160 -624 48
    WIRE -624 160 -672 160
    WIRE -32 160 -32 32
    WIRE -32 160 -112 160
    WIRE 400 160 400 32
    WIRE 400 160 320 160
    WIRE 800 160 800 32
    WIRE 800 160 720 160
    WIRE 832 160 800 160
    WIRE -176 176 -288 176
    WIRE 256 176 224 176
    WIRE 656 176 624 176
    WIRE 224 208 224 176
    WIRE 624 208 624 176
    WIRE -1968 224 -1968 144
    WIRE -1008 272 -1104 272
    WIRE -816 272 -816 160
    WIRE -816 272 -944 272
    WIRE -736 272 -816 272
    WIRE -624 288 -624 160
    WIRE -624 288 -672 288
    WIRE -544 288 -624 288
    WIRE -416 288 -480 288
    WIRE -288 288 -288 176
    WIRE -288 288 -336 288
    WIRE -208 288 -288 288
    WIRE 208 288 -128 288
    WIRE 400 288 400 160
    WIRE 400 288 208 288
    WIRE -736 304 -816 304
    WIRE -816 336 -816 304
    WIRE 400 336 400 288
    WIRE -1968 400 -1968 304
    WIRE -1856 400 -1968 400
    WIRE -1664 400 -1776 400
    WIRE 208 400 208 288
    WIRE 208 400 -1600 400
    WIRE 400 448 400 416
    WIRE 544 448 400 448
    WIRE 368 464 336 464
    WIRE -1968 496 -1968 400
    WIRE -1968 496 -2304 496
    WIRE 368 496 368 464
    WIRE 400 496 400 448
    WIRE 544 496 544 448
    WIRE -2432 544 -2432 496
    WIRE -2304 560 -2304 496
    WIRE -2240 560 -2304 560
    WIRE -2144 560 -2176 560
    WIRE 384 608 384 560
    WIRE 544 608 544 576
    WIRE 544 608 384 608
    WIRE -1968 640 -1968 496
    WIRE -32 656 -32 160
    WIRE 208 656 208 400
    WIRE 384 656 384 608
    WIRE 800 656 800 160
    WIRE -2304 672 -2304 560
    WIRE -2256 672 -2304 672
    WIRE -2144 688 -2144 560
    WIRE -2144 688 -2192 688
    WIRE -2032 688 -2144 688
    WIRE -2432 704 -2432 624
    WIRE -2256 704 -2432 704
    WIRE -2432 736 -2432 704
    WIRE -2432 736 -2544 736
    WIRE -32 752 -32 720
    WIRE 208 752 208 720
    WIRE 384 752 384 720
    WIRE 800 752 800 720
    WIRE -2544 768 -2544 736
    WIRE -2432 768 -2432 736
    WIRE -1968 800 -1968 736
    WIRE -2544 864 -2544 832
    WIRE -32 880 -32 832
    WIRE 208 880 208 832
    WIRE 208 880 -32 880
    WIRE 384 880 384 832
    WIRE 384 880 208 880
    WIRE 800 880 800 832
    WIRE 800 880 384 880
    WIRE -2432 912 -2432 848
    WIRE -32 976 -32 880
    WIRE -320 992 -416 992
    WIRE -160 992 -256 992
    WIRE -416 1072 -416 992
    WIRE -368 1072 -416 1072
    WIRE -256 1072 -304 1072
    WIRE -160 1072 -160 992
    WIRE -160 1072 -176 1072
    WIRE -1360 1136 -1360 1040
    WIRE -2160 1152 -2160 1040
    WIRE -1664 1152 -1664 1040
    WIRE -160 1184 -160 1072
    WIRE -160 1184 -240 1184
    WIRE -32 1184 -32 1056
    WIRE -32 1184 -160 1184
    WIRE 48 1184 -32 1184
    WIRE 176 1184 128 1184
    WIRE -1968 1200 -1968 880
    WIRE -1968 1200 -2096 1200
    WIRE -1904 1200 -1968 1200
    WIRE -1728 1200 -1904 1200
    WIRE -416 1200 -416 1072
    WIRE -416 1200 -768 1200
    WIRE -304 1200 -416 1200
    WIRE -208 1216 -240 1216
    WIRE -1664 1296 -1664 1248
    WIRE -1360 1296 -1360 1216
    WIRE -1104 1296 -1104 272
    WIRE -1104 1296 -1360 1296
    WIRE -208 1328 -208 1216
    WIRE -1360 1376 -1360 1296
    WIRE -1904 1408 -1904 1200
    WIRE -1664 1424 -1664 1376
    WIRE -1424 1424 -1664 1424
    WIRE -2160 1456 -2160 1248
    WIRE -1968 1456 -2160 1456
    WIRE -1904 1584 -1904 1504
    WIRE -1360 1584 -1360 1472
    WIRE -2160 1664 -2160 1456
    WIRE -1328 1744 -1456 1744
    WIRE -1248 1744 -1328 1744
    WIRE -1056 1744 -1168 1744
    WIRE -1664 1792 -1664 1424
    WIRE -1328 1792 -1328 1744
    WIRE -1056 1792 -1056 1744
    WIRE -1456 1840 -1456 1744
    WIRE -1456 1840 -1600 1840
    WIRE -1392 1840 -1456 1840
    WIRE -2544 1952 -2544 1920
    WIRE -2544 1952 -2592 1952
    WIRE -2592 1968 -2592 1952
    WIRE -1664 1968 -1664 1888
    WIRE -1328 1968 -1328 1888
    WIRE -2544 1984 -2544 1952
    WIRE -1824 2112 -1952 2112
    WIRE -1648 2112 -1824 2112
    WIRE -768 2112 -768 1200
    WIRE -768 2112 -1568 2112
    WIRE -2160 2160 -2160 1744
    WIRE -1824 2160 -1824 2112
    WIRE -1952 2208 -1952 2112
    WIRE -1952 2208 -2096 2208
    WIRE -1888 2208 -1952 2208
    WIRE -2160 2336 -2160 2256
    WIRE -1824 2336 -1824 2256
    FLAG 224 208 0
    FLAG 624 208 0
    FLAG 832 160 vout
    FLAG -272 1168 vcc
    FLAG -272 1232 vee
    FLAG -2592 1968 0
    FLAG -2544 1840 vcc
    FLAG -2544 2064 vee
    FLAG -144 128 vcc
    FLAG -144 192 vee
    FLAG 288 128 vcc
    FLAG 288 192 vee
    FLAG 688 128 vcc
    FLAG 688 192 vee
    FLAG 336 464 0
    FLAG 416 528 vcc
    FLAG 352 528 vee
    FLAG -2224 656 vcc
    FLAG -1968 144 vcc
    FLAG -2224 720 vee
    FLAG -1360 1040 vcc
    FLAG -1824 2336 vee
    FLAG -2160 2336 vee
    FLAG -2432 496 vcc
    FLAG -2432 912 0
    FLAG -1360 1584 0
    FLAG -704 256 vcc
    FLAG -704 320 vee
    FLAG -816 336 0
    FLAG 240 1184 vcc
    FLAG -1328 1968 vee
    FLAG -1664 1968 vee
    FLAG -1056 1792 0
    FLAG -1904 1584 0
    FLAG -1664 1040 vcc
    FLAG -2160 1040 vcc
    FLAG -208 1328 0
    FLAG -2544 864 0
    SYMBOL res -80 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 144 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 560 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 320 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 720 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 176 -224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 176 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -256 976 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res 32 1200 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 330K
    SYMBOL diode 240 1168 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -48 960 R0
    SYMATTR InstName R11
    SYMATTR Value 40.2K
    SYMBOL res 560 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 416 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -48 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode 192 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 400 720 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 784 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -48 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res 192 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 400 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 784 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -2544 1824 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2544 1968 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -144 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 288 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 688 160 R0
    SYMATTR InstName U8
    SYMBOL res -112 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -320 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -480 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -272 1088 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -304 1056 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 384 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2032 736 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q5
    SYMBOL res -1984 208 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1760 384 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2176 544 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL res -1984 784 R0
    SYMATTR InstName R27
    SYMATTR Value 1
    SYMBOL npn -2096 1152 M0
    SYMATTR InstName Q6
    SYMATTR Value MAT-02
    SYMBOL npn -1728 1152 R0
    SYMATTR InstName Q7
    SYMATTR Value MAT-02
    SYMBOL npn -1424 1376 R0
    SYMATTR InstName Q8
    SYMATTR Value MAT-02
    SYMBOL npn -1968 1408 R0
    SYMATTR InstName Q9
    SYMATTR Value MAT-02
    SYMBOL res -1552 2096 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R28
    SYMATTR Value 120k
    SYMBOL res -1376 1120 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -1680 1280 R0
    SYMATTR InstName R30
    SYMATTR Value 1
    SYMBOL npn -1888 2160 R0
    SYMATTR InstName Q11
    SYMATTR Value MAT-02
    SYMBOL npn -2096 2160 M0
    SYMATTR InstName Q12
    SYMATTR Value MAT-02
    SYMBOL res -2176 1648 R0
    SYMATTR InstName R31
    SYMATTR Value 1
    SYMBOL res -2448 528 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2448 752 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -944 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -656 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -688 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1600 384 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL npn -1392 1792 R0
    SYMATTR InstName Q1
    SYMATTR Value MAT-02
    SYMBOL npn -1600 1792 M0
    SYMATTR InstName Q2
    SYMATTR Value MAT-02
    SYMBOL res -1152 1728 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL OpAmps\\LT1679 -704 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -272 1200 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2224 688 R0
    SYMATTR InstName U4
    SYMBOL cap -2560 768 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    TEXT -2792 1560 Left 2 !.tran 0 10 0 1u startup
    TEXT -2792 1504 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2248 -112 Left 2 ;Low distortion 1KHz oscillator. Edward Rawde 30 March 2025.\nBased on designs by JM and BS.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Mon Mar 31 19:00:49 2025
    On 31/03/2025 5:54 am, Edward Rawde wrote:
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    It relies on the Analog Devices MAT-02 dual transistor, which is now
    obsolete

    https://www.analog.com/media/en/technical-documentation/obsolete-data-sheets/mat02.pdf

    The .asc file shows eight NPN transistors labelled MAT-02, presumably in
    four pairs of the part, but it isn't clear which of the eight
    transistors should be paired up.

    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    The rectified currents from the four phased shifted versions of of the
    output waveform flow through R13, R14, R15 and R16 into R11 and through
    it into the virtual earth set up at the inverting input of U3, where the
    summed current is compared with a fixed current drawn from the +15V rail through D1 and R10.

    Doubling R10 from 330k to 680k would roughly halve the output amplitude.
    One could be more precise, but it wouudl be hard to justify the extra
    effort.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Mon Mar 31 23:09:03 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsdi3h$3nagd$[email protected]...
    On 31/03/2025 5:54 am, Edward Rawde wrote:
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >> It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    It relies on the Analog Devices MAT-02 dual transistor, which is now obsolete

    https://www.analog.com/media/en/technical-documentation/obsolete-data-sheets/mat02.pdf

    The .asc file shows eight NPN transistors labelled MAT-02, presumably in four pairs of the part, but it isn't clear which of the
    eight transistors should be paired up.

    BCM61B is available and very reasonably priced. https://www.digikey.ca/en/products/detail/nexperia-usa-inc/BCM61B-215/2119400 It can be used for Q1 Q2 and Q3 Q4 in the circuit below.

    The remaining four transistors can use MAT14 https://www.digikey.be/en/products/detail/analog-devices-inc/MAT14ARZ-R7/2510588
    which although a bit pricey has four independent matched transistors.
    I can't find an LTSpice model for MAT14 so MAT02 is still shown in the circuit below.


    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    The rectified currents from the four phased shifted versions of of the output waveform flow through R13, R14, R15 and R16 into R11
    and through it into the virtual earth set up at the inverting input of U3, where the summed current is compared with a fixed
    current drawn from the +15V rail through D1 and R10.

    Doubling R10 from 330k to 680k would roughly halve the output amplitude.
    One could be more precise, but it wouudl be hard to justify the extra effort.

    Ah yes, that takes care of the output level.
    The revised circuit is below.
    Line 459 will need to be unwrapped.


    --
    Bill Sloman, Sydney




    Version 4.1
    SHEET 1 3020 2792
    WIRE 80 -208 -288 -208
    WIRE 800 -208 160 -208
    WIRE -288 -96 -288 -208
    WIRE 80 -96 -288 -96
    WIRE 400 -96 160 -96
    WIRE -288 32 -288 -96
    WIRE -176 32 -288 32
    WIRE -32 32 -96 32
    WIRE 48 32 -32 32
    WIRE 208 32 128 32
    WIRE 256 32 208 32
    WIRE 400 32 400 -96
    WIRE 400 32 320 32
    WIRE 464 32 400 32
    WIRE 608 32 544 32
    WIRE 656 32 608 32
    WIRE 800 32 800 -208
    WIRE 800 32 720 32
    WIRE -752 48 -816 48
    WIRE -624 48 -688 48
    WIRE -288 144 -288 32
    WIRE -176 144 -288 144
    WIRE 208 144 208 32
    WIRE 256 144 208 144
    WIRE 608 144 608 32
    WIRE 656 144 608 144
    WIRE 800 144 800 32
    WIRE 928 144 800 144
    WIRE 1072 144 992 144
    WIRE 1168 144 1072 144
    WIRE 1216 144 1168 144
    WIRE -816 160 -816 48
    WIRE -752 160 -816 160
    WIRE -624 160 -624 48
    WIRE -624 160 -672 160
    WIRE -32 160 -32 32
    WIRE -32 160 -112 160
    WIRE 400 160 400 32
    WIRE 400 160 320 160
    WIRE 800 160 800 144
    WIRE 800 160 720 160
    WIRE -176 176 -288 176
    WIRE 256 176 224 176
    WIRE 656 176 624 176
    WIRE 224 208 224 176
    WIRE 624 208 624 176
    WIRE -1968 224 -1968 144
    WIRE -1008 272 -1104 272
    WIRE -816 272 -816 160
    WIRE -816 272 -944 272
    WIRE -736 272 -816 272
    WIRE 1072 272 1072 144
    WIRE -624 288 -624 160
    WIRE -624 288 -672 288
    WIRE -544 288 -624 288
    WIRE -416 288 -480 288
    WIRE -288 288 -288 176
    WIRE -288 288 -336 288
    WIRE -208 288 -288 288
    WIRE 208 288 -128 288
    WIRE 400 288 400 160
    WIRE 400 288 208 288
    WIRE -736 304 -816 304
    WIRE -816 336 -816 304
    WIRE 400 336 400 288
    WIRE -1968 400 -1968 304
    WIRE -1856 400 -1968 400
    WIRE -1664 400 -1776 400
    WIRE 208 400 208 288
    WIRE 208 400 -1600 400
    WIRE 1072 416 1072 352
    WIRE 400 448 400 416
    WIRE 544 448 400 448
    WIRE 368 464 336 464
    WIRE -1968 496 -1968 400
    WIRE -1968 496 -2304 496
    WIRE 368 496 368 464
    WIRE 400 496 400 448
    WIRE 544 496 544 448
    WIRE -2432 544 -2432 496
    WIRE -2304 560 -2304 496
    WIRE -2240 560 -2304 560
    WIRE -2144 560 -2176 560
    WIRE 384 608 384 560
    WIRE 544 608 544 576
    WIRE 544 608 384 608
    WIRE -1968 640 -1968 496
    WIRE -32 656 -32 160
    WIRE 208 656 208 400
    WIRE 384 656 384 608
    WIRE 800 656 800 160
    WIRE -2304 672 -2304 560
    WIRE -2256 672 -2304 672
    WIRE -2144 688 -2144 560
    WIRE -2144 688 -2192 688
    WIRE -2032 688 -2144 688
    WIRE -2432 704 -2432 624
    WIRE -2256 704 -2432 704
    WIRE -2432 736 -2432 704
    WIRE -2432 736 -2544 736
    WIRE -32 752 -32 720
    WIRE 208 752 208 720
    WIRE 384 752 384 720
    WIRE 800 752 800 720
    WIRE -2544 768 -2544 736
    WIRE -2432 768 -2432 736
    WIRE -2544 864 -2544 832
    WIRE -32 880 -32 832
    WIRE 208 880 208 832
    WIRE 208 880 -32 880
    WIRE 384 880 384 832
    WIRE 384 880 208 880
    WIRE 800 880 800 832
    WIRE 800 880 384 880
    WIRE -2432 912 -2432 848
    WIRE -32 976 -32 880
    WIRE -320 992 -416 992
    WIRE -160 992 -256 992
    WIRE -416 1072 -416 992
    WIRE -368 1072 -416 1072
    WIRE -256 1072 -304 1072
    WIRE -160 1072 -160 992
    WIRE -160 1072 -176 1072
    WIRE -1360 1136 -1360 1040
    WIRE -2160 1152 -2160 1040
    WIRE -1664 1152 -1664 1040
    WIRE -160 1184 -160 1072
    WIRE -160 1184 -240 1184
    WIRE -32 1184 -32 1056
    WIRE -32 1184 -160 1184
    WIRE 48 1184 -32 1184
    WIRE 176 1184 128 1184
    WIRE -1968 1200 -1968 736
    WIRE -1968 1200 -2096 1200
    WIRE -1904 1200 -1968 1200
    WIRE -1728 1200 -1904 1200
    WIRE -416 1200 -416 1072
    WIRE -416 1200 -768 1200
    WIRE -304 1200 -416 1200
    WIRE -208 1216 -240 1216
    WIRE -1360 1296 -1360 1216
    WIRE -1104 1296 -1104 272
    WIRE -1104 1296 -1360 1296
    WIRE -208 1328 -208 1216
    WIRE -1904 1408 -1904 1200
    WIRE -1360 1408 -1360 1296
    WIRE -2160 1456 -2160 1248
    WIRE -1968 1456 -2160 1456
    WIRE -1664 1456 -1664 1248
    WIRE -1424 1456 -1664 1456
    WIRE -1360 1584 -1360 1504
    WIRE -1904 1648 -1904 1504
    WIRE -1328 1744 -1456 1744
    WIRE -1232 1744 -1328 1744
    WIRE -1088 1744 -1152 1744
    WIRE -1664 1792 -1664 1456
    WIRE -1328 1792 -1328 1744
    WIRE -1088 1808 -1088 1744
    WIRE -1456 1840 -1456 1744
    WIRE -1456 1840 -1600 1840
    WIRE -1392 1840 -1456 1840
    WIRE -2544 1952 -2544 1920
    WIRE -2544 1952 -2592 1952
    WIRE -2592 1968 -2592 1952
    WIRE -1664 1968 -1664 1888
    WIRE -1328 1968 -1328 1888
    WIRE -2544 1984 -2544 1952
    WIRE -1824 2128 -1952 2128
    WIRE -1648 2128 -1824 2128
    WIRE -768 2128 -768 1200
    WIRE -768 2128 -1568 2128
    WIRE -2160 2176 -2160 1456
    WIRE -1824 2176 -1824 2128
    WIRE -1952 2224 -1952 2128
    WIRE -1952 2224 -2096 2224
    WIRE -1888 2224 -1952 2224
    WIRE -2160 2352 -2160 2272
    WIRE -1824 2352 -1824 2272
    FLAG 224 208 0
    FLAG 624 208 0
    FLAG -272 1168 vcc
    FLAG -272 1232 vee
    FLAG -2592 1968 0
    FLAG -2544 1840 vcc
    FLAG -2544 2064 vee
    FLAG -144 128 vcc
    FLAG -144 192 vee
    FLAG 288 128 vcc
    FLAG 288 192 vee
    FLAG 688 128 vcc
    FLAG 688 192 vee
    FLAG 336 464 0
    FLAG 416 528 vcc
    FLAG 352 528 vee
    FLAG -2224 656 vcc
    FLAG -1968 144 vcc
    FLAG -2224 720 vee
    FLAG -1360 1040 vcc
    FLAG -1824 2352 vee
    FLAG -2160 2352 vee
    FLAG -2432 496 vcc
    FLAG -2432 912 0
    FLAG -1360 1584 0
    FLAG -704 256 vcc
    FLAG -704 320 vee
    FLAG -816 336 0
    FLAG 240 1184 vcc
    FLAG -1664 1040 vcc
    FLAG -2160 1040 vcc
    FLAG -208 1328 0
    FLAG -2544 864 0
    FLAG 1168 144 output
    FLAG -1904 1648 0
    FLAG -1328 1968 vee
    FLAG -1664 1968 vee
    FLAG -1088 1808 0
    FLAG 1072 416 0
    SYMBOL res -80 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 144 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 560 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 320 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 720 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 176 -224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 176 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -256 976 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res 32 1200 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 820k
    SYMBOL diode 240 1168 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -48 960 R0
    SYMATTR InstName R11
    SYMATTR Value 47k
    SYMBOL res 560 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 416 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -48 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode 192 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 400 720 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 784 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -48 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res 192 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 400 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 784 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -2544 1824 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2544 1968 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -144 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 288 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 688 160 R0
    SYMATTR InstName U8
    SYMBOL res -112 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -320 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -480 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -272 1088 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -304 1056 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 384 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2032 736 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q9
    SYMBOL res -1984 208 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1760 384 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2176 544 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL npn -2096 1152 M0
    SYMATTR InstName Q5
    SYMATTR Value MAT-02
    SYMBOL npn -1728 1152 R0
    SYMATTR InstName Q7
    SYMATTR Value MAT-02
    SYMBOL npn -1424 1408 R0
    SYMATTR InstName Q8
    SYMATTR Value MAT-02
    SYMBOL npn -1968 1408 R0
    SYMATTR InstName Q6
    SYMATTR Value MAT-02
    SYMBOL res -1552 2112 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R28
    SYMATTR Value 120k
    SYMBOL res -1376 1120 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -2448 528 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2448 752 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -944 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -656 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -688 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1600 384 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL OpAmps\\LT1679 -704 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -272 1200 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2224 688 R0
    SYMATTR InstName U4
    SYMBOL cap -2560 768 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    SYMBOL cap 992 128 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C10
    SYMATTR Value 10000n
    SYMBOL npn -2096 2176 M0
    SYMATTR InstName Q1
    SYMATTR Value BCM61B
    SYMBOL npn -1888 2176 R0
    SYMATTR InstName Q2
    SYMATTR Value BCM61B
    SYMBOL npn -1600 1792 M0
    SYMATTR InstName Q3
    SYMATTR Value BCM61B
    SYMBOL npn -1392 1792 R0
    SYMATTR InstName Q4
    SYMATTR Value BCM61B
    SYMBOL res -1136 1728 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL res 1056 256 R0
    SYMATTR InstName R21
    SYMATTR Value 100k
    TEXT -2792 1560 Left 2 !.tran 0 10 0 1u startup
    TEXT -2792 1504 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2248 -112 Left 3 ;Low distortion 1KHz oscillator. Edward Rawde 31 March 2025.\nBased on designs by JM and BS.
    TEXT -576 1368 Left 2 !.MODEL BCM61B NPN\n+ IS = 1.822E-14\n+ NF = 0.9932\n+ ISE = 2.894E-16\n+ NE = 1.4\n+ BF = 324.4\n+ IKF =
    0.109\n+ VAF = 82\n+ NR = 0.9931\n+ ISC = 9.982E-12\n+ NC = 1.763\n+ BR = 8.29\n+ IKR = 0.09\n+ VAR = 17.9\n+ RB = 10\n+ IRB =
    5E-06\n+ RBM = 5\n+ RE = 0.649\n+ RC = 0.7014\n+ CJE = 1.244E-11\n+ VJE = 0.7579\n+ MJE = 0.3656\n+ TF = 4.908E-10\n+ XTF = 9.51\n+
    VTF = 2.927\n+ ITF = 0.3131\n+ PTF = 0\n+ CJC = 3.347E-12\n+ VJC = 0.5463\n+ MJC = 0.391\n+ XCJC = 0.6193\n+ TR = 9E-08\n+ CJS =
    0\n+ VJS = 0.75\n+ MJS = 0.333\n+ XTB = 0\n+ XTI = 3\n+ EG = 1.11\n+ FC = 0.979 TEXT -2656 1256 Left 3 ;Use MAT14 for Q5-Q8

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Wed Apr 2 15:57:30 2025
    On 1/04/2025 2:09 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsdi3h$3nagd$[email protected]...
    On 31/03/2025 5:54 am, Edward Rawde wrote:
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >>> It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    It relies on the Analog Devices MAT-02 dual transistor, which is now obsolete

    https://www.analog.com/media/en/technical-documentation/obsolete-data-sheets/mat02.pdf

    The .asc file shows eight NPN transistors labelled MAT-02, presumably in four pairs of the part, but it isn't clear which of the
    eight transistors should be paired up.

    BCM61B is available and very reasonably priced. https://www.digikey.ca/en/products/detail/nexperia-usa-inc/BCM61B-215/2119400 It can be used for Q1 Q2 and Q3 Q4 in the circuit below.

    The remaining four transistors can use MAT14 https://www.digikey.be/en/products/detail/analog-devices-inc/MAT14ARZ-R7/2510588
    which although a bit pricey has four independent matched transistors.
    I can't find an LTSpice model for MAT14 so MAT02 is still shown in the circuit below.


    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    The rectified currents from the four phased shifted versions of of the output waveform flow through R13, R14, R15 and R16 into R11
    and through it into the virtual earth set up at the inverting input of U3, where the summed current is compared with a fixed
    current drawn from the +15V rail through D1 and R10.

    Doubling R10 from 330k to 680k would roughly halve the output amplitude.
    One could be more precise, but it wouudl be hard to justify the extra effort.

    Ah yes, that takes care of the output level.

    Not all that well. Using the positive rail as your voltage reference
    suck, and including the diode drops of the rectifying diodes is even worse.There are precision rectifiers that use op amps to take out the
    diode drop, and synchromous rectifiers built around transmission gates
    can be even more precise.

    The revised circuit is below.
    Line 459 will need to be unwrapped.

    I did that, and the circuit does work, after a fashion.

    It still uses eight transistors to do what John May did with three
    separate discrete transistors.

    Because he didn't use a matched pair, he had to use two 250R emitter
    resistors to get the operating conditions he needed to make them act as
    parts of a three-transistor asymmetric Wilson current mirror.

    https://en.wikipedia.org/wiki/Wilson_current_mirror

    He then had to by-pass the resistors with a big capacitor to get the
    effect he needed. This introduced a phase shift, but John May's
    phase-shift oscillator offers four different phases from which he could
    pick off the right phase to get the correction signal he needed.

    By summing current from two adjacent phases you can get exactly the
    phase shift you need, but he didn't to be all that exact.

    Using a matched pair for the two transistors at the bottom of the mirror
    you can get rid of one of the emitter resistors and make the other one
    small enough not to matter (so you don't need the capacitor), but you do
    need to pick off a different phase to get the right feedback.

    The MAT04 is totally unnecessary.

    Or it least that's the way it strikes me. I've yet to get a simulation
    to work to illustrate the point - it's a complicated circuit, and once
    it hits saturation the subtle effects that stabilise it get swamped.

    I need a better grasp of what's going on in the circuit, and a way to
    start it up that doesn't let it slide over into saturation before it stabilises.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Wed Apr 2 14:13:00 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsig45$vt0r$[email protected]...
    On 1/04/2025 2:09 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsdi3h$3nagd$[email protected]...
    On 31/03/2025 5:54 am, Edward Rawde wrote:
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    It relies on the Analog Devices MAT-02 dual transistor, which is now obsolete

    https://www.analog.com/media/en/technical-documentation/obsolete-data-sheets/mat02.pdf

    The .asc file shows eight NPN transistors labelled MAT-02, presumably in four pairs of the part, but it isn't clear which of the
    eight transistors should be paired up.

    BCM61B is available and very reasonably priced.
    https://www.digikey.ca/en/products/detail/nexperia-usa-inc/BCM61B-215/2119400
    It can be used for Q1 Q2 and Q3 Q4 in the circuit below.

    The remaining four transistors can use MAT14
    https://www.digikey.be/en/products/detail/analog-devices-inc/MAT14ARZ-R7/2510588
    which although a bit pricey has four independent matched transistors.
    I can't find an LTSpice model for MAT14 so MAT02 is still shown in the circuit below.


    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    The rectified currents from the four phased shifted versions of of the output waveform flow through R13, R14, R15 and R16 into
    R11
    and through it into the virtual earth set up at the inverting input of U3, where the summed current is compared with a fixed
    current drawn from the +15V rail through D1 and R10.

    Doubling R10 from 330k to 680k would roughly halve the output amplitude. >>> One could be more precise, but it wouudl be hard to justify the extra effort.

    Ah yes, that takes care of the output level.

    Not all that well. Using the positive rail as your voltage reference suck, and including the diode drops of the rectifying diodes
    is even worse.There are precision rectifiers that use op amps to take out the diode drop, and synchromous rectifiers built around
    transmission gates can be even more precise.

    The revised circuit is below.
    Line 459 will need to be unwrapped.

    I did that, and the circuit does work, after a fashion.

    It still uses eight transistors to do what John May did with three separate discrete transistors.

    Because he didn't use a matched pair, he had to use two 250R emitter resistors to get the operating conditions he needed to make
    them act as parts of a three-transistor asymmetric Wilson current mirror.

    https://en.wikipedia.org/wiki/Wilson_current_mirror

    He then had to by-pass the resistors with a big capacitor to get the effect he needed. This introduced a phase shift, but John
    May's phase-shift oscillator offers four different phases from which he could pick off the right phase to get the correction
    signal he needed.

    By summing current from two adjacent phases you can get exactly the phase shift you need, but he didn't to be all that exact.

    Using a matched pair for the two transistors at the bottom of the mirror you can get rid of one of the emitter resistors and make
    the other one small enough not to matter (so you don't need the capacitor), but you do need to pick off a different phase to get
    the right feedback.

    The MAT04 is totally unnecessary.

    Or it least that's the way it strikes me. I've yet to get a simulation to work to illustrate the point - it's a complicated
    circuit, and once it hits saturation the subtle effects that stabilise it get swamped.

    I need a better grasp of what's going on in the circuit, and a way to start it up that doesn't let it slide over into saturation
    before it stabilises.

    Ok thanks for taking the time to look at it.
    Let me know when you get it to work.


    --
    Bill Sloman, Sydney







    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin @21:1/5 to [email protected] on Thu Apr 3 10:02:04 2025
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    (I wouldn't really do that. It's just an idea to play with.)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to All on Fri Apr 4 04:35:36 2025
    On 4/04/2025 2:21 am, JM wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >> It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?
    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    <snip>

    You'd be as well omitting Q1, Q2, Q11 and Q12. Just tie R17 to
    Q7e(Q8b) with other end to vee, and R28 to Q6e(Q9b) (adjust polarity
    of gain vontrol voltage). There will be no loss in performance. Q6-9
    are within an overall control loop, and there is no need for matched transistors (within reason).

    If you splash out on a matched quad it would be better used to
    construct a four quadrant multiplier, it would have lower harmonics
    than this circuit if done correctly.

    Are the one ohm resistors used for some sort of simulation/measurement purpose?
    I made those changes to Edward Rawde's original circuit, and the revised circuit worked. I haven't yet got a clue how, but poking around in a
    working simulation should let me work out what's actually going on. It's
    4.10am my time and I should have gone to bed four hours ago, so I'll
    leave that until tomorrow.

    I can comfort myself with the idea that my reservations about the number
    of transistors in the original circuit turned out to be well founded,
    but John May clearly grasped how the circuit worked, and I've yet to get
    there.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to john larkin on Fri Apr 4 05:14:44 2025
    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >> It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose
    amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to All on Thu Apr 3 13:08:20 2025
    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]>
    wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >>> It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Thu Apr 3 19:25:33 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion. >>It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?
    What's the best way to control the output level?
    Currently it's 5v pk-pk but I rather have half that.

    ...


    You'd be as well omitting Q1, Q2, Q11 and Q12. Just tie R17 to
    Q7e(Q8b) with other end to vee, and R28 to Q6e(Q9b) (adjust polarity
    of gain vontrol voltage). There will be no loss in performance. Q6-9
    are within an overall control loop, and there is no need for matched transistors (wthin reason).

    If you splash out on a matched quad it would be better used to
    construct a four quadrant multiplier, it would have lower harmonics
    than this circuit if done correctly.

    Are the one ohm resistors used for some sort of simulation/measurement purpose?

    I can get it to work wthout Q1 and Q2 as you suggested.
    But I can't get it to work without Q11, Q12.
    I reversed all five diodes and connected D1 to vee.

    The one ohm resistors are so I can see the current in LTSpice.
    It may be better to use a lower value such as 0.001 ohm.

    Version 4.1
    SHEET 1 3020 2548
    WIRE 80 -208 -288 -208
    WIRE 800 -208 160 -208
    WIRE -288 -96 -288 -208
    WIRE 80 -96 -288 -96
    WIRE 400 -96 160 -96
    WIRE -288 32 -288 -96
    WIRE -176 32 -288 32
    WIRE -32 32 -96 32
    WIRE 48 32 -32 32
    WIRE 208 32 128 32
    WIRE 256 32 208 32
    WIRE 400 32 400 -96
    WIRE 400 32 320 32
    WIRE 464 32 400 32
    WIRE 608 32 544 32
    WIRE 656 32 608 32
    WIRE 800 32 800 -208
    WIRE 800 32 720 32
    WIRE -752 48 -816 48
    WIRE -624 48 -688 48
    WIRE -288 144 -288 32
    WIRE -176 144 -288 144
    WIRE 208 144 208 32
    WIRE 256 144 208 144
    WIRE 608 144 608 32
    WIRE 656 144 608 144
    WIRE -816 160 -816 48
    WIRE -752 160 -816 160
    WIRE -624 160 -624 48
    WIRE -624 160 -672 160
    WIRE -32 160 -32 32
    WIRE -32 160 -112 160
    WIRE 400 160 400 32
    WIRE 400 160 320 160
    WIRE 800 160 800 32
    WIRE 800 160 720 160
    WIRE 832 160 800 160
    WIRE -176 176 -288 176
    WIRE 256 176 224 176
    WIRE 656 176 624 176
    WIRE 224 208 224 176
    WIRE 624 208 624 176
    WIRE -1968 224 -1968 144
    WIRE -1008 272 -1104 272
    WIRE -816 272 -816 160
    WIRE -816 272 -944 272
    WIRE -736 272 -816 272
    WIRE -624 288 -624 160
    WIRE -624 288 -672 288
    WIRE -544 288 -624 288
    WIRE -416 288 -480 288
    WIRE -288 288 -288 176
    WIRE -288 288 -336 288
    WIRE -208 288 -288 288
    WIRE 208 288 -128 288
    WIRE 400 288 400 160
    WIRE 400 288 208 288
    WIRE -736 304 -816 304
    WIRE -816 336 -816 304
    WIRE 400 336 400 288
    WIRE -1968 400 -1968 304
    WIRE -1856 400 -1968 400
    WIRE -1664 400 -1776 400
    WIRE 208 400 208 288
    WIRE 208 400 -1600 400
    WIRE 400 448 400 416
    WIRE 544 448 400 448
    WIRE 368 464 336 464
    WIRE -1968 496 -1968 400
    WIRE -1968 496 -2304 496
    WIRE 368 496 368 464
    WIRE 400 496 400 448
    WIRE 544 496 544 448
    WIRE -2432 544 -2432 496
    WIRE -2304 560 -2304 496
    WIRE -2240 560 -2304 560
    WIRE -2144 560 -2176 560
    WIRE 384 608 384 560
    WIRE 544 608 544 576
    WIRE 544 608 384 608
    WIRE -1968 640 -1968 496
    WIRE -32 656 -32 160
    WIRE 208 656 208 400
    WIRE 384 656 384 608
    WIRE 800 656 800 160
    WIRE -2304 672 -2304 560
    WIRE -2256 672 -2304 672
    WIRE -2144 688 -2144 560
    WIRE -2144 688 -2192 688
    WIRE -2032 688 -2144 688
    WIRE -2432 704 -2432 624
    WIRE -2256 704 -2432 704
    WIRE -2432 736 -2432 704
    WIRE -2432 736 -2544 736
    WIRE -32 752 -32 720
    WIRE 208 752 208 720
    WIRE 384 752 384 720
    WIRE 800 752 800 720
    WIRE -2544 768 -2544 736
    WIRE -2432 768 -2432 736
    WIRE -1968 800 -1968 736
    WIRE -2544 864 -2544 832
    WIRE -32 880 -32 832
    WIRE 208 880 208 832
    WIRE 208 880 -32 880
    WIRE 384 880 384 832
    WIRE 384 880 208 880
    WIRE 800 880 800 832
    WIRE 800 880 384 880
    WIRE -2432 912 -2432 848
    WIRE -32 976 -32 880
    WIRE -320 992 -416 992
    WIRE -160 992 -256 992
    WIRE -416 1072 -416 992
    WIRE -368 1072 -416 1072
    WIRE -256 1072 -304 1072
    WIRE -160 1072 -160 992
    WIRE -160 1072 -176 1072
    WIRE -1360 1136 -1360 1040
    WIRE -2160 1152 -2160 1040
    WIRE -1664 1152 -1664 1040
    WIRE -160 1184 -160 1072
    WIRE -160 1184 -240 1184
    WIRE -32 1184 -32 1056
    WIRE -32 1184 -160 1184
    WIRE 48 1184 -32 1184
    WIRE 176 1184 128 1184
    WIRE -1968 1200 -1968 880
    WIRE -1968 1200 -2096 1200
    WIRE -1904 1200 -1968 1200
    WIRE -1728 1200 -1904 1200
    WIRE -416 1200 -416 1072
    WIRE -416 1200 -768 1200
    WIRE -304 1200 -416 1200
    WIRE -208 1216 -240 1216
    WIRE -1664 1296 -1664 1248
    WIRE -1360 1296 -1360 1216
    WIRE -1104 1296 -1104 272
    WIRE -1104 1296 -1360 1296
    WIRE -208 1328 -208 1216
    WIRE -1360 1376 -1360 1296
    WIRE -1904 1408 -1904 1200
    WIRE -1664 1424 -1664 1376
    WIRE -1424 1424 -1664 1424
    WIRE -2160 1456 -2160 1248
    WIRE -1968 1456 -2160 1456
    WIRE -1664 1552 -1664 1424
    WIRE -1904 1584 -1904 1504
    WIRE -1360 1584 -1360 1472
    WIRE -2160 1664 -2160 1456
    WIRE -1664 1728 -1664 1632
    WIRE -2544 1952 -2544 1920
    WIRE -2544 1952 -2592 1952
    WIRE -2592 1968 -2592 1952
    WIRE -2544 1984 -2544 1952
    WIRE -1824 2112 -1952 2112
    WIRE -1648 2112 -1824 2112
    WIRE -768 2112 -768 1200
    WIRE -768 2112 -1568 2112
    WIRE -2160 2160 -2160 1744
    WIRE -1824 2160 -1824 2112
    WIRE -1952 2208 -1952 2112
    WIRE -1952 2208 -2096 2208
    WIRE -1888 2208 -1952 2208
    WIRE -2160 2336 -2160 2256
    WIRE -1824 2336 -1824 2256
    FLAG 224 208 0
    FLAG 624 208 0
    FLAG 832 160 vout
    FLAG -272 1168 vcc
    FLAG -272 1232 vee
    FLAG -2592 1968 0
    FLAG -2544 1840 vcc
    FLAG -2544 2064 vee
    FLAG -144 128 vcc
    FLAG -144 192 vee
    FLAG 288 128 vcc
    FLAG 288 192 vee
    FLAG 688 128 vcc
    FLAG 688 192 vee
    FLAG 336 464 0
    FLAG 416 528 vcc
    FLAG 352 528 vee
    FLAG -2224 656 vcc
    FLAG -1968 144 vcc
    FLAG -2224 720 vee
    FLAG -1360 1040 vcc
    FLAG -1824 2336 vee
    FLAG -2160 2336 vee
    FLAG -2432 496 vcc
    FLAG -2432 912 0
    FLAG -1360 1584 0
    FLAG -704 256 vcc
    FLAG -704 320 vee
    FLAG -816 336 0
    FLAG 240 1184 vcc
    FLAG -1904 1584 0
    FLAG -1664 1040 vcc
    FLAG -2160 1040 vcc
    FLAG -208 1328 0
    FLAG -2544 864 0
    FLAG -1664 1728 vee
    SYMBOL res -80 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 144 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 560 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 320 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 720 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 176 -224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 176 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -256 976 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res 32 1200 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 330K
    SYMBOL diode 240 1168 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -48 960 R0
    SYMATTR InstName R11
    SYMATTR Value 40.2K
    SYMBOL res 560 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 416 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -48 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode 192 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 400 720 R180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 784 720 M180
    WINDOW 0 24 64 Left 2
    WINDOW 3 24 0 Left 2
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -48 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res 192 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 400 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 784 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -2544 1824 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2544 1968 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -144 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 288 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 688 160 R0
    SYMATTR InstName U8
    SYMBOL res -112 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -320 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -480 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -272 1088 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -304 1056 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 384 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2032 736 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q5
    SYMBOL res -1984 208 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1760 384 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2176 544 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL res -1984 784 R0
    SYMATTR InstName R27
    SYMATTR Value 1
    SYMBOL npn -2096 1152 M0
    SYMATTR InstName Q6
    SYMATTR Value MAT-02
    SYMBOL npn -1728 1152 R0
    SYMATTR InstName Q7
    SYMATTR Value MAT-02
    SYMBOL npn -1424 1376 R0
    SYMATTR InstName Q8
    SYMATTR Value MAT-02
    SYMBOL npn -1968 1408 R0
    SYMATTR InstName Q9
    SYMATTR Value MAT-02
    SYMBOL res -1552 2096 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R28
    SYMATTR Value 120k
    SYMBOL res -1376 1120 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -1680 1280 R0
    SYMATTR InstName R30
    SYMATTR Value 1
    SYMBOL npn -1888 2160 R0
    SYMATTR InstName Q11
    SYMATTR Value MAT-02
    SYMBOL npn -2096 2160 M0
    SYMATTR InstName Q12
    SYMATTR Value MAT-02
    SYMBOL res -2176 1648 R0
    SYMATTR InstName R31
    SYMATTR Value 1
    SYMBOL res -2448 528 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2448 752 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -944 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -656 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -688 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1600 384 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL res -1648 1648 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL OpAmps\\LT1679 -704 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -272 1200 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2224 688 R0
    SYMATTR InstName U4
    SYMBOL cap -2560 768 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    TEXT -2792 1560 Left 2 !.tran 0 10 0 1u startup
    TEXT -2792 1504 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2248 -112 Left 2 ;Low distortion 1KHz oscillator. Edward Rawde 30 March 2025.\nBased on designs by JM and BS.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to john larkin on Fri Apr 4 15:36:49 2025
    On 4/04/2025 7:08 am, john larkin wrote:
    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]>
    wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose
    amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    Some ideas are more like blood-sucking parasites.

    This one isn't great.

    What you are talking about is sine wave with a slow triangular wave
    amplitude modulation.

    If you wanted a sine wave with a slow sinusoidal amplitude modulation
    you'd add a small wave of almost the same frequency - so for a 1kHz sine
    wave you'd add a little bit of a 1.001Hz sine wave.

    For a triangular amplitude modulatulion you'd need to add progressively
    smaller increments of progressively higher (or lower) frequency,
    properly phased, 1.001kHz, 1.003kHz, 1.005Khz etc.

    If your switch acted infinitely fast, you'd have no upper limit on the higher-frequency components you'd generate.

    Do try to think about what you are posting before you post it.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to All on Fri Apr 4 17:33:09 2025
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    Version 4
    SHEET 1 3020 2548
    WIRE 80 -208 -288 -208
    WIRE 800 -208 160 -208
    WIRE -288 -96 -288 -208
    WIRE 80 -96 -288 -96
    WIRE 400 -96 160 -96
    WIRE -288 32 -288 -96
    WIRE -176 32 -288 32
    WIRE -32 32 -96 32
    WIRE 48 32 -32 32
    WIRE 208 32 128 32
    WIRE 256 32 208 32
    WIRE 400 32 400 -96
    WIRE 400 32 320 32
    WIRE 464 32 400 32
    WIRE 608 32 544 32
    WIRE 656 32 608 32
    WIRE 800 32 800 -208
    WIRE 800 32 720 32
    WIRE -752 48 -816 48
    WIRE -624 48 -688 48
    WIRE -288 144 -288 32
    WIRE -176 144 -288 144
    WIRE 208 144 208 32
    WIRE 256 144 208 144
    WIRE 608 144 608 32
    WIRE 656 144 608 144
    WIRE -816 160 -816 48
    WIRE -752 160 -816 160
    WIRE -624 160 -624 48
    WIRE -624 160 -672 160
    WIRE -32 160 -32 32
    WIRE -32 160 -112 160
    WIRE 400 160 400 32
    WIRE 400 160 320 160
    WIRE 800 160 800 32
    WIRE 800 160 720 160
    WIRE 832 160 800 160
    WIRE -176 176 -288 176
    WIRE 256 176 224 176
    WIRE 656 176 624 176
    WIRE 224 208 224 176
    WIRE 624 208 624 176
    WIRE -1968 224 -1968 144
    WIRE -1008 272 -1104 272
    WIRE -816 272 -816 160
    WIRE -816 272 -944 272
    WIRE -736 272 -816 272
    WIRE -624 288 -624 160
    WIRE -624 288 -672 288
    WIRE -544 288 -624 288
    WIRE -416 288 -480 288
    WIRE -288 288 -288 176
    WIRE -288 288 -336 288
    WIRE -208 288 -288 288
    WIRE 208 288 -128 288
    WIRE 400 288 400 160
    WIRE 400 288 208 288
    WIRE -736 304 -816 304
    WIRE -816 336 -816 304
    WIRE 400 336 400 288
    WIRE -1968 400 -1968 304
    WIRE -1856 400 -1968 400
    WIRE -1664 400 -1776 400
    WIRE 208 400 208 288
    WIRE 208 400 -1600 400
    WIRE 400 448 400 416
    WIRE 544 448 400 448
    WIRE 368 464 336 464
    WIRE -1968 496 -1968 400
    WIRE -1968 496 -2304 496
    WIRE 368 496 368 464
    WIRE 400 496 400 448
    WIRE 544 496 544 448
    WIRE -2432 544 -2432 496
    WIRE -2304 560 -2304 496
    WIRE -2240 560 -2304 560
    WIRE -2144 560 -2176 560
    WIRE 384 608 384 560
    WIRE 544 608 544 576
    WIRE 544 608 384 608
    WIRE -1968 640 -1968 496
    WIRE -32 656 -32 160
    WIRE 208 656 208 400
    WIRE 384 656 384 608
    WIRE 800 656 800 160
    WIRE -2304 672 -2304 560
    WIRE -2256 672 -2304 672
    WIRE -2144 688 -2144 560
    WIRE -2144 688 -2192 688
    WIRE -2032 688 -2144 688
    WIRE -2432 704 -2432 624
    WIRE -2256 704 -2432 704
    WIRE -2432 736 -2432 704
    WIRE -2432 736 -2544 736
    WIRE -32 752 -32 720
    WIRE 208 752 208 720
    WIRE 384 752 384 720
    WIRE 800 752 800 720
    WIRE -2544 768 -2544 736
    WIRE -2432 768 -2432 736
    WIRE -1968 800 -1968 736
    WIRE -1360 800 -1360 704
    WIRE -2544 864 -2544 832
    WIRE -32 880 -32 832
    WIRE 208 880 208 832
    WIRE 208 880 -32 880
    WIRE 384 880 384 832
    WIRE 384 880 208 880
    WIRE 800 880 800 832
    WIRE 800 880 384 880
    WIRE -2432 912 -2432 848
    WIRE -1360 960 -1360 880
    WIRE -1104 960 -1104 272
    WIRE -1104 960 -1360 960
    WIRE -32 976 -32 880
    WIRE -320 992 -416 992
    WIRE -160 992 -256 992
    WIRE -416 1072 -416 992
    WIRE -368 1072 -416 1072
    WIRE -256 1072 -304 1072
    WIRE -160 1072 -160 992
    WIRE -160 1072 -176 1072
    WIRE -2160 1152 -2160 1040
    WIRE -1664 1152 -1664 1040
    WIRE -160 1184 -160 1072
    WIRE -160 1184 -240 1184
    WIRE -32 1184 -32 1056
    WIRE -32 1184 -160 1184
    WIRE 48 1184 -32 1184
    WIRE 176 1184 128 1184
    WIRE 320 1184 240 1184
    WIRE -1968 1200 -1968 880
    WIRE -1968 1200 -2096 1200
    WIRE -1904 1200 -1968 1200
    WIRE -1728 1200 -1904 1200
    WIRE -416 1200 -416 1072
    WIRE -416 1200 -1088 1200
    WIRE -304 1200 -416 1200
    WIRE -2480 1216 -2480 1184
    WIRE -2480 1216 -2528 1216
    WIRE -208 1216 -240 1216
    WIRE -2528 1232 -2528 1216
    WIRE -1360 1232 -1360 960
    WIRE -2480 1248 -2480 1216
    WIRE -1664 1280 -1664 1248
    WIRE -1424 1280 -1664 1280
    WIRE -208 1328 -208 1216
    WIRE -1664 1360 -1664 1280
    WIRE -1360 1440 -1360 1328
    WIRE -1664 1504 -1664 1440
    WIRE -2160 1648 -2160 1248
    WIRE -1648 1648 -2160 1648
    WIRE -1088 1648 -1088 1200
    WIRE -1088 1648 -1568 1648
    WIRE -1904 1712 -1904 1200
    WIRE -2160 1760 -2160 1648
    WIRE -1968 1760 -2160 1760
    WIRE -1904 1888 -1904 1808
    FLAG 224 208 0
    FLAG 624 208 0
    FLAG 832 160 vout
    FLAG -272 1168 vcc
    FLAG -272 1232 vee
    FLAG -2528 1232 0
    FLAG -2480 1104 vcc
    FLAG -2480 1328 vee
    FLAG -144 128 vcc
    FLAG -144 192 vee
    FLAG 288 128 vcc
    FLAG 288 192 vee
    FLAG 688 128 vcc
    FLAG 688 192 vee
    FLAG 336 464 0
    FLAG 416 528 vcc
    FLAG 352 528 vee
    FLAG -2224 656 vcc
    FLAG -1968 144 vcc
    FLAG -2224 720 vee
    FLAG -1360 704 vcc
    FLAG -2432 496 vcc
    FLAG -2432 912 0
    FLAG -1360 1440 0
    FLAG -704 256 vcc
    FLAG -704 320 vee
    FLAG -816 336 0
    FLAG -1664 1504 vee
    FLAG -1904 1888 0
    FLAG -1664 1040 vcc
    FLAG -2160 1040 vcc
    FLAG -208 1328 0
    FLAG -2544 864 0
    FLAG 320 1184 vee
    SYMBOL res -80 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 144 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 560 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 320 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 720 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 176 -224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 176 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -256 976 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res 32 1200 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 820K
    SYMBOL diode 176 1200 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -48 960 R0
    SYMATTR InstName R11
    SYMATTR Value 40.2K
    SYMBOL res 560 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 416 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -16 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode 224 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 368 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 816 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -48 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res 192 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 400 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 784 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -2480 1088 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2480 1232 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -144 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 288 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 688 160 R0
    SYMATTR InstName U8
    SYMBOL res -112 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -320 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -480 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -272 1088 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 82k
    SYMBOL cap -304 1056 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 384 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2032 736 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q5
    SYMBOL res -1984 208 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1760 384 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2176 544 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL res -1984 784 R0
    SYMATTR InstName R27
    SYMATTR Value 1
    SYMBOL npn -2096 1152 M0
    SYMATTR InstName Q6
    SYMATTR Value 2N3904
    SYMBOL npn -1728 1152 R0
    SYMATTR InstName Q1B
    SYMATTR Value BCM61B
    SYMBOL npn -1424 1232 R0
    SYMATTR InstName Q8
    SYMATTR Value 2N3904
    SYMBOL npn -1968 1712 R0
    SYMATTR InstName Q1A
    SYMATTR Value BCM61B
    SYMBOL res -1552 1632 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R28
    SYMATTR Value 15k
    SYMBOL res -1376 784 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -2448 528 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2448 752 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -944 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -656 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -688 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1600 384 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL res -1648 1456 R180
    WINDOW 0 31 76 Left 2
    WINDOW 3 31 40 Left 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL OpAmps\\LT1679 -704 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -272 1200 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2224 688 R0
    SYMATTR InstName U4
    SYMBOL cap -2560 768 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    TEXT -2792 1560 Left 2 !.tran 0 10 0 1u startup
    TEXT -2792 1504 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2248 -112 Left 2 ;Low distortion 1KHz oscillator. Edward Rawde 30
    March 2025.\nBased on designs by JM and BS, and now modified again by
    Bill Sloman
    TEXT -2848 128 Left 2 !.MODEL BCM61B NPN\n+ IS = 1.822E-14\n+ NF =
    0.9932\n+ ISE = 2.894E-16\n+ NE = 1.4\n+ BF = 324.4\n+ IKF = 0.109\n+
    VAF = 82\n+ NR = 0.9931\n+ ISC = 9.982E-12\n+ NC = 1.763\n+ BR = 8.29\n+
    IKR = 0.09\n+ VAR = 17.9\n+ RB = 10\n+ IRB = 5E-06\n+ RBM = 5\n+ RE =
    0.649\n+ RC = 0.7014\n+ CJE = 1.244E-11\n+ VJE = 0.7579\n+ MJE =
    0.3656\n+ TF = 4.908E-10\n+ XTF = 9.51\n+ VTF = 2.927\n+ ITF = 0.3131\n+
    PTF = 0\n+ CJC = 3.347E-12\n+ VJC = 0.5463\n+ MJC = 0.391\n+ XCJC =
    0.6193\n+ TR = 9E-08\n+ CJS = 0\n+ VJS = 0.75\n+ MJS = 0.333\n+ XTB =
    0\n+ XTI = 3\n+ EG = 1.11\n+ FC = 0.979.

    Linewraps are going to be a problem - delete all "\n" from the last few
    lines

    I think I've put in a dual transistor where it might be useful.
    Dropping R28 to 15k made the start up appreciably tidier - nothing goes
    into saturation. Increasing the damping resistor at R6 to 82k means that
    the start-up is dead-beat.

    It probably doesn't help the distortion - the 4th harmonic is only 125dB
    below the fundamental. I don't much like the 10uF film capacitor at C4 -
    it's going to be bulky and expensive, but something smaller is going to
    give you a little more distortion.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Cursitor Doom@21:1/5 to All on Fri Apr 4 18:03:19 2025
    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]>
    wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]>
    wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin @21:1/5 to All on Fri Apr 4 11:32:49 2025
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]>
    wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced
    degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    Even goofy ideas sometimes evolve into great ideas, if they are not
    murdered at birth.

    Electronic design, if it's not a routine mechanical activity, is about
    ideas.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Edward Rawde on Fri Apr 4 14:36:05 2025
    "Edward Rawde" <[email protected]d> wrote in message news:vsp86r$174f$[email protected]...
    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Just remove three wraps at line 407, keeping your horizontal scroll bar pushed to the left each time.
    Now the last line should be 406 beginning with TEXT

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Fri Apr 4 14:25:29 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well use two
    of them as shown below.

    I took the model from https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1
    SHEET 1 3020 2548
    WIRE 80 -208 -288 -208
    WIRE 800 -208 160 -208
    WIRE -288 -96 -288 -208
    WIRE 80 -96 -288 -96
    WIRE 400 -96 160 -96
    WIRE -288 32 -288 -96
    WIRE -176 32 -288 32
    WIRE -32 32 -96 32
    WIRE 48 32 -32 32
    WIRE 208 32 128 32
    WIRE 256 32 208 32
    WIRE 400 32 400 -96
    WIRE 400 32 320 32
    WIRE 464 32 400 32
    WIRE 608 32 544 32
    WIRE 656 32 608 32
    WIRE 800 32 800 -208
    WIRE 800 32 720 32
    WIRE -752 48 -816 48
    WIRE -624 48 -688 48
    WIRE -288 144 -288 32
    WIRE -176 144 -288 144
    WIRE 208 144 208 32
    WIRE 256 144 208 144
    WIRE 608 144 608 32
    WIRE 656 144 608 144
    WIRE -816 160 -816 48
    WIRE -752 160 -816 160
    WIRE -624 160 -624 48
    WIRE -624 160 -672 160
    WIRE -32 160 -32 32
    WIRE -32 160 -112 160
    WIRE 400 160 400 32
    WIRE 400 160 320 160
    WIRE 800 160 800 32
    WIRE 800 160 720 160
    WIRE 832 160 800 160
    WIRE -176 176 -288 176
    WIRE 256 176 224 176
    WIRE 656 176 624 176
    WIRE 224 208 224 176
    WIRE 624 208 624 176
    WIRE -1968 224 -1968 144
    WIRE -1008 272 -1104 272
    WIRE -816 272 -816 160
    WIRE -816 272 -944 272
    WIRE -736 272 -816 272
    WIRE -624 288 -624 160
    WIRE -624 288 -672 288
    WIRE -544 288 -624 288
    WIRE -416 288 -480 288
    WIRE -288 288 -288 176
    WIRE -288 288 -336 288
    WIRE -208 288 -288 288
    WIRE 208 288 -128 288
    WIRE 400 288 400 160
    WIRE 400 288 208 288
    WIRE -736 304 -816 304
    WIRE -816 336 -816 304
    WIRE 400 336 400 288
    WIRE -1968 400 -1968 304
    WIRE -1856 400 -1968 400
    WIRE -1664 400 -1776 400
    WIRE 208 400 208 288
    WIRE 208 400 -1600 400
    WIRE 400 448 400 416
    WIRE 544 448 400 448
    WIRE 368 464 336 464
    WIRE -1968 496 -1968 400
    WIRE -1968 496 -2304 496
    WIRE 368 496 368 464
    WIRE 400 496 400 448
    WIRE 544 496 544 448
    WIRE -2432 544 -2432 496
    WIRE -2304 560 -2304 496
    WIRE -2240 560 -2304 560
    WIRE -2144 560 -2176 560
    WIRE 384 608 384 560
    WIRE 544 608 544 576
    WIRE 544 608 384 608
    WIRE -1968 640 -1968 496
    WIRE -32 656 -32 160
    WIRE 208 656 208 400
    WIRE 384 656 384 608
    WIRE 800 656 800 160
    WIRE -2304 672 -2304 560
    WIRE -2256 672 -2304 672
    WIRE -2144 688 -2144 560
    WIRE -2144 688 -2192 688
    WIRE -2032 688 -2144 688
    WIRE -2432 704 -2432 624
    WIRE -2256 704 -2432 704
    WIRE -2432 736 -2432 704
    WIRE -2432 736 -2544 736
    WIRE -32 752 -32 720
    WIRE 208 752 208 720
    WIRE 384 752 384 720
    WIRE 800 752 800 720
    WIRE -2544 768 -2544 736
    WIRE -2432 768 -2432 736
    WIRE -1360 800 -1360 704
    WIRE -2544 864 -2544 832
    WIRE -32 880 -32 832
    WIRE 208 880 208 832
    WIRE 208 880 -32 880
    WIRE 384 880 384 832
    WIRE 384 880 208 880
    WIRE 800 880 800 832
    WIRE 800 880 384 880
    WIRE -2432 912 -2432 848
    WIRE -1360 960 -1360 880
    WIRE -1104 960 -1104 272
    WIRE -1104 960 -1360 960
    WIRE -32 976 -32 880
    WIRE -320 992 -416 992
    WIRE -160 992 -256 992
    WIRE -416 1072 -416 992
    WIRE -368 1072 -416 1072
    WIRE -256 1072 -304 1072
    WIRE -160 1072 -160 992
    WIRE -160 1072 -176 1072
    WIRE -2160 1152 -2160 1040
    WIRE -1664 1152 -1664 1040
    WIRE -160 1184 -160 1072
    WIRE -160 1184 -240 1184
    WIRE -32 1184 -32 1056
    WIRE -32 1184 -160 1184
    WIRE 48 1184 -32 1184
    WIRE 176 1184 128 1184
    WIRE 320 1184 240 1184
    WIRE -1968 1200 -1968 736
    WIRE -1968 1200 -2096 1200
    WIRE -1904 1200 -1968 1200
    WIRE -1728 1200 -1904 1200
    WIRE -416 1200 -416 1072
    WIRE -416 1200 -1088 1200
    WIRE -304 1200 -416 1200
    WIRE -2480 1216 -2480 1184
    WIRE -2480 1216 -2528 1216
    WIRE -208 1216 -240 1216
    WIRE -2528 1232 -2528 1216
    WIRE -1360 1232 -1360 960
    WIRE -2480 1248 -2480 1216
    WIRE -1664 1280 -1664 1248
    WIRE -1424 1280 -1664 1280
    WIRE -208 1328 -208 1216
    WIRE -1664 1360 -1664 1280
    WIRE -1360 1440 -1360 1328
    WIRE -1664 1504 -1664 1440
    WIRE -2160 1648 -2160 1248
    WIRE -1648 1648 -2160 1648
    WIRE -1088 1648 -1088 1200
    WIRE -1088 1648 -1568 1648
    WIRE -1904 1712 -1904 1200
    WIRE -2160 1760 -2160 1648
    WIRE -1968 1760 -2160 1760
    WIRE -1904 1888 -1904 1808
    FLAG 224 208 0
    FLAG 624 208 0
    FLAG 832 160 vout
    FLAG -272 1168 vcc
    FLAG -272 1232 vee
    FLAG -2528 1232 0
    FLAG -2480 1104 vcc
    FLAG -2480 1328 vee
    FLAG -144 128 vcc
    FLAG -144 192 vee
    FLAG 288 128 vcc
    FLAG 288 192 vee
    FLAG 688 128 vcc
    FLAG 688 192 vee
    FLAG 336 464 0
    FLAG 416 528 vcc
    FLAG 352 528 vee
    FLAG -2224 656 vcc
    FLAG -1968 144 vcc
    FLAG -2224 720 vee
    FLAG -1360 704 vcc
    FLAG -2432 496 vcc
    FLAG -2432 912 0
    FLAG -1360 1440 0
    FLAG -704 256 vcc
    FLAG -704 320 vee
    FLAG -816 336 0
    FLAG -1664 1504 vee
    FLAG -1904 1888 0
    FLAG -1664 1040 vcc
    FLAG -2160 1040 vcc
    FLAG -208 1328 0
    FLAG -2544 864 0
    FLAG 320 1184 vee
    SYMBOL res -80 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 144 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 560 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 320 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 720 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 176 -224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 176 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -256 976 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res 32 1200 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 820K
    SYMBOL diode 176 1200 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -48 960 R0
    SYMATTR InstName R11
    SYMATTR Value 40.2K
    SYMBOL res 560 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 416 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -16 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode 224 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 368 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 816 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -48 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res 192 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 400 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 784 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -2480 1088 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2480 1232 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -144 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 288 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 688 160 R0
    SYMATTR InstName U8
    SYMBOL res -112 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -320 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -480 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -272 1088 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -304 1056 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 384 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2032 736 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q5
    SYMBOL res -1984 208 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1760 384 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2176 544 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL npn -2096 1152 M0
    SYMATTR InstName Q2A
    SYMATTR Value BCM847BS
    SYMBOL npn -1424 1232 R0
    SYMATTR InstName Q2B
    SYMATTR Value BCM847BS
    SYMBOL res -1552 1632 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R28
    SYMATTR Value 15k
    SYMBOL res -1376 784 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -2448 528 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2448 752 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -944 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -656 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -688 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1600 384 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL res -1648 1456 R180
    WINDOW 0 31 76 Left 2
    WINDOW 3 31 40 Left 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL OpAmps\\LT1679 -704 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -272 1200 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2224 688 R0
    SYMATTR InstName U4
    SYMBOL cap -2560 768 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    SYMBOL npn -1728 1152 R0
    SYMATTR InstName Q1A
    SYMATTR Value BCM847BS
    SYMBOL npn -1968 1712 R0
    SYMATTR InstName Q1B
    SYMATTR Value BCM847BS
    TEXT -2792 1560 Left 2 !.tran 0 10 0 1u startup
    TEXT -2792 1504 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2976 32 Left 2 ;Low distortion 1KHz oscillator. Edward Rawde 30 March 2025.
    TEXT -2976 72 Left 2 ;Based on designs by JM and BS, and now modified again by Bill Sloman
    TEXT -1856 -48 Left 2 !.MODEL BCM847BS NPN IS = 1.822E-14 NF = 0.9932 ISE= 2.894E-16 NE = 1.4 \n+ BF = 324.4 IKF = 0.109 VAF = 82 NR
    = 0.9931 ISC = 9.982E-12 NC = 1.763 \n+ BR = 8.29 IKR = 0.09 VAR = 17.9 RB = 10 IRB = 5E-06 RBM = 5 RE = 0.649 \n+ RC = 0.7014 CJE =
    1.244E-11 VJE = 0.7579 MJE = 0.3656 TF = 4.908E-10 \n+ XTF = 9.51 VTF = 2.927 ITF = 0.3131 PTF = 0 CJC = 3.347E-12 VJC = 0.5463 \n+
    MJC = 0.391 XCJC = 0.6193 TR = 9E-08 CJS = 0 VJS = 0.75 MJS = 0.333 \n+ XTB = 0 XTI = 3 EG = 1.11 FC = 0.979

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Fri Apr 4 16:29:27 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup >>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well use
    two
    of them as shown below.

    I took the model from >>https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Cursitor Doom@21:1/5 to All on Sat Apr 5 00:28:06 2025
    On Fri, 04 Apr 2025 11:32:49 -0700, john larkin <jlArbor.com> wrote:

    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]> >>wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>>wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>> flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced >degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    Even goofy ideas sometimes evolve into great ideas, if they are not
    murdered at birth.

    Electronic design, if it's not a routine mechanical activity, is about
    ideas.

    Well, Win Hill always said it was more of an art than a science.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to john larkin on Sat Apr 5 13:18:48 2025
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]>
    wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]>
    wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>> flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose
    amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having
    ideas. I am hostile to people who tout bad ideas.

    Even goofy ideas sometimes evolve into great ideas, if they are not
    murdered at birth.

    That's what brainstorming is about, but some ideas are hopelessly goofy.

    Electronic design, if it's not a routine mechanical activity, is about
    ideas.

    Practical ideas. Ideally practicable ideas.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Cursitor Doom on Sat Apr 5 13:28:08 2025
    On 5/04/2025 10:28 am, Cursitor Doom wrote:
    On Fri, 04 Apr 2025 11:32:49 -0700, john larkin <jlArbor.com> wrote:

    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]>
    wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]>
    wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>>> flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>> amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced
    degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    Even goofy ideas sometimes evolve into great ideas, if they are not
    murdered at birth.

    Electronic design, if it's not a routine mechanical activity, is about
    ideas.

    Well, Win Hill always said it was more of an art than a science.

    He's scarcely the first to have that insight. Alan Dower Blumlein
    expressed much the same opinion, and he died before I was born.

    There are lots of ways of making a circuit that can work, and it's nice
    when you can get one that's not only effective, but also comprehensible.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Fri Apr 4 22:48:13 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsq3um$107nb$[email protected]...
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]>
    wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]>
    wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>>> flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>> amplitude ramped up linearly for a bit, and ramped back down again.

    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced
    degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having ideas.

    I am hostile to people who tout bad ideas.

    Don't you think it would be better to just explain why you think an idea is bad Bill?
    And also, if necessary, to just explain how and why you think it should be done.
    Being hostile doesn't make you look good and it does the opposite of persuading others that their ideas are bad.
    So why be hostile at all?


    Even goofy ideas sometimes evolve into great ideas, if they are not
    murdered at birth.

    That's what brainstorming is about, but some ideas are hopelessly goofy.

    Electronic design, if it's not a routine mechanical activity, is about
    ideas.

    Practical ideas. Ideally practicable ideas.

    --
    Bill Sloman, Sydney



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Fri Apr 4 23:55:11 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well use
    two
    of them as shown below.

    I took the model from >>>>https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.

    The derived circuit below doesn't seem to have any discernible distortion at all as far as I can tell in an LTSpice FFT.
    Not until you get above about 100KHz where it's 160dB down.

    Version 4.1
    SHEET 1 3020 2548
    WIRE -1936 -288 -1936 -336
    WIRE -240 -224 -608 -224
    WIRE 480 -224 -160 -224
    WIRE -1936 -160 -1936 -208
    WIRE -1840 -160 -1936 -160
    WIRE -1648 -160 -1760 -160
    WIRE 80 -160 -1584 -160
    WIRE -608 -96 -608 -224
    WIRE -240 -96 -608 -96
    WIRE 80 -96 80 -160
    WIRE 80 -96 -160 -96
    WIRE -1936 -64 -1936 -160
    WIRE -1936 -64 -2272 -64
    WIRE -2400 -32 -2400 -288
    WIRE -2272 0 -2272 -64
    WIRE -2208 0 -2272 0
    WIRE -2112 0 -2144 0
    WIRE -608 32 -608 -96
    WIRE -496 32 -608 32
    WIRE -352 32 -416 32
    WIRE -272 32 -352 32
    WIRE -112 32 -192 32
    WIRE -64 32 -112 32
    WIRE 80 32 80 -96
    WIRE 80 32 0 32
    WIRE 144 32 80 32
    WIRE 288 32 224 32
    WIRE 336 32 288 32
    WIRE 480 32 480 -224
    WIRE 480 32 400 32
    WIRE -1328 48 -1328 0
    WIRE -1008 48 -1072 48
    WIRE -880 48 -944 48
    WIRE -1936 64 -1936 -64
    WIRE -2272 96 -2272 0
    WIRE -2224 96 -2272 96
    WIRE -2112 112 -2112 0
    WIRE -2112 112 -2160 112
    WIRE -2000 112 -2112 112
    WIRE -2400 128 -2400 48
    WIRE -2224 128 -2400 128
    WIRE -608 144 -608 32
    WIRE -496 144 -608 144
    WIRE -112 144 -112 32
    WIRE -64 144 -112 144
    WIRE 288 144 288 32
    WIRE 336 144 288 144
    WIRE -2400 160 -2400 128
    WIRE -2400 160 -2512 160
    WIRE -1072 160 -1072 48
    WIRE -1008 160 -1072 160
    WIRE -880 160 -880 48
    WIRE -880 160 -928 160
    WIRE -352 160 -352 32
    WIRE -352 160 -432 160
    WIRE 80 160 80 32
    WIRE 80 160 0 160
    WIRE 480 160 480 32
    WIRE 480 160 400 160
    WIRE -496 176 -608 176
    WIRE -64 176 -96 176
    WIRE 336 176 304 176
    WIRE -2512 192 -2512 160
    WIRE -2400 192 -2400 160
    WIRE -96 208 -96 176
    WIRE 304 208 304 176
    WIRE 480 208 480 160
    WIRE 704 208 480 208
    WIRE 752 208 704 208
    WIRE -1680 224 -1680 0
    WIRE -1472 224 -1472 0
    WIRE -1936 272 -1936 160
    WIRE -1744 272 -1936 272
    WIRE -1536 272 -1744 272
    WIRE -1328 272 -1328 128
    WIRE -1168 272 -1328 272
    WIRE -1072 272 -1072 160
    WIRE -1072 272 -1104 272
    WIRE -992 272 -1072 272
    WIRE -2512 288 -2512 256
    WIRE -880 288 -880 160
    WIRE -880 288 -928 288
    WIRE -832 288 -880 288
    WIRE -736 288 -768 288
    WIRE -608 288 -608 176
    WIRE -608 288 -656 288
    WIRE -528 288 -608 288
    WIRE -112 288 -448 288
    WIRE 80 288 80 160
    WIRE 80 288 -112 288
    WIRE -1936 304 -1936 272
    WIRE -1328 304 -1328 272
    WIRE -992 304 -1072 304
    WIRE -2400 336 -2400 272
    WIRE -1072 336 -1072 304
    WIRE 80 336 80 288
    WIRE -1680 352 -1680 320
    WIRE -1680 352 -1872 352
    WIRE -1472 352 -1472 320
    WIRE -1392 352 -1472 352
    WIRE 80 448 80 416
    WIRE 224 448 80 448
    WIRE 48 464 16 464
    WIRE -1680 480 -1680 352
    WIRE -1472 480 -1472 352
    WIRE 48 496 48 464
    WIRE 80 496 80 448
    WIRE 224 496 224 448
    WIRE -1936 512 -1936 400
    WIRE -1328 512 -1328 400
    WIRE -1472 592 -1472 560
    WIRE 64 608 64 560
    WIRE 224 608 224 576
    WIRE 224 608 64 608
    WIRE -352 656 -352 160
    WIRE -112 656 -112 288
    WIRE 64 656 64 608
    WIRE 480 656 480 208
    WIRE -352 752 -352 720
    WIRE -112 752 -112 720
    WIRE 64 752 64 720
    WIRE 480 752 480 720
    WIRE -1936 800 -1936 768
    WIRE -1936 800 -1984 800
    WIRE -1984 816 -1984 800
    WIRE -1936 832 -1936 800
    WIRE -992 864 -1088 864
    WIRE -832 864 -928 864
    WIRE -464 880 -576 880
    WIRE -352 880 -352 832
    WIRE -352 880 -464 880
    WIRE -112 880 -112 832
    WIRE -112 880 -352 880
    WIRE 64 880 64 832
    WIRE 64 880 -112 880
    WIRE 480 880 480 832
    WIRE 480 880 64 880
    WIRE -576 928 -576 880
    WIRE -1088 944 -1088 864
    WIRE -1040 944 -1088 944
    WIRE -928 944 -976 944
    WIRE -832 944 -832 864
    WIRE -832 944 -848 944
    WIRE -464 944 -464 880
    WIRE -464 1040 -464 1008
    WIRE -832 1056 -832 944
    WIRE -832 1056 -912 1056
    WIRE -576 1056 -576 1008
    WIRE -576 1056 -832 1056
    WIRE -1680 1072 -1680 560
    WIRE -1296 1072 -1680 1072
    WIRE -1088 1072 -1088 944
    WIRE -1088 1072 -1232 1072
    WIRE -976 1072 -1088 1072
    WIRE -848 1088 -912 1088
    WIRE -1680 1104 -1680 1072
    WIRE -672 1104 -784 1104
    WIRE -576 1104 -576 1056
    WIRE -784 1152 -784 1104
    WIRE -672 1152 -672 1104
    WIRE -1680 1232 -1680 1184
    WIRE -848 1248 -848 1088
    WIRE -784 1248 -784 1232
    WIRE -784 1248 -848 1248
    WIRE -576 1264 -576 1184
    WIRE -784 1280 -784 1248
    WIRE -688 1280 -784 1280
    WIRE -784 1296 -784 1280
    WIRE -688 1312 -688 1280
    WIRE -688 1408 -688 1376
    WIRE -784 1440 -784 1376
    FLAG -96 208 0
    FLAG 304 208 0
    FLAG -944 1040 vcc
    FLAG -944 1104 vee
    FLAG -1984 816 0
    FLAG -1936 688 vcc
    FLAG -1936 912 vee
    FLAG -464 128 vcc
    FLAG -464 192 vee
    FLAG -32 128 vcc
    FLAG -32 192 vee
    FLAG 368 128 vcc
    FLAG 368 192 vee
    FLAG 16 464 0
    FLAG 96 528 vcc
    FLAG 32 528 vee
    FLAG -2192 80 vcc
    FLAG -1936 -336 vcc
    FLAG -2192 144 vee
    FLAG -1328 0 vcc
    FLAG -2400 -288 vcc
    FLAG -2400 336 0
    FLAG -1328 512 0
    FLAG -960 256 vcc
    FLAG -960 320 vee
    FLAG -1072 336 0
    FLAG -1472 592 vee
    FLAG -1936 512 0
    FLAG -1472 0 vcc
    FLAG -1680 0 vcc
    FLAG -2512 288 0
    FLAG -576 1264 vee
    FLAG -1680 1232 vee
    FLAG -464 1040 0
    FLAG 704 208 output
    FLAG -672 1152 0
    FLAG -784 1440 vee
    FLAG -688 1408 0
    SYMBOL res -400 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res -176 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 240 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 0 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 400 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res -144 -240 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res -144 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -928 848 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res -592 1200 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R10
    SYMATTR Value 330k
    SYMBOL res -592 912 R0
    SYMATTR InstName R11
    SYMATTR Value 47k
    SYMBOL res 240 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 96 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -336 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode -96 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 48 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 496 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -368 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res -128 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 80 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 464 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -1936 672 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -1936 816 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -464 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 -32 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 368 160 R0
    SYMATTR InstName U8
    SYMBOL res -432 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -640 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -768 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -944 960 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -976 928 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 64 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2000 160 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q5
    SYMBOL res -1952 -304 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1744 -176 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2144 -16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL npn -1744 224 R0
    SYMATTR InstName Q2A
    SYMATTR Value BCM847BS
    SYMBOL npn -1392 304 R0
    SYMATTR InstName Q2B
    SYMATTR Value BCM847BS
    SYMBOL res -1664 576 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R28
    SYMATTR Value 120k
    SYMBOL res -1344 32 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -2416 -48 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2416 176 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -1104 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -912 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -944 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1584 -176 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL res -1456 576 R180
    WINDOW 0 31 76 Left 2
    WINDOW 3 31 40 Left 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL OpAmps\\LT1679 -960 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -944 1072 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2192 112 R0
    SYMATTR InstName U4
    SYMBOL cap -2528 192 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    SYMBOL npn -1536 224 R0
    SYMATTR InstName Q1A
    SYMATTR Value BCM847BS
    SYMBOL npn -1872 304 M0
    SYMATTR InstName Q1B
    SYMATTR Value BCM847BS
    SYMBOL zener -1296 1088 R270
    WINDOW 0 36 32 VTop 2
    WINDOW 3 -4 32 VBottom 2
    SYMATTR InstName D3
    SYMATTR Value BZX84B9V1LY
    SYMBOL res -1696 1088 R0
    SYMATTR InstName R20
    SYMATTR Value 2k
    SYMBOL cap -480 944 R0
    SYMATTR InstName C10
    SYMATTR Value 1000n
    SYMBOL res -800 1136 R0
    SYMATTR InstName R21
    SYMATTR Value 1.5k
    SYMBOL res -800 1280 R0
    SYMATTR InstName R22
    SYMATTR Value 10k
    SYMBOL cap -704 1312 R0
    SYMATTR InstName C11
    SYMATTR Value 10n
    TEXT -2576 632 Left 2 !.tran 0 10 0 1u startup
    TEXT -2576 576 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2688 1104 Left 2 !.MODEL BCM847BS NPN IS = 1.822E-14 NF = 0.9932 ISE= 2.894E-16 NE = 1.4 \n+ BF = 324.4 IKF = 0.109 VAF = 82
    NR = 0.9931 ISC = 9.982E-12 NC = 1.763 \n+ BR = 8.29 IKR = 0.09 VAR = 17.9 RB = 10 IRB = 5E-06 RBM = 5 RE = 0.649 \n+ RC = 0.7014
    CJE = 1.244E-11 VJE = 0.7579 MJE = 0.3656 TF = 4.908E-10 \n+ XTF = 9.51 VTF = 2.927 ITF = 0.3131 PTF = 0 CJC = 3.347E-12 VJC =
    0.5463 \n+ MJC = 0.391 XCJC = 0.6193 TR = 9E-08 CJS = 0 VJS = 0.75 MJS = 0.333 \n+ XTB = 0 XTI = 3 EG = 1.11 FC = 0.979

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Sat Apr 5 16:19:15 2025
    On 5/04/2025 1:48 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsq3um$107nb$[email protected]...
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]>
    wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>>>> wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>>>> flip the switch if it's too high or too low. Switch at the zero
    crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>>> amplitude ramped up linearly for a bit, and ramped back down again. >>>>>>
    Do a DFT on that and you'd have your answer. It wouldn't be good.

    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and
    play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced
    degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having ideas. >>
    I am hostile to people who tout bad ideas.

    Don't you think it would be better to just explain why you think an idea is bad Bill?

    I usually do.

    And also, if necessary, to just explain how and why you think it should be done.

    I have been known to do that. You should know - I've done it to you,
    here, and I'm about to do it to John May whom I really like and approve of.

    Being hostile doesn't make you look good and it does the opposite of persuading others that their ideas are bad.

    Few people can ever be persuaded that their ideas are bad. John Larkin definitely isn't one of them.

    So why be hostile at all?

    The same mechanism that persuades people that their bad ideas aren't too
    bad allows them to gloss over any criticism that isn't thoroughly explicit.


    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to All on Sat Apr 5 16:33:40 2025
    On 5/04/2025 10:12 am, JM wrote:
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.

    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I've reworked my version of the circuit to incorporate most of John
    May's changes. I really dislike the Zener diode at D3 and have solved
    that particular problem in a different way. My updated version has a
    4kHz spike at 150dB below the fundamental and all the other harmonics
    are even lower.

    I'm inclined to agree with the proposition that two dual transistors is
    an over-kill, but my attempts at getting a long-tailed pair solution to
    work didn't get anywhere. I need to rip up a few more ill-founded schemes.

    Version 4
    SHEET 1 3020 2548
    WIRE 80 -208 -288 -208
    WIRE 800 -208 160 -208
    WIRE -288 -96 -288 -208
    WIRE 80 -96 -288 -96
    WIRE 400 -96 160 -96
    WIRE -288 32 -288 -96
    WIRE -176 32 -288 32
    WIRE -32 32 -96 32
    WIRE 48 32 -32 32
    WIRE 208 32 128 32
    WIRE 256 32 208 32
    WIRE 400 32 400 -96
    WIRE 400 32 320 32
    WIRE 464 32 400 32
    WIRE 608 32 544 32
    WIRE 656 32 608 32
    WIRE 800 32 800 -208
    WIRE 800 32 720 32
    WIRE -752 48 -816 48
    WIRE -624 48 -688 48
    WIRE -288 144 -288 32
    WIRE -176 144 -288 144
    WIRE 208 144 208 32
    WIRE 256 144 208 144
    WIRE 608 144 608 32
    WIRE 656 144 608 144
    WIRE -816 160 -816 48
    WIRE -752 160 -816 160
    WIRE -624 160 -624 48
    WIRE -624 160 -672 160
    WIRE -32 160 -32 32
    WIRE -32 160 -112 160
    WIRE 400 160 400 32
    WIRE 400 160 320 160
    WIRE 800 160 800 32
    WIRE 800 160 720 160
    WIRE 832 160 800 160
    WIRE -176 176 -288 176
    WIRE 256 176 224 176
    WIRE 656 176 624 176
    WIRE 224 208 224 176
    WIRE 624 208 624 176
    WIRE -1968 224 -1968 144
    WIRE -1008 272 -1104 272
    WIRE -816 272 -816 160
    WIRE -816 272 -944 272
    WIRE -736 272 -816 272
    WIRE -624 288 -624 160
    WIRE -624 288 -672 288
    WIRE -544 288 -624 288
    WIRE -416 288 -480 288
    WIRE -288 288 -288 176
    WIRE -288 288 -336 288
    WIRE -208 288 -288 288
    WIRE 208 288 -128 288
    WIRE 400 288 400 160
    WIRE 400 288 208 288
    WIRE -736 304 -816 304
    WIRE -816 336 -816 304
    WIRE 400 336 400 288
    WIRE -1968 400 -1968 304
    WIRE -1856 400 -1968 400
    WIRE -1664 400 -1776 400
    WIRE 208 400 208 288
    WIRE 208 400 -1600 400
    WIRE 400 448 400 416
    WIRE 544 448 400 448
    WIRE 368 464 336 464
    WIRE -1968 496 -1968 400
    WIRE -1968 496 -2304 496
    WIRE 368 496 368 464
    WIRE 400 496 400 448
    WIRE 544 496 544 448
    WIRE -2432 544 -2432 496
    WIRE -2304 560 -2304 496
    WIRE -2240 560 -2304 560
    WIRE -2144 560 -2176 560
    WIRE 384 608 384 560
    WIRE 544 608 544 576
    WIRE 544 608 384 608
    WIRE -1968 640 -1968 496
    WIRE -32 656 -32 160
    WIRE 208 656 208 400
    WIRE 384 656 384 608
    WIRE 800 656 800 160
    WIRE -2304 672 -2304 560
    WIRE -2256 672 -2304 672
    WIRE -2144 688 -2144 560
    WIRE -2144 688 -2192 688
    WIRE -2032 688 -2144 688
    WIRE -2432 704 -2432 624
    WIRE -2256 704 -2432 704
    WIRE -2432 736 -2432 704
    WIRE -2432 736 -2544 736
    WIRE -32 752 -32 720
    WIRE 208 752 208 720
    WIRE 384 752 384 720
    WIRE 800 752 800 720
    WIRE -2544 768 -2544 736
    WIRE -2432 768 -2432 736
    WIRE -1968 800 -1968 736
    WIRE -1360 800 -1360 704
    WIRE -2544 864 -2544 832
    WIRE -32 880 -32 832
    WIRE 208 880 208 832
    WIRE 208 880 -32 880
    WIRE 384 880 384 832
    WIRE 384 880 208 880
    WIRE 800 880 800 832
    WIRE 800 880 384 880
    WIRE -2432 912 -2432 848
    WIRE -1360 960 -1360 880
    WIRE -1104 960 -1104 272
    WIRE -1104 960 -1360 960
    WIRE -32 976 -32 880
    WIRE -320 992 -416 992
    WIRE -160 992 -256 992
    WIRE -416 1072 -416 992
    WIRE -368 1072 -416 1072
    WIRE -256 1072 -304 1072
    WIRE -160 1072 -160 992
    WIRE -160 1072 -176 1072
    WIRE -2160 1152 -2160 1040
    WIRE -1664 1152 -1664 1040
    WIRE -160 1184 -160 1072
    WIRE -160 1184 -240 1184
    WIRE -32 1184 -32 1056
    WIRE -32 1184 -160 1184
    WIRE 48 1184 -32 1184
    WIRE 176 1184 128 1184
    WIRE 320 1184 240 1184
    WIRE -1968 1200 -1968 880
    WIRE -1968 1200 -2096 1200
    WIRE -1904 1200 -1968 1200
    WIRE -1728 1200 -1904 1200
    WIRE -416 1200 -416 1072
    WIRE -416 1200 -1088 1200
    WIRE -304 1200 -416 1200
    WIRE -2480 1216 -2480 1184
    WIRE -2480 1216 -2528 1216
    WIRE -208 1216 -240 1216
    WIRE -2528 1232 -2528 1216
    WIRE -1360 1232 -1360 960
    WIRE -2480 1248 -2480 1216
    WIRE -1664 1280 -1664 1248
    WIRE -1424 1280 -1664 1280
    WIRE -208 1328 -208 1216
    WIRE -1664 1360 -1664 1280
    WIRE -1360 1440 -1360 1328
    WIRE -1664 1504 -1664 1440
    WIRE -2160 1648 -2160 1248
    WIRE -1648 1648 -2160 1648
    WIRE -1088 1648 -1088 1200
    WIRE -1088 1648 -1568 1648
    WIRE -1904 1712 -1904 1200
    WIRE -2160 1760 -2160 1648
    WIRE -1968 1760 -2160 1760
    WIRE -1904 1888 -1904 1808
    FLAG 224 208 0
    FLAG 624 208 0
    FLAG 832 160 vout
    FLAG -272 1168 vcc
    FLAG -272 1232 vee
    FLAG -2528 1232 0
    FLAG -2480 1104 vcc
    FLAG -2480 1328 vee
    FLAG -144 128 vcc
    FLAG -144 192 vee
    FLAG 288 128 vcc
    FLAG 288 192 vee
    FLAG 688 128 vcc
    FLAG 688 192 vee
    FLAG 336 464 0
    FLAG 416 528 vcc
    FLAG 352 528 vee
    FLAG -2224 656 vcc
    FLAG -1968 144 vcc
    FLAG -2224 720 vee
    FLAG -1360 704 vcc
    FLAG -2432 496 vcc
    FLAG -2432 912 0
    FLAG -1360 1440 0
    FLAG -704 256 vcc
    FLAG -704 320 vee
    FLAG -816 336 0
    FLAG -1664 1504 vee
    FLAG -1904 1888 0
    FLAG -1664 1040 vcc
    FLAG -2160 1040 vcc
    FLAG -208 1328 0
    FLAG -2544 864 0
    FLAG 320 1184 vee
    SYMBOL res -80 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 144 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 560 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 320 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 720 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 176 -224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 176 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -256 976 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res 32 1200 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 820K
    SYMBOL diode 176 1200 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -48 960 R0
    SYMATTR InstName R11
    SYMATTR Value 40.2K
    SYMBOL res 560 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 416 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -16 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode 224 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 368 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 816 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -48 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res 192 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 400 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 784 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -2480 1088 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2480 1232 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -144 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 288 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 688 160 R0
    SYMATTR InstName U8
    SYMBOL res -112 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -320 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -480 272 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -272 1088 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 82k
    SYMBOL cap -304 1056 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 384 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL pnp -2032 736 M180
    WINDOW 3 84 0 Left 2
    SYMATTR Value 2N3906
    SYMATTR InstName Q5
    SYMBOL res -1984 208 R0
    SYMATTR InstName R12
    SYMATTR Value 56k
    SYMBOL res -1760 384 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 2.7Meg
    SYMBOL cap -2176 544 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 10p
    SYMBOL res -1984 784 R0
    SYMATTR InstName R27
    SYMATTR Value 1
    SYMBOL npn -2096 1152 M0
    SYMATTR InstName Q6
    SYMATTR Value 2N3904
    SYMBOL npn -1728 1152 R0
    SYMATTR InstName Q1B
    SYMATTR Value BCM61B
    SYMBOL npn -1424 1232 R0
    SYMATTR InstName Q8
    SYMATTR Value 2N3904
    SYMBOL npn -1968 1712 R0
    SYMATTR InstName Q1A
    SYMATTR Value BCM61B
    SYMBOL res -1552 1632 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R28
    SYMATTR Value 15k
    SYMBOL res -1376 784 R0
    SYMATTR InstName R29
    SYMATTR Value 100k
    SYMBOL res -2448 528 R0
    SYMATTR InstName R32
    SYMATTR Value 10k
    SYMBOL res -2448 752 R0
    SYMATTR InstName R33
    SYMATTR Value 15k
    SYMBOL cap -944 256 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -656 144 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 14k
    SYMBOL cap -688 32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL cap -1600 384 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 100n
    SYMBOL res -1648 1456 R180
    WINDOW 0 31 76 Left 2
    WINDOW 3 31 40 Left 2
    SYMATTR InstName R17
    SYMATTR Value 120k
    SYMBOL OpAmps\\LT1679 -704 288 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -272 1200 M0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 -2224 688 R0
    SYMATTR InstName U4
    SYMBOL cap -2560 768 R0
    SYMATTR InstName C9
    SYMATTR Value 10n
    TEXT -2792 1560 Left 2 !.tran 0 10 0 1u startup
    TEXT -2792 1504 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2248 -112 Left 2 ;Low distortion 1KHz oscillator. Edward Rawde 30
    March 2025.\nBased on designs by JM and BS.
    TEXT -2848 128 Left 2 !.MODEL BCM61B NPN\n+ IS = 1.822E-14\n+ NF =
    0.9932\n+ ISE = 2.894E-16\n+ NE = 1.4\n+ BF = 324.4\n+ IKF = 0.109\n+
    VAF = 82\n+ NR = 0.9931\n+ ISC = 9.982E-12\n+ NC = 1.763\n+ BR = 8.29\n+
    IKR = 0.09\n+ VAR = 17.9\n+ RB = 10\n+ IRB = 5E-06\n+ RBM = 5\n+ RE =
    0.649\n+ RC = 0.7014\n+ CJE = 1.244E-11\n+ VJE = 0.7579\n+ MJE =
    0.3656\n+ TF = 4.908E-10\n+ XTF = 9.51\n+ VTF = 2.927\n+ ITF = 0.3131\n+
    PTF = 0\n+ CJC = 3.347E-12\n+ VJC = 0.5463\n+ MJC = 0.391\n+ XCJC =
    0.6193\n+ TR = 9E-08\n+ CJS = 0\n+ VJS = 0.75\n+ MJS = 0.333\n+ XTB =
    0\n+ XTI = 3\n+ EG = 1.11\n+ FC = 0.979

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Sat Apr 5 10:17:38 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsqfc3$1emr4$[email protected]...
    On 5/04/2025 10:12 am, JM wrote:
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.

    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I've reworked my version of the circuit to incorporate most of John May's changes. I really dislike the Zener diode at D3 and have
    solved that particular problem in a different way. My updated version has a 4kHz spike at 150dB below the fundamental and all the
    other harmonics are even lower.

    I'm inclined to agree with the proposition that two dual transistors is an over-kill, but my attempts at getting a long-tailed
    pair solution to work didn't get anywhere. I need to rip up a few more ill-founded schemes.


    Are you sure that's the correct circuit?
    It looks very similar to a circuit you posted yesterday and LTSpice 24.1.5 says 125dB down at 4 KHz.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Sat Apr 5 10:15:27 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsqeh2$1emr4$[email protected]...
    On 5/04/2025 1:48 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsq3um$107nb$[email protected]...
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]>
    wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]> >>>>> wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>>>>> wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>>>>> flip the switch if it's too high or too low. Switch at the zero >>>>>>>> crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>>>> amplitude ramped up linearly for a bit, and ramped back down again. >>>>>>>
    Do a DFT on that and you'd have your answer. It wouldn't be good. >>>>>>>
    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and >>>>>> play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced
    degrees, are incapable of having ideas, and react by being hostile to
    ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having ideas.

    I am hostile to people who tout bad ideas.

    Don't you think it would be better to just explain why you think an idea is bad Bill?

    I usually do.

    And also, if necessary, to just explain how and why you think it should be done.

    I have been known to do that. You should know - I've done it to you, here, and I'm about to do it to John May whom I really like
    and approve of.

    Being hostile doesn't make you look good and it does the opposite of persuading others that their ideas are bad.

    Few people can ever be persuaded that their ideas are bad. John Larkin definitely isn't one of them.

    So why be hostile at all?

    The same mechanism that persuades people that their bad ideas aren't too bad allows them to gloss over any criticism that isn't
    thoroughly explicit.

    You can be critical without being hostile.



    --
    Bill Sloman, Sydney


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Sat Apr 5 16:13:27 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well
    use
    two
    of them as shown below.

    I took the model from >>>>>>https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>>Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    Very interesting. Thank you.


    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    Yes that stabilizes, but only 70dB down.


    For best performance use the multplier circuit with differential I/O.
    There is already a suitable drive point at U1 in the circuit.

    The derived circuit below doesn't seem to have any discernible distortion at all as far as I can tell in an LTSpice FFT.
    Not until you get above about 100KHz where it's 160dB down.


    Best to use the Hanning windows at these levels if you're not already
    doing so.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Sun Apr 6 13:02:00 2025
    On 6/04/2025 1:17 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsqfc3$1emr4$[email protected]...
    On 5/04/2025 10:12 am, JM wrote:
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>> under control sooner.


    Wow. That has much lower distortion too.

    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I've reworked my version of the circuit to incorporate most of John May's changes. I really dislike the Zener diode at D3 and have
    solved that particular problem in a different way. My updated version has a 4kHz spike at 150dB below the fundamental and all the
    other harmonics are even lower.

    I'm inclined to agree with the proposition that two dual transistors is an over-kill, but my attempts at getting a long-tailed
    pair solution to work didn't get anywhere. I need to rip up a few more ill-founded schemes.


    Are you sure that's the correct circuit?
    It looks very similar to a circuit you posted yesterday and LTSpice 24.1.5 says 125dB down at 4 KHz.

    Oops. Sorry. It looks as if I closed LTSpice without saving the circuit,
    so what I posted was the file I'd started from, rather than the one I
    had been running.

    I don't think that I will bother reconstructing it. Overnight I got to
    thinking about doing roughly what John May proposed this morning and
    I'll see how my version comes out.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Sun Apr 6 13:08:04 2025
    On 6/04/2025 1:15 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsqeh2$1emr4$[email protected]...
    On 5/04/2025 1:48 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsq3um$107nb$[email protected]...
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]> >>>>> wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]> >>>>>> wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>>>>>> wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>>>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>>>>>> flip the switch if it's too high or too low. Switch at the zero >>>>>>>>> crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>>>>> amplitude ramped up linearly for a bit, and ramped back down again. >>>>>>>>
    Do a DFT on that and you'd have your answer. It wouldn't be good. >>>>>>>>
    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and >>>>>>> play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced >>>>> degrees, are incapable of having ideas, and react by being hostile to >>>>> ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having ideas.

    I am hostile to people who tout bad ideas.

    Don't you think it would be better to just explain why you think an idea is bad Bill?

    I usually do.

    And also, if necessary, to just explain how and why you think it should be done.

    I have been known to do that. You should know - I've done it to you, here, and I'm about to do it to John May whom I really like
    and approve of.

    Being hostile doesn't make you look good and it does the opposite of persuading others that their ideas are bad.

    Few people can ever be persuaded that their ideas are bad. John Larkin definitely isn't one of them.

    So why be hostile at all?

    The same mechanism that persuades people that their bad ideas aren't too bad allows them to gloss over any criticism that isn't
    thoroughly explicit.

    You can be critical without being hostile.

    But, as I said, making it critical enough so that people realise that
    they have been criticised, rather than settling for basking in the
    attention, does come across as hostile, particularly to people who are
    seeking flattery, rather than critical comment.--Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Sat Apr 5 22:18:14 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well
    use
    two
    of them as shown below.

    I took the model from >>>>>>https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>>Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    For best performance use the multplier circuit with differential I/O.
    There is already a suitable drive point at U1 in the circuit.

    The 4qm circuit is clearly superior.
    Here's my attempt at using it so far.
    No doubt this can be improved.
    What's the best way to implement E1 in practice?

    Version 4.1
    SHEET 1 3020 2548
    WIRE -1824 -656 -1872 -656
    WIRE -1696 -656 -1760 -656
    WIRE -1872 -544 -1872 -656
    WIRE -1824 -544 -1872 -544
    WIRE -1696 -544 -1696 -656
    WIRE -1696 -544 -1744 -544
    WIRE -2128 -432 -2544 -432
    WIRE -2016 -432 -2048 -432
    WIRE -1872 -432 -1872 -544
    WIRE -1872 -432 -1952 -432
    WIRE -1808 -432 -1872 -432
    WIRE -1696 -416 -1696 -544
    WIRE -1696 -416 -1744 -416
    WIRE -1664 -416 -1696 -416
    WIRE -1584 -416 -1600 -416
    WIRE -800 -416 -1584 -416
    WIRE -1808 -400 -1872 -400
    WIRE -1872 -368 -1872 -400
    WIRE -2384 -352 -2448 -352
    WIRE -2224 -352 -2320 -352
    WIRE -2448 -240 -2448 -352
    WIRE -2384 -240 -2448 -240
    WIRE -2224 -240 -2224 -352
    WIRE -2224 -240 -2304 -240
    WIRE -240 -224 -608 -224
    WIRE 480 -224 -160 -224
    WIRE -2224 -128 -2224 -240
    WIRE -2224 -128 -2320 -128
    WIRE -2032 -128 -2032 -144
    WIRE -1552 -128 -1552 -144
    WIRE -2448 -112 -2448 -240
    WIRE -2384 -112 -2448 -112
    WIRE -2288 -96 -2320 -96
    WIRE -608 -96 -608 -224
    WIRE -240 -96 -608 -96
    WIRE 80 -96 -160 -96
    WIRE -2288 -64 -2288 -96
    WIRE -2544 -32 -2544 -432
    WIRE -2544 -32 -2576 -32
    WIRE -2544 16 -2544 -32
    WIRE -2224 16 -2224 -128
    WIRE -1904 16 -2224 16
    WIRE -1552 16 -1552 -48
    WIRE -1552 16 -1904 16
    WIRE -2448 32 -2448 -112
    WIRE -2448 32 -2496 32
    WIRE -608 32 -608 -96
    WIRE -496 32 -608 32
    WIRE -352 32 -416 32
    WIRE -272 32 -352 32
    WIRE -112 32 -192 32
    WIRE -64 32 -112 32
    WIRE 80 32 80 -96
    WIRE 80 32 0 32
    WIRE 144 32 80 32
    WIRE 288 32 224 32
    WIRE 336 32 288 32
    WIRE 480 32 480 -224
    WIRE 480 32 400 32
    WIRE -2288 64 -2288 32
    WIRE -2288 64 -2320 64
    WIRE -2448 80 -2496 80
    WIRE -2384 80 -2448 80
    WIRE -2224 96 -2320 96
    WIRE -2032 96 -2032 -48
    WIRE -2032 96 -2224 96
    WIRE -1680 96 -2032 96
    WIRE -608 144 -608 32
    WIRE -496 144 -608 144
    WIRE -112 144 -112 32
    WIRE -64 144 -112 144
    WIRE 288 144 288 32
    WIRE 336 144 288 144
    WIRE -352 160 -352 32
    WIRE -352 160 -432 160
    WIRE 80 160 80 32
    WIRE 80 160 0 160
    WIRE 480 160 480 32
    WIRE 480 160 400 160
    WIRE -496 176 -608 176
    WIRE -64 176 -96 176
    WIRE 336 176 304 176
    WIRE -1472 192 -1792 192
    WIRE -1312 192 -1392 192
    WIRE -928 192 -1312 192
    WIRE -2448 208 -2448 80
    WIRE -2384 208 -2448 208
    WIRE -2224 208 -2224 96
    WIRE -2224 208 -2304 208
    WIRE -96 208 -96 176
    WIRE 304 208 304 176
    WIRE 480 208 480 160
    WIRE 704 208 480 208
    WIRE 752 208 704 208
    WIRE -2032 272 -2032 96
    WIRE -1904 272 -1904 16
    WIRE -1680 272 -1680 96
    WIRE -1552 272 -1552 16
    WIRE -800 288 -800 -416
    WIRE -736 288 -800 288
    WIRE -608 288 -608 176
    WIRE -608 288 -656 288
    WIRE -528 288 -608 288
    WIRE -112 288 -448 288
    WIRE 80 288 80 160
    WIRE 80 288 -112 288
    WIRE -2448 304 -2448 208
    WIRE -2384 304 -2448 304
    WIRE -2224 304 -2224 208
    WIRE -2224 304 -2320 304
    WIRE -2096 320 -2128 320
    WIRE -1792 320 -1792 192
    WIRE -1792 320 -1840 320
    WIRE -1744 320 -1792 320
    WIRE -1456 320 -1488 320
    WIRE 80 336 80 288
    WIRE -2128 352 -2128 320
    WIRE -1792 352 -1792 320
    WIRE -1456 368 -1456 320
    WIRE -2032 400 -2032 368
    WIRE -1968 400 -2032 400
    WIRE -1904 400 -1904 368
    WIRE -1904 400 -1968 400
    WIRE -1680 400 -1680 368
    WIRE -1616 400 -1680 400
    WIRE -1552 400 -1552 368
    WIRE -1552 400 -1616 400
    WIRE 80 448 80 416
    WIRE 224 448 80 448
    WIRE -1792 464 -1792 432
    WIRE -1184 464 -1296 464
    WIRE 48 464 16 464
    WIRE -1296 496 -1296 464
    WIRE -112 496 -112 288
    WIRE -112 496 -1072 496
    WIRE 48 496 48 464
    WIRE 80 496 80 448
    WIRE 224 496 224 448
    WIRE -1376 512 -2208 512
    WIRE -1184 512 -1184 464
    WIRE -1968 560 -1968 400
    WIRE -1616 560 -1616 400
    WIRE -2208 592 -2208 512
    WIRE -2144 592 -2208 592
    WIRE -1472 592 -1472 576
    WIRE -1376 592 -1376 512
    WIRE -1376 592 -1440 592
    WIRE -1296 592 -1296 576
    WIRE -1296 592 -1376 592
    WIRE -2032 608 -2080 608
    WIRE -1504 608 -1552 608
    WIRE 64 608 64 560
    WIRE 224 608 224 576
    WIRE 224 608 64 608
    WIRE -2144 624 -2208 624
    WIRE -1376 624 -1440 624
    WIRE -1296 624 -1296 592
    WIRE -1184 624 -1296 624
    WIRE -1296 640 -1296 624
    WIRE -1184 640 -1184 624
    WIRE -352 656 -352 160
    WIRE -112 656 -112 496
    WIRE 64 656 64 608
    WIRE 480 656 480 208
    WIRE -1296 752 -1296 720
    WIRE -1184 752 -1184 704
    WIRE -352 752 -352 720
    WIRE -112 752 -112 720
    WIRE 64 752 64 720
    WIRE 480 752 480 720
    WIRE -2208 784 -2208 624
    WIRE -2128 784 -2208 784
    WIRE -1968 784 -1968 656
    WIRE -1968 784 -2048 784
    WIRE -1616 784 -1616 656
    WIRE -1536 784 -1616 784
    WIRE -1376 784 -1376 624
    WIRE -1376 784 -1456 784
    WIRE -928 864 -928 192
    WIRE -832 864 -928 864
    WIRE -672 864 -768 864
    WIRE -464 880 -576 880
    WIRE -352 880 -352 832
    WIRE -352 880 -464 880
    WIRE -112 880 -112 832
    WIRE -112 880 -352 880
    WIRE 64 880 64 832
    WIRE 64 880 -112 880
    WIRE 480 880 480 832
    WIRE 480 880 64 880
    WIRE -2240 912 -2304 912
    WIRE -2192 912 -2240 912
    WIRE -1968 912 -1968 784
    WIRE -1968 912 -2112 912
    WIRE -1616 912 -1616 784
    WIRE -1472 912 -1616 912
    WIRE -1344 912 -1392 912
    WIRE -1280 912 -1344 912
    WIRE -1216 912 -1280 912
    WIRE -1072 912 -1072 496
    WIRE -1072 912 -1152 912
    WIRE -576 928 -576 880
    WIRE -928 944 -928 864
    WIRE -880 944 -928 944
    WIRE -768 944 -816 944
    WIRE -672 944 -672 864
    WIRE -672 944 -688 944
    WIRE -464 944 -464 880
    WIRE -1968 976 -1968 912
    WIRE -1616 976 -1616 912
    WIRE -464 1040 -464 1008
    WIRE -672 1056 -672 944
    WIRE -672 1056 -752 1056
    WIRE -576 1056 -576 1008
    WIRE -576 1056 -672 1056
    WIRE -928 1072 -928 944
    WIRE -816 1072 -928 1072
    WIRE -688 1088 -752 1088
    WIRE -576 1104 -576 1056
    WIRE -688 1136 -688 1088
    WIRE -2576 1152 -2576 1120
    WIRE -2576 1152 -2624 1152
    WIRE -2624 1168 -2624 1152
    WIRE -2576 1184 -2576 1152
    WIRE -1904 1232 -1920 1232
    WIRE -1792 1232 -1824 1232
    WIRE -576 1264 -576 1184
    WIRE -1792 1360 -1792 1232
    WIRE -1792 1360 -1824 1360
    WIRE -1744 1360 -1792 1360
    WIRE -1632 1360 -1664 1360
    WIRE -1568 1360 -1632 1360
    WIRE -1280 1360 -1280 912
    WIRE -1280 1360 -1568 1360
    WIRE -2304 1376 -2304 912
    WIRE -1984 1376 -2304 1376
    WIRE -1920 1376 -1920 1232
    WIRE -1920 1376 -1984 1376
    WIRE -1888 1376 -1920 1376
    WIRE -1792 1392 -1824 1392
    FLAG -96 208 0
    FLAG 304 208 0
    FLAG -784 1040 vcc
    FLAG -784 1104 vee
    FLAG -464 128 vcc
    FLAG -464 192 vee
    FLAG -32 128 vcc
    FLAG -32 192 vee
    FLAG 368 128 vcc
    FLAG 368 192 vee
    FLAG 16 464 0
    FLAG 96 528 vcc
    FLAG 32 528 vee
    FLAG -576 1264 vee
    FLAG -464 1040 0
    FLAG 704 208 output
    FLAG -1472 640 vcc
    FLAG -1472 576 vee
    FLAG -1616 1056 vee
    FLAG -1344 912 vin1
    FLAG -1968 1056 vee
    FLAG -2240 912 vin2
    FLAG -1792 464 0
    FLAG -1456 368 0
    FLAG -2128 352 0
    FLAG -1552 -144 vcc
    FLAG -2032 -144 vcc
    FLAG -2352 112 vcc
    FLAG -2352 48 vee
    FLAG -2288 32 0
    FLAG -2352 -144 vcc
    FLAG -2352 -80 vee
    FLAG -2288 -64 0
    FLAG -2112 640 vcc
    FLAG -2112 576 vee
    FLAG -1856 1344 vcc
    FLAG -1856 1408 vee
    FLAG -1792 1392 0
    FLAG -1984 1376 vin2
    FLAG -1568 1360 vmod
    FLAG -1632 1360 vin1
    FLAG -2544 96 0
    FLAG -2576 -32 vo3
    FLAG -1312 192 vgain
    FLAG -688 1136 0
    FLAG -2624 1168 0
    FLAG -2576 1040 vcc
    FLAG -2576 1264 vee
    FLAG -1776 -448 vcc
    FLAG -1776 -384 vee
    FLAG -1872 -368 0
    FLAG -1584 -416 vo2
    FLAG -1184 512 0
    FLAG -1296 752 vee
    FLAG -1184 752 0
    SYMBOL res -400 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res -176 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 240 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 0 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 400 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res -144 -240 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res -144 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -768 848 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res -592 1200 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R10
    SYMATTR Value 820k
    SYMBOL res -592 912 R0
    SYMATTR InstName R11
    SYMATTR Value 47k
    SYMBOL res 240 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 96 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -336 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode -96 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 48 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 496 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -368 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res -128 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 80 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 464 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL OpAmps\\LT1679 -464 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 -32 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 368 160 R0
    SYMATTR InstName U8
    SYMBOL res -432 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -640 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL res -784 960 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -816 928 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 64 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL cap -1152 896 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 1000n
    SYMBOL OpAmps\\LT1679 -784 1072 M0
    SYMATTR InstName U3
    SYMBOL res -1552 768 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R23
    SYMATTR Value 1k
    SYMBOL npn -1552 560 M0
    SYMATTR InstName Q4
    SYMATTR Value 2N3904
    SYMBOL res -1488 896 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R24
    SYMATTR Value 540K
    SYMBOL current -1616 976 M0
    SYMATTR InstName I1
    SYMATTR Value 1m
    SYMBOL res -2096 896 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R26
    SYMATTR Value 540K
    SYMBOL current -1968 976 R0
    SYMATTR InstName I2
    SYMATTR Value 1m
    SYMBOL res -1776 336 M0
    SYMATTR InstName R27
    SYMATTR Value 10
    SYMBOL res -1376 208 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R30
    SYMATTR Value 3K
    SYMBOL current -1552 -128 M0
    SYMATTR InstName I3
    SYMATTR Value 650u
    SYMBOL current -2032 -128 M0
    SYMATTR InstName I4
    SYMATTR Value 650u
    SYMBOL res -2400 224 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R31
    SYMATTR Value 1k
    SYMBOL res -2400 -256 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R34
    SYMATTR Value 1k
    SYMBOL cap -2384 288 M90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C13
    SYMATTR Value 33p
    SYMBOL UniversalOpAmp3 -1472 608 R180
    SYMATTR Value2 Avol=5Meg GBW=90Meg Slew=20Meg
    SYMATTR SpiceLine Ilimit=25m Rail=0 Vos=0 Phimargin=40
    SYMATTR InstName U7
    SYMBOL UniversalOpAmp3 -2352 -112 M0
    SYMATTR Value2 Avol=5Meg GBW=90Meg Slew=20Meg
    SYMATTR SpiceLine Ilimit=25m Rail=0 Vos=0 Phimargin=40
    SYMATTR InstName U9
    SYMBOL UniversalOpAmp3 -2352 80 R180
    SYMATTR Value2 Avol=5Meg GBW=90Meg Slew=20Meg
    SYMATTR SpiceLine Ilimit=25m Rail=0 Vos=0 Phimargin=40
    SYMATTR InstName U10
    SYMBOL npn -1488 272 M0
    SYMATTR InstName Q2B
    SYMATTR Value BCM847BS
    SYMBOL npn -1840 272 M0
    SYMATTR InstName Q2A
    SYMATTR Value BCM847BS
    SYMBOL npn -1744 272 R0
    WINDOW 3 -12 151 Left 2
    SYMATTR Value BCM847BS
    SYMATTR InstName Q1B
    SYMBOL npn -2096 272 R0
    WINDOW 3 -86 124 Left 2
    SYMATTR Value BCM847BS
    SYMATTR InstName Q1A
    SYMBOL res -2032 768 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R35
    SYMATTR Value 1k
    SYMBOL npn -2032 560 R0
    SYMATTR InstName Q3
    SYMATTR Value 2N3904
    SYMBOL UniversalOpAmp3 -2112 608 M180
    SYMATTR Value2 Avol=5Meg GBW=90Meg Slew=20Meg
    SYMATTR SpiceLine Ilimit=25m Rail=0 Vos=0 Phimargin=40
    SYMATTR InstName U11
    SYMBOL UniversalOpAmp3 -1856 1376 M0
    SYMATTR Value2 Avol=5Meg GBW=90Meg Slew=20Meg
    SYMATTR SpiceLine Ilimit=25m Rail=0 Vos=0 Phimargin=40
    SYMATTR InstName U12
    SYMBOL res -1920 1216 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R36
    SYMATTR Value 3k3
    SYMBOL res -1760 1344 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R37
    SYMATTR Value 3k3
    SYMBOL cap -2384 -368 M90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C14
    SYMATTR Value 33p
    SYMBOL e -2544 0 M0
    SYMATTR InstName E1
    SYMATTR Value 2.5
    SYMBOL voltage -2576 1024 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -2576 1168 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL cap -1600 -432 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 1000n
    SYMBOL cap -1952 -448 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C7
    SYMATTR Value 1000n
    SYMBOL res -1728 -560 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 10k
    SYMBOL cap -1760 -672 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C9
    SYMATTR Value 10p
    SYMBOL UniversalOpAmp3 -1776 -416 R0
    SYMATTR Value2 Avol=5Meg GBW=90Meg Slew=20Meg
    SYMATTR SpiceLine Ilimit=25m Rail=0 Vos=0 Phimargin=40
    SYMATTR InstName U2
    SYMBOL res -2032 -448 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R12
    SYMATTR Value 1k
    SYMBOL cap -480 944 R0
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -1312 624 R0
    SYMATTR InstName R17
    SYMATTR Value 10k
    SYMBOL res -1312 480 R0
    SYMATTR InstName R20
    SYMATTR Value 5k
    SYMBOL cap -1200 640 R0
    SYMATTR InstName C10
    SYMATTR Value 10n
    TEXT -2824 848 Left 2 !.tran 0 10 0 1u startup
    TEXT -2824 792 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -360 1176 Left 2 !.MODEL BCM847BS NPN IS = 1.822E-14 NF = 0.9932 ISE= 2.894E-16 NE = 1.4 \n+ BF = 324.4 IKF = 0.109 VAF = 82 NR
    = 0.9931 ISC = 9.982E-12 NC = 1.763 \n+ BR = 8.29 IKR = 0.09 VAR = 17.9 RB = 10 IRB = 5E-06 RBM = 5 RE = 0.649 \n+ RC = 0.7014 CJE =
    1.244E-11 VJE = 0.7579 MJE = 0.3656 TF = 4.908E-10 \n+ XTF = 9.51 VTF = 2.927 ITF = 0.3131 PTF = 0 CJC = 3.347E-12 VJC = 0.5463 \n+
    MJC = 0.391 XCJC = 0.6193 TR = 9E-08 CJS = 0 VJS = 0.75 MJS = 0.333 \n+ XTB = 0 XTI = 3 EG = 1.11 FC = 0.979




    The derived circuit below doesn't seem to have any discernible distortion at all as far as I can tell in an LTSpice FFT.
    Not until you get above about 100KHz where it's 160dB down.


    Best to use the Hanning windows at these levels if you're not already
    doing so.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to All on Sun Apr 6 13:37:39 2025
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    Rats. After I went to bed last night I came up with pretty much exactly
    that circuit - I even worried about having to move Vtap.

    Needless to say, I like it.

    For best performance use the multiplier circuit with differential I/O.
    There is already a suitable drive point at U1 in the circuit.

    Barry Gilbert is the father of the Gilbert multiplier circuit. I'm
    fairly sure he had patents on most of the interesting aspects -
    presumably now expired. I met him once - Analog Devices took him around
    a bunch of their UK customers, including Cambridge Instruments when I
    was working there. He was looking for customers for his RF chips, which
    were amazing, but of no interest to us.

    The derived circuit below doesn't seem to have any discernible distortion at all as far as I can tell in an LTSpice FFT.
    Not until you get above about 100KHz where it's 160dB down.


    Best to use the Hanning windows at these levels if you're not already
    doing so.

    I find the Blackman-Harris option works pretty well. I don't think that
    LTSpice uses long enough words to avoid rounding error problems at the
    -160dB level.

    I used a similar sort of numerical integration routine in my Ph.D. work
    in chemical kinetics in the late 1960's, and had to resort to double and
    triple precision arithmetic to avoid rounding error problems. The IBM
    7040/44 that I was running my Fortran programs on was pretty primitive
    machine by today's standards, with discrete transistor logic.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to All on Sun Apr 6 23:40:45 2025
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>> gain block after the integrator and adjust it's gain until the startup >>>>>>>> is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed
    maximum difference in base-emitter voltages (at the same emitter
    current). Edward Rawde's Nexperia BCM61B dual part has matched current
    gain, but no guarantee on the Vbe. The Nexperia BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control
    circuit doesn't have to waste output swing coping with part-to-part
    variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any
    Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone
    AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced by the four
    rectifier diodes D2, D12, D13 and D14. In this version of the circuit
    the rectifiers knock about 0.6 volts off a sine wave that peaks at 3.8V,
    about a quarter of the 15V rail. I haven't run the numbers to fix the
    best number of diodes, but something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the
    fundamental, but the seventh is only 85dB down.

    Version 4
    SHEET 1 3020 2548
    WIRE -240 -256 -608 -256
    WIRE 480 -256 -160 -256
    WIRE -608 -144 -608 -256
    WIRE -240 -144 -608 -144
    WIRE 80 -144 -160 -144
    WIRE -608 -16 -608 -144
    WIRE -496 -16 -608 -16
    WIRE -352 -16 -416 -16
    WIRE -272 -16 -352 -16
    WIRE -112 -16 -192 -16
    WIRE -64 -16 -112 -16
    WIRE 80 -16 80 -144
    WIRE 80 -16 0 -16
    WIRE 144 -16 80 -16
    WIRE 288 -16 224 -16
    WIRE 336 -16 288 -16
    WIRE 480 -16 480 -256
    WIRE 480 -16 400 -16
    WIRE -976 0 -1024 0
    WIRE -848 0 -912 0
    WIRE -1456 48 -1456 16
    WIRE -1456 48 -1584 48
    WIRE -1584 96 -1584 48
    WIRE -1456 96 -1456 48
    WIRE -608 96 -608 -16
    WIRE -496 96 -608 96
    WIRE -112 96 -112 -16
    WIRE -64 96 -112 96
    WIRE 288 96 288 -16
    WIRE 336 96 288 96
    WIRE -1024 112 -1024 0
    WIRE -976 112 -1024 112
    WIRE -848 112 -848 0
    WIRE -848 112 -896 112
    WIRE -352 112 -352 -16
    WIRE -352 112 -432 112
    WIRE 80 112 80 -16
    WIRE 80 112 0 112
    WIRE 480 112 480 -16
    WIRE 480 112 400 112
    WIRE 512 112 480 112
    WIRE -496 128 -608 128
    WIRE -64 128 -96 128
    WIRE 336 128 304 128
    WIRE -96 160 -96 128
    WIRE 304 160 304 128
    WIRE -1456 224 -1456 176
    WIRE -1168 224 -1456 224
    WIRE -1024 224 -1024 112
    WIRE -1024 224 -1104 224
    WIRE -960 224 -1024 224
    WIRE -848 240 -848 112
    WIRE -848 240 -896 240
    WIRE -816 240 -848 240
    WIRE -736 240 -752 240
    WIRE -608 240 -608 128
    WIRE -608 240 -656 240
    WIRE -528 240 -608 240
    WIRE -112 240 -448 240
    WIRE 80 240 80 112
    WIRE 80 240 -112 240
    WIRE -1776 256 -1776 224
    WIRE -1776 256 -1824 256
    WIRE -1456 256 -1456 224
    WIRE -960 256 -1024 256
    WIRE -1824 272 -1824 256
    WIRE -1776 288 -1776 256
    WIRE -1024 288 -1024 256
    WIRE -1584 304 -1584 176
    WIRE -1520 304 -1584 304
    WIRE -1584 336 -1584 304
    WIRE 80 336 80 240
    WIRE -1584 432 -1584 400
    WIRE 80 448 80 416
    WIRE 224 448 80 448
    WIRE -1456 464 -1456 352
    WIRE 48 464 16 464
    WIRE 48 496 48 464
    WIRE 80 496 80 448
    WIRE 224 496 224 448
    WIRE -1584 512 -1584 496
    WIRE -1520 512 -1584 512
    WIRE -1136 512 -1232 512
    WIRE -1024 512 -1136 512
    WIRE -832 512 -1024 512
    WIRE -736 512 -832 512
    WIRE -1584 560 -1584 512
    WIRE -1456 592 -1456 560
    WIRE -1376 592 -1456 592
    WIRE -1296 592 -1296 560
    WIRE -1296 592 -1376 592
    WIRE -1136 592 -1136 512
    WIRE -1024 592 -1024 512
    WIRE -832 592 -832 512
    WIRE -736 592 -736 512
    WIRE 64 608 64 560
    WIRE 144 608 64 608
    WIRE 224 608 224 576
    WIRE 224 608 144 608
    WIRE -1776 624 -1776 560
    WIRE -352 656 -352 112
    WIRE -112 656 -112 240
    WIRE 64 656 64 608
    WIRE 480 656 480 112
    WIRE -1024 704 -1024 656
    WIRE -832 704 -832 672
    WIRE -736 720 -736 672
    WIRE -1776 736 -1776 704
    WIRE -1776 736 -1888 736
    WIRE -1376 736 -1376 592
    WIRE -352 752 -352 720
    WIRE -112 752 -112 720
    WIRE 64 752 64 720
    WIRE 480 752 480 720
    WIRE -1888 768 -1888 736
    WIRE -1776 784 -1776 736
    WIRE -1440 784 -1776 784
    WIRE -928 832 -1024 832
    WIRE -784 832 -864 832
    WIRE -1776 848 -1776 784
    WIRE -1888 864 -1888 832
    WIRE -352 880 -352 832
    WIRE -112 880 -112 832
    WIRE -112 880 -352 880
    WIRE 64 880 64 832
    WIRE 64 880 -112 880
    WIRE 144 880 64 880
    WIRE 480 880 480 832
    WIRE 480 880 144 880
    WIRE -352 928 -352 880
    WIRE 144 928 144 880
    WIRE -1024 944 -1024 832
    WIRE -1008 944 -1024 944
    WIRE -912 944 -944 944
    WIRE -784 944 -784 832
    WIRE -784 944 -832 944
    WIRE -1376 992 -1376 832
    WIRE -1264 992 -1376 992
    WIRE -1776 1008 -1776 928
    WIRE 144 1024 144 992
    WIRE -1264 1040 -1264 992
    WIRE -784 1056 -784 944
    WIRE -784 1056 -848 1056
    WIRE -352 1056 -352 1008
    WIRE -352 1056 -784 1056
    WIRE -1136 1072 -1136 672
    WIRE -1024 1072 -1024 944
    WIRE -1024 1072 -1136 1072
    WIRE -912 1072 -1024 1072
    WIRE -784 1088 -848 1088
    WIRE -1376 1120 -1376 992
    WIRE -784 1120 -784 1088
    WIRE -352 1136 -352 1056
    WIRE -16 1136 -352 1136
    WIRE 512 1136 64 1136
    WIRE -1264 1152 -1264 1120
    WIRE -256 1264 -288 1264
    WIRE -160 1264 -192 1264
    WIRE -64 1264 -96 1264
    WIRE 64 1264 0 1264
    WIRE 160 1264 128 1264
    WIRE 256 1264 224 1264
    WIRE 352 1264 320 1264
    WIRE 512 1264 512 1136
    WIRE 512 1264 416 1264
    WIRE -1376 1296 -1376 1200
    WIRE -1264 1296 -1264 1216
    WIRE -352 1312 -352 1264
    FLAG -96 160 0
    FLAG 304 160 0
    FLAG 512 112 vout
    FLAG -880 1040 vcc
    FLAG -1776 1008 vee
    FLAG -1824 272 0
    FLAG -1776 144 vcc
    FLAG -1776 368 vee
    FLAG -464 80 vcc
    FLAG -464 144 vee
    FLAG -32 80 vcc
    FLAG -32 144 vee
    FLAG 368 80 vcc
    FLAG 368 144 vee
    FLAG 16 464 0
    FLAG 96 528 vcc
    FLAG 32 528 vee
    FLAG -1776 560 0
    FLAG -928 208 vcc
    FLAG -928 272 vee
    FLAG -1024 288 0
    FLAG -784 1120 0
    FLAG -1888 864 0
    FLAG -352 1312 vee
    FLAG 144 1024 0
    FLAG -1584 560 0
    FLAG -832 704 0
    FLAG -1376 1296 vee
    FLAG -1264 1296 vtap
    FLAG -1456 16 vcc
    FLAG 144 608 vtap
    FLAG -880 1104 vee
    FLAG -1296 464 vcc
    FLAG -1024 704 0
    FLAG -736 720 vee
    SYMBOL res -400 -32 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res -176 -32 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 240 -32 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 0 -32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 400 -32 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res -144 -272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res -144 -128 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL res 80 1120 R90
    WINDOW 0 5 56 VBottom 2
    WINDOW 3 27 56 VTop 2
    SYMATTR InstName R10
    SYMATTR Value 390k
    SYMBOL diode -288 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL res -368 912 R0
    SYMATTR InstName R11
    SYMATTR Value 40.2K
    SYMBOL res 240 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res 96 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -336 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode -96 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode 48 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 496 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -368 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res -128 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res 80 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 464 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL voltage -1776 128 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -1776 272 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL OpAmps\\LT1679 -464 112 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 -32 112 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 368 112 R0
    SYMATTR InstName U8
    SYMBOL res -432 224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -640 224 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL cap -752 224 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -928 960 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 75k
    SYMBOL cap -944 928 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 64 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL res -1792 944 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R32
    SYMATTR Value 12k
    SYMBOL res -1792 720 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R33
    SYMATTR Value 3k3
    SYMBOL cap -1104 208 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C12
    SYMATTR Value 1000n
    SYMBOL res -880 96 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R7
    SYMATTR Value 20K
    SYMBOL cap -912 -16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 10p
    SYMBOL OpAmps\\LT1679 -928 240 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -880 1072 M0
    SYMATTR InstName U3
    SYMBOL cap -1872 768 M0
    SYMATTR InstName C9
    SYMATTR Value 100n
    SYMBOL cap 128 928 R0
    SYMATTR InstName C10
    SYMATTR Value 100n
    SYMBOL npn -1232 464 M0
    WINDOW 3 -176 -16 Left 2
    SYMATTR InstName Q1B
    SYMATTR Value NSS40301MDR2G
    SYMBOL npn -1520 464 R0
    WINDOW 3 -78 157 Left 2
    SYMATTR InstName Q1A
    SYMATTR Value NSS40301MDR2G
    SYMBOL res -816 576 M0
    SYMATTR InstName R21
    SYMATTR Value 100
    SYMBOL res -1152 688 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R22
    SYMATTR Value 100K
    SYMBOL res -1392 1104 R0
    SYMATTR InstName R23
    SYMATTR Value 120K
    SYMBOL res -1280 1136 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R24
    SYMATTR Value 2.7Meg
    SYMBOL cap -1280 1216 M180
    WINDOW 0 24 56 Left 2
    WINDOW 3 24 8 Left 2
    SYMATTR InstName C11
    SYMATTR Value 100n
    SYMBOL res -1472 80 R0
    SYMATTR InstName R26
    SYMATTR Value 100k
    SYMBOL npn -1440 736 R0
    SYMATTR InstName Q3
    SYMATTR Value 2N3904
    SYMBOL cap -1040 592 R0
    SYMATTR InstName C6
    SYMATTR Value 10n
    SYMBOL res -752 576 R0
    SYMATTR InstName R12
    SYMATTR Value 75k
    SYMBOL diode -1568 432 M0
    SYMATTR InstName D3
    SYMATTR Value 1N914
    SYMBOL diode -1568 336 M0
    SYMATTR InstName D4
    SYMATTR Value 1N914
    SYMBOL npn -1520 256 R0
    SYMATTR InstName Q1
    SYMATTR Value 2N3904
    SYMBOL res -1600 80 R0
    SYMATTR InstName R17
    SYMATTR Value 100k
    SYMBOL cap -864 816 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL diode -192 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D5
    SYMATTR Value 1N914
    SYMBOL diode -96 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D6
    SYMATTR Value 1N914
    SYMBOL diode 0 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D7
    SYMATTR Value 1N914
    SYMBOL diode 128 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D9
    SYMATTR Value 1N914
    SYMBOL diode 224 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D10
    SYMATTR Value 1N914
    SYMBOL diode 320 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D11
    SYMATTR Value 1N914
    SYMBOL diode 416 1248 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName D15
    SYMATTR Value 1N914
    TEXT -1512 -152 Left 2 !.tran 0 20 0 startup
    TEXT -1512 -208 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -2208 1096 Left 2 !.MODEL NSS40301MDR2G NPN\n+is=6.87023e-12
    bf=445.496 nf=1.08926 vaf=60.529\n+ikf=7.23313 ise=2.38192e-09 ne=4 br=23.6872\n+nr=1.10701 var=8.89608 ikr=1.25064 isc=1e-16 \n+nc=1.13174 rb=905.334,irb=2.30349e-07 rbm=1e-10\n+re=0.00600548 rc=0.0300274
    xtb=1.2219 xti=4,\n+eg=1.05 cje=3.80477e-10 vje=0.912237 mje=0.397194,\n+tf=5.90916e-10,xtf=0.0998483,vtf=7.09172,itf=0.010481,\n+cjc=8.35472e-11
    vjc=0.702862 mjc=0.43477 xcjc=0.899998,\n+fc=0.414631 cjs=0 vjs=0.75
    mjs=0.5 \n+tr=5.64658e-08 ptf=0,kf=0 af=1

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Sun Apr 6 10:39:21 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>>> gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB performance)
    you told me it was nuts.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Mon Apr 7 02:33:13 2025
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6 >>>>>>>>>> gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think >>>>> you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion.
    Having an armoury of different circuits to try when you finally get
    around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang
    amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a
    rectified output than a simple series diode - I've posted circuits which incorporate precision rectifiers which get rid of the forward drop
    through the diode, and I've built circuits that used synchronous
    rectifiers built around transmission gates where the output isn't
    shifted by a temperature dependent diode drop. It went into a GaAs
    single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that
    aspect of the design you posted, which probably counts as being hostile,
    but I am hostile to ill-thought out designs, hard though it is to get
    the design time to sort them out. I've got stuck with sorting out other
    peoples half-baked designs often enough, but only after my bosses had
    had their noses rubbed in the unfortunate consequences.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Sun Apr 6 13:25:37 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following. >>>>>>>>> Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think >>>>>> you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your >>>> circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had to use
    7915 for that.....


    --
    Bill Sloman, Sydney


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Mon Apr 7 16:53:47 2025
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought >>>>>>>>> under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think >>>>>>> you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your >>>>> circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of >>>>> them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had to use
    7915 for that.....

    What he should have said was the you were messing up the ground returns
    by hooking up the +15V output of the second 7815 to the 0V rail.

    He was avoiding spending a long time talking about grounding and
    shielding, which is a rather specialised subject.

    In this particular thread your eight transistor is bonkers, but it
    works - not that I can see how. John May could see how it worked, and
    how it could be simplified to four transistors - and eventually down
    to two matched pairs. He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    I like the long-tailed pair approach myself - I can see exactly how it
    works - but it's probably worth my time to work out exactly how the four transistor circuit actually works, and why it seems to offer lower
    distortion in LTSpice simulations. It's not the kind of project that
    anybody would fund, and the chance that I'd learn anything interesting
    is remote, but I'm not swamped with work at the moment.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Mon Apr 7 09:10:59 2025
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think >>>>>>>> you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>> output by directly driving the bases rather than indirectly as in your >>>>>> circuit. The following link shows one example topology, and a four >>>>>> quadrant differential I/O version. Compare the linearity of each of >>>>>> them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when you
    finally get around to building and testing something real may be useful. >>>
    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to the 0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it
    works - not that I can see how.

    Seems pretty obvious to me how it works Bill.
    If I didn't know how it was intended to work then it almost certainly would not work.
    I'm surprised that you can't see how it works.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion.
    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use thermistors,
    lamps, opto devices or FETs.


    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out exactly
    how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations. It's not the
    kind of project that anybody would fund, and the chance that I'd learn anything interesting is remote

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    I've learned a lot and will continue to do so.

    , but I'm not swamped with work at the moment.

    There are other things I should be doing but analogue circuit design has a certain attraction, particularly when assisted by someone
    as capable as JM.


    --
    Bill Sloman, Sydney



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Edward Rawde on Mon Apr 7 22:46:13 2025
    "Edward Rawde" <[email protected]d> wrote in message news:vsso97$1imi$[email protected]...
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.
    ....

    Here's an almost fully practical circuit except for the current sources and sinks.

    Version 4.1
    SHEET 1 3020 2548
    WIRE -1856 -336 -1952 -336
    WIRE -1728 -336 -1792 -336
    WIRE -1952 -224 -1952 -336
    WIRE -1872 -224 -1952 -224
    WIRE -1728 -224 -1728 -336
    WIRE -1728 -224 -1792 -224
    WIRE -432 -224 -800 -224
    WIRE 288 -224 -352 -224
    WIRE -1456 -144 -1520 -144
    WIRE -2624 -112 -2624 -128
    WIRE -2144 -112 -2144 -128
    WIRE -1952 -112 -1952 -224
    WIRE -1856 -112 -1952 -112
    WIRE -1520 -112 -1520 -144
    WIRE -1728 -96 -1728 -224
    WIRE -1728 -96 -1792 -96
    WIRE -1456 -96 -1456 -144
    WIRE -800 -96 -800 -224
    WIRE -432 -96 -800 -96
    WIRE -112 -96 -352 -96
    WIRE -1856 -80 -1888 -80
    WIRE -1888 -48 -1888 -80
    WIRE -1728 0 -1728 -96
    WIRE -1664 0 -1728 0
    WIRE -1520 0 -1520 -32
    WIRE -1520 0 -1584 0
    WIRE -2144 32 -2144 -32
    WIRE -2144 32 -2496 32
    WIRE -1952 32 -1952 -112
    WIRE -1952 32 -2144 32
    WIRE -800 32 -800 -96
    WIRE -688 32 -800 32
    WIRE -544 32 -608 32
    WIRE -464 32 -544 32
    WIRE -304 32 -384 32
    WIRE -256 32 -304 32
    WIRE -112 32 -112 -96
    WIRE -112 32 -192 32
    WIRE -48 32 -112 32
    WIRE 96 32 32 32
    WIRE 144 32 96 32
    WIRE 288 32 288 -224
    WIRE 288 32 208 32
    WIRE -1520 64 -1520 0
    WIRE -1456 64 -1520 64
    WIRE -1888 80 -1888 48
    WIRE -1856 80 -1888 80
    WIRE -1312 80 -1392 80
    WIRE -1216 80 -1312 80
    WIRE -992 80 -1152 80
    WIRE -1728 96 -1792 96
    WIRE -1664 96 -1728 96
    WIRE -1520 96 -1584 96
    WIRE -1456 96 -1520 96
    WIRE -2624 112 -2624 -32
    WIRE -2272 112 -2624 112
    WIRE -1952 112 -2272 112
    WIRE -1856 112 -1952 112
    WIRE -800 144 -800 32
    WIRE -688 144 -800 144
    WIRE -304 144 -304 32
    WIRE -256 144 -304 144
    WIRE 96 144 96 32
    WIRE 144 144 96 144
    WIRE -544 160 -544 32
    WIRE -544 160 -624 160
    WIRE -112 160 -112 32
    WIRE -112 160 -192 160
    WIRE 288 160 288 32
    WIRE 288 160 208 160
    WIRE -688 176 -800 176
    WIRE -256 176 -288 176
    WIRE 144 176 112 176
    WIRE -1520 208 -1520 96
    WIRE -1456 208 -1520 208
    WIRE -1312 208 -1312 80
    WIRE -1312 208 -1376 208
    WIRE -288 208 -288 176
    WIRE 112 208 112 176
    WIRE 288 208 288 160
    WIRE 512 208 288 208
    WIRE 560 208 512 208
    WIRE -2624 224 -2624 112
    WIRE -2496 224 -2496 32
    WIRE -2272 224 -2272 112
    WIRE -2144 224 -2144 32
    WIRE -1952 224 -1952 112
    WIRE -1872 224 -1952 224
    WIRE -1728 224 -1728 96
    WIRE -1728 224 -1792 224
    WIRE -2688 272 -2720 272
    WIRE -2384 272 -2432 272
    WIRE -2336 272 -2384 272
    WIRE -2048 272 -2080 272
    WIRE -992 288 -992 80
    WIRE -928 288 -992 288
    WIRE -800 288 -800 176
    WIRE -800 288 -848 288
    WIRE -720 288 -800 288
    WIRE -304 288 -640 288
    WIRE -112 288 -112 160
    WIRE -112 288 -304 288
    WIRE -2720 304 -2720 272
    WIRE -2048 320 -2048 272
    WIRE -1952 320 -1952 224
    WIRE -1856 320 -1952 320
    WIRE -1728 320 -1728 224
    WIRE -1728 320 -1792 320
    WIRE -112 336 -112 288
    WIRE -2624 352 -2624 320
    WIRE -2560 352 -2624 352
    WIRE -2496 352 -2496 320
    WIRE -2496 352 -2560 352
    WIRE -2272 352 -2272 320
    WIRE -2208 352 -2272 352
    WIRE -2144 352 -2144 320
    WIRE -2144 352 -2208 352
    WIRE -2384 416 -2384 272
    WIRE -2064 416 -2384 416
    WIRE -1904 416 -1984 416
    WIRE -1120 416 -1904 416
    WIRE -2384 432 -2384 416
    WIRE -112 448 -112 416
    WIRE 32 448 -112 448
    WIRE -144 464 -176 464
    WIRE -144 496 -144 464
    WIRE -112 496 -112 448
    WIRE 32 496 32 448
    WIRE -2384 544 -2384 512
    WIRE -1776 544 -1888 544
    WIRE -304 560 -304 288
    WIRE -304 560 -1680 560
    WIRE -1888 576 -1888 544
    WIRE -1968 592 -2800 592
    WIRE -1776 592 -1776 544
    WIRE -128 608 -128 560
    WIRE 32 608 32 576
    WIRE 32 608 -128 608
    WIRE -128 624 -128 608
    WIRE -128 624 -1632 624
    WIRE -2560 640 -2560 352
    WIRE -2208 640 -2208 352
    WIRE -544 656 -544 160
    WIRE -304 656 -304 560
    WIRE -128 656 -128 624
    WIRE 288 656 288 208
    WIRE -3040 672 -3040 640
    WIRE -3040 672 -3088 672
    WIRE -2800 672 -2800 592
    WIRE -2736 672 -2800 672
    WIRE -2064 672 -2064 656
    WIRE -1968 672 -1968 592
    WIRE -1968 672 -2032 672
    WIRE -1888 672 -1888 656
    WIRE -1888 672 -1968 672
    WIRE -3088 688 -3088 672
    WIRE -2624 688 -2672 688
    WIRE -2096 688 -2144 688
    WIRE -3040 704 -3040 672
    WIRE -2736 704 -2800 704
    WIRE -1968 704 -2032 704
    WIRE -1888 704 -1888 672
    WIRE -1776 704 -1888 704
    WIRE -1888 720 -1888 704
    WIRE -1776 720 -1776 704
    WIRE -544 752 -544 720
    WIRE -304 752 -304 720
    WIRE -128 752 -128 720
    WIRE 288 752 288 720
    WIRE -1888 832 -1888 800
    WIRE -1776 832 -1776 784
    WIRE -2800 864 -2800 704
    WIRE -2720 864 -2800 864
    WIRE -2560 864 -2560 736
    WIRE -2560 864 -2640 864
    WIRE -2208 864 -2208 736
    WIRE -2128 864 -2208 864
    WIRE -1968 864 -1968 704
    WIRE -1968 864 -2048 864
    WIRE -1120 864 -1120 416
    WIRE -1024 864 -1120 864
    WIRE -864 864 -960 864
    WIRE -656 880 -768 880
    WIRE -544 880 -544 832
    WIRE -544 880 -656 880
    WIRE -304 880 -304 832
    WIRE -304 880 -544 880
    WIRE -128 880 -128 832
    WIRE -128 880 -304 880
    WIRE 288 880 288 832
    WIRE 288 880 -128 880
    WIRE -768 928 -768 880
    WIRE -1120 944 -1120 864
    WIRE -1072 944 -1120 944
    WIRE -960 944 -1008 944
    WIRE -864 944 -864 864
    WIRE -864 944 -880 944
    WIRE -656 944 -656 880
    WIRE -2560 976 -2560 864
    WIRE -2128 976 -2560 976
    WIRE -1920 976 -2048 976
    WIRE -1744 976 -1856 976
    WIRE -1680 976 -1680 560
    WIRE -1680 976 -1744 976
    WIRE -656 1040 -656 1008
    WIRE -864 1056 -864 944
    WIRE -864 1056 -944 1056
    WIRE -768 1056 -768 1008
    WIRE -768 1056 -864 1056
    WIRE -1120 1072 -1120 944
    WIRE -1008 1072 -1120 1072
    WIRE -2208 1088 -2208 864
    WIRE -2128 1088 -2208 1088
    WIRE -1920 1088 -2048 1088
    WIRE -1744 1088 -1856 1088
    WIRE -1632 1088 -1632 624
    WIRE -1632 1088 -1744 1088
    WIRE -880 1088 -944 1088
    WIRE -768 1104 -768 1056
    WIRE -880 1136 -880 1088
    WIRE -2560 1152 -2560 976
    WIRE -2208 1152 -2208 1088
    WIRE -768 1264 -768 1184
    FLAG -288 208 0
    FLAG 112 208 0
    FLAG -976 1040 vcc
    FLAG -976 1104 vee
    FLAG -656 128 vcc
    FLAG -656 192 vee
    FLAG -224 128 vcc
    FLAG -224 192 vee
    FLAG 176 128 vcc
    FLAG 176 192 vee
    FLAG -176 464 0
    FLAG -96 528 vcc
    FLAG -160 528 vee
    FLAG -768 1264 vee
    FLAG -656 1040 0
    FLAG 512 208 output
    FLAG -2064 720 vcc
    FLAG -2064 656 vee
    FLAG -2208 1232 vee
    FLAG -2560 1232 vee
    FLAG -2384 544 0
    FLAG -2048 320 0
    FLAG -2720 304 0
    FLAG -2144 -128 vcc
    FLAG -2624 -128 vcc
    FLAG -1824 128 vcc
    FLAG -1824 64 vee
    FLAG -1888 48 0
    FLAG -1824 -128 vcc
    FLAG -1824 -64 vee
    FLAG -1888 -48 0
    FLAG -2704 720 vcc
    FLAG -2704 656 vee
    FLAG -1744 1088 vmod+
    FLAG -1904 416 vgain
    FLAG -880 1136 0
    FLAG -3088 688 0
    FLAG -3040 560 vcc
    FLAG -3040 784 vee
    FLAG -1776 592 0
    FLAG -1888 832 vee
    FLAG -1776 832 0
    FLAG -1424 112 vcc
    FLAG -1424 48 vee
    FLAG -1456 -96 0
    FLAG -1744 976 vmod-
    SYMBOL res -592 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res -368 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 48 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap -192 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 208 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res -336 -240 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res -336 -80 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R5
    SYMATTR Value 82k
    SYMBOL cap -960 848 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1000n
    SYMBOL res -784 1200 M180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R10
    SYMATTR Value 820k
    SYMBOL res -784 912 R0
    SYMATTR InstName R11
    SYMATTR Value 47k
    SYMBOL res 48 592 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R18
    SYMATTR Value 10K
    SYMBOL res -96 432 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R19
    SYMATTR Value 10k
    SYMBOL diode -528 656 M0
    SYMATTR InstName D2
    SYMATTR Value 1N914
    SYMBOL diode -288 656 M0
    SYMATTR InstName D12
    SYMATTR Value 1N914
    SYMBOL diode -144 656 R0
    SYMATTR InstName D13
    SYMATTR Value 1N914
    SYMBOL diode 304 656 M0
    SYMATTR InstName D14
    SYMATTR Value 1N914
    SYMBOL res -560 736 R0
    SYMATTR InstName R13
    SYMATTR Value 68k
    SYMBOL res -320 736 R0
    SYMATTR InstName R14
    SYMATTR Value 68k
    SYMBOL res -112 736 M0
    SYMATTR InstName R15
    SYMATTR Value 68k
    SYMBOL res 272 736 R0
    SYMATTR InstName R16
    SYMATTR Value 68k
    SYMBOL OpAmps\\LT1679 -656 160 R0
    SYMATTR InstName U5
    SYMBOL OpAmps\\LT1679 -224 160 R0
    SYMATTR InstName U6
    SYMBOL OpAmps\\LT1679 176 160 R0
    SYMATTR InstName U8
    SYMBOL res -624 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R8
    SYMATTR Value 10k
    SYMBOL res -832 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R9
    SYMATTR Value 560
    SYMBOL res -976 960 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R6
    SYMATTR Value 47k
    SYMBOL cap -1008 928 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10000n
    SYMBOL OpAmps\\LT1679 -128 528 R90
    WINDOW 3 37 22 VRight 2
    SYMATTR InstName U1
    SYMBOL cap -1856 1072 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C6
    SYMATTR Value 1000n
    SYMBOL OpAmps\\LT1679 -976 1072 M0
    SYMATTR InstName U3
    SYMBOL res -2144 848 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R23
    SYMATTR Value 1k
    SYMBOL npn -2144 640 M0
    SYMATTR InstName Q4
    SYMATTR Value 2N3904
    SYMBOL res -2144 1072 M90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R24
    SYMATTR Value 540K
    SYMBOL current -2208 1152 M0
    SYMATTR InstName I1
    SYMATTR Value 1m
    SYMBOL res -2032 960 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R26
    SYMATTR Value 540K
    SYMBOL current -2560 1152 R0
    SYMATTR InstName I2
    SYMATTR Value 1m
    SYMBOL res -2368 416 M0
    SYMATTR InstName R27
    SYMATTR Value 10
    SYMBOL res -1968 432 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R30
    SYMATTR Value 3K
    SYMBOL current -2144 -112 M0
    SYMATTR InstName I3
    SYMATTR Value 650u
    SYMBOL current -2624 -112 M0
    SYMATTR InstName I4
    SYMATTR Value 650u
    SYMBOL res -1776 240 M270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R31
    SYMATTR Value 1k
    SYMBOL res -1776 -240 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R34
    SYMATTR Value 1k
    SYMBOL cap -1792 304 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C13
    SYMATTR Value 33p
    SYMBOL npn -2080 224 M0
    SYMATTR InstName Q2B
    SYMATTR Value BCM847BS
    SYMBOL npn -2432 224 M0
    SYMATTR InstName Q2A
    SYMATTR Value BCM847BS
    SYMBOL npn -2336 224 R0
    WINDOW 3 -12 151 Left 2
    SYMATTR Value BCM847BS
    SYMATTR InstName Q1B
    SYMBOL npn -2688 224 R0
    WINDOW 3 -86 124 Left 2
    SYMATTR Value BCM847BS
    SYMATTR InstName Q1A
    SYMBOL res -2624 848 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R35
    SYMATTR Value 1k
    SYMBOL npn -2624 640 R0
    SYMATTR InstName Q3
    SYMATTR Value 2N3904
    SYMBOL cap -1792 -352 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C14
    SYMATTR Value 33p
    SYMBOL voltage -3040 544 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V3
    SYMATTR Value 15
    SYMBOL voltage -3040 688 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value 15
    SYMBOL cap -672 944 R0
    SYMATTR InstName C8
    SYMATTR Value 1000n
    SYMBOL res -1904 704 R0
    SYMATTR InstName R17
    SYMATTR Value 10k
    SYMBOL res -1904 560 R0
    SYMATTR InstName R20
    SYMATTR Value 5k
    SYMBOL cap -1792 720 R0
    SYMATTR InstName C10
    SYMATTR Value 10n
    SYMBOL OpAmps\\LT1679 -1424 80 M180
    SYMATTR InstName U4
    SYMBOL res -1360 192 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R21
    SYMATTR Value 12.5k
    SYMBOL res -1568 80 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R22
    SYMATTR Value 1k
    SYMBOL res -1568 -16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R25
    SYMATTR Value 1k
    SYMBOL res -1504 -16 R180
    WINDOW 0 36 76 Left 2
    WINDOW 3 36 40 Left 2
    SYMATTR InstName R28
    SYMATTR Value 12.5k
    SYMBOL cap -1152 64 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C11
    SYMATTR Value 1000n
    SYMBOL OpAmps\\LT1679 -1824 -96 R0
    WINDOW 3 -100 -54 Left 2
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 -1824 96 M180
    SYMATTR InstName U9
    SYMBOL OpAmps\\LT1679 -2704 688 M180
    WINDOW 3 18 51 Left 2
    SYMATTR InstName U10
    SYMBOL OpAmps\\LT1679 -2064 688 R180
    WINDOW 3 16 46 Left 2
    SYMATTR InstName U7
    SYMBOL cap -1856 960 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C5
    SYMATTR Value 1000n
    TEXT -3288 368 Left 2 !.tran 0 10 0 1u startup
    TEXT -3288 312 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT -552 1176 Left 2 !.MODEL BCM847BS NPN IS = 1.822E-14 NF = 0.9932 ISE= 2.894E-16 NE = 1.4 \n+ BF = 324.4 IKF = 0.109 VAF = 82 NR
    = 0.9931 ISC = 9.982E-12 NC = 1.763 \n+ BR = 8.29 IKR = 0.09 VAR = 17.9 RB = 10 IRB = 5E-06 RBM = 5 RE = 0.649 \n+ RC = 0.7014 CJE =
    1.244E-11 VJE = 0.7579 MJE = 0.3656 TF = 4.908E-10 \n+ XTF = 9.51 VTF = 2.927 ITF = 0.3131 PTF = 0 CJC = 3.347E-12 VJC = 0.5463 \n+
    MJC = 0.391 XCJC = 0.6193 TR = 9E-08 CJS = 0 VJS = 0.75 MJS = 0.333 \n+ XTB = 0 XTI = 3 EG = 1.11 FC = 0.979

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Tue Apr 8 15:14:59 2025
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think >>>>>>>>> you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>>> output by directly driving the bases rather than indirectly as in your >>>>>>> circuit. The following link shows one example topology, and a four >>>>>>> quadrant differential I/O version. Compare the linearity of each of >>>>>>> them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when you
    finally get around to building and testing something real may be useful. >>>>
    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to the 0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it
    works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit
    that still worked. And you haven't made any attempt to explain how it
    does work.

    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work

    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything
    interesting, or to write any kind of useful explanation of what is going
    on. Writing that kind of explanation is usually a necessary part of
    getting a circuit into production. Management needs it before they will
    spend the extra money on document the design for production, and the
    final test technicians and service engineers need it make sure that the
    circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion.

    Which you haven't measured on a real circuit yet. Since you don't seem
    to be all that sensitive to the risks from power supply feedthrough,
    doing that might be painfully educational

    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before,
    it strikes me that the answer is that it's obvious necessary.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out exactly
    how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations. It's not the
    kind of project that anybody would fund, and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    , but I'm not swamped with work at the moment.

    There are other things I should be doing but analogue circuit design has a certain attraction, particularly when assisted by someone
    as capable as JM.

    I doubt if thinks that he is assisting you. Correcting is probably
    closer to the mark.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Tue Apr 8 11:56:57 2025
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps.

    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>>>> output by directly driving the bases rather than indirectly as in your >>>>>>>> circuit. The following link shows one example topology, and a four >>>>>>>> quadrant differential I/O version. Compare the linearity of each of >>>>>>>> them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when you
    finally get around to building and testing something real may be useful. >>>>>
    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it
    works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill. It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work

    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill.
    Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it, it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see. Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion.

    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all.

    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.


    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly
    how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations. It's not the
    kind of project that anybody would fund, and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".


    , but I'm not swamped with work at the moment.

    There are other things I should be doing but analogue circuit design has a certain attraction, particularly when assisted by
    someone
    as capable as JM.

    I doubt if thinks that he is assisting you. Correcting is probably closer to the mark.

    Of course Bill.
    https://www.youtube.com/watch?v=Z9t_KDGqOmE

    I have no doubt that your own circuits never need to be corrected Bill.
    Maybe that's why they are so unnecessarily complex.
    If no-one can see how it works, no-one can correct it.


    --
    Bill Sloman, Sydney



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Tue Apr 8 10:18:23 2025
    On Sat, 5 Apr 2025 10:15:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsqeh2$1emr4$[email protected]...
    On 5/04/2025 1:48 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsq3um$107nb$[email protected]...
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]> >>>>> wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]> >>>>>> wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>>>>>> wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop >>>>>>>>> gain between 0.98 and 1.02. Now measure the amplitude of N cycles and >>>>>>>>> flip the switch if it's too high or too low. Switch at the zero >>>>>>>>> crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>>>>> amplitude ramped up linearly for a bit, and ramped back down again. >>>>>>>>
    Do a DFT on that and you'd have your answer. It wouldn't be good. >>>>>>>>
    (I wouldn't really do that. It's just an idea to play with.)

    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and >>>>>>> play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced >>>>> degrees, are incapable of having ideas, and react by being hostile to >>>>> ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having ideas.

    I am hostile to people who tout bad ideas.

    Don't you think it would be better to just explain why you think an idea is bad Bill?

    I usually do.

    And also, if necessary, to just explain how and why you think it should be done.

    I have been known to do that. You should know - I've done it to you, here, and I'm about to do it to John May whom I really like
    and approve of.

    Being hostile doesn't make you look good and it does the opposite of persuading others that their ideas are bad.

    Few people can ever be persuaded that their ideas are bad. John Larkin definitely isn't one of them.

    So why be hostile at all?

    The same mechanism that persuades people that their bad ideas aren't too bad allows them to gloss over any criticism that isn't
    thoroughly explicit.

    You can be critical without being hostile.


    He can't. He lives to be nasty.

    The super low distortion oscillator thing is just another venue to
    call people stupid. It's a Spice-as-game thing, totally unrealistic in
    real life.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Tue Apr 8 14:41:44 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Mon, 7 Apr 2025 22:46:13 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Edward Rawde" <[email protected]d> wrote in message news:vsso97$1imi$[email protected]...
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.
    ....

    Here's an almost fully practical circuit except for the current sources and sinks.


    I reversed the polarity of the control feedback and applied it to the inverting input of the first oscilllator stage, removed some
    redundant capacitors, and added some filtering to the gain control
    signal. Also altered some gain values to improve the dynamics (but
    that still has to be addressed).

    Most real world designs would use a sample and hold circuit to sample
    the output at it's maximum point and use that to control the feedback, similar to the topology I think I posted a while ago. It might be
    worthwhile looking at that.


    Thanks. That has the lowest distortion I've seen in a simulation so far.

    I can't find the sample/hold circuit you mentioned, would you mind reposting it?

    Thank you for your help with this. It is much appreciated.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Tue Apr 8 20:04:39 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Tue, 8 Apr 2025 14:41:44 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Mon, 7 Apr 2025 22:46:13 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Edward Rawde" <[email protected]d> wrote in message news:vsso97$1imi$[email protected]...
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.
    ....

    Here's an almost fully practical circuit except for the current sources and sinks.


    I reversed the polarity of the control feedback and applied it to the
    inverting input of the first oscilllator stage, removed some
    redundant capacitors, and added some filtering to the gain control
    signal. Also altered some gain values to improve the dynamics (but
    that still has to be addressed).

    Most real world designs would use a sample and hold circuit to sample
    the output at it's maximum point and use that to control the feedback,
    similar to the topology I think I posted a while ago. It might be
    worthwhile looking at that.


    Thanks. That has the lowest distortion I've seen in a simulation so far.

    I can't find the sample/hold circuit you mentioned, would you mind reposting it?

    Thank you for your help with this. It is much appreciated.



    I wouldn't have kept a copy. It would probably be overkill anyway,
    for a fixed frequency, and if the dynamics are not an issue, what you
    already have is more than adequate for any audio use case I can think
    of. You'd probably be better off writing decent spice models for the
    opamp parts you would actually use, and optimizing signal levels in
    the cct as is. Buffering the rectifier parts improve things somewhat.



    Ok thanks for that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Tue Apr 8 21:04:25 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Tue, 8 Apr 2025 14:41:44 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Mon, 7 Apr 2025 22:46:13 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Edward Rawde" <[email protected]d> wrote in message news:vsso97$1imi$[email protected]...
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.
    ....

    Here's an almost fully practical circuit except for the current sources and sinks.


    I reversed the polarity of the control feedback and applied it to the
    inverting input of the first oscilllator stage, removed some
    redundant capacitors, and added some filtering to the gain control
    signal. Also altered some gain values to improve the dynamics (but
    that still has to be addressed).

    Most real world designs would use a sample and hold circuit to sample
    the output at it's maximum point and use that to control the feedback,
    similar to the topology I think I posted a while ago. It might be
    worthwhile looking at that.


    Thanks. That has the lowest distortion I've seen in a simulation so far.

    I can't find the sample/hold circuit you mentioned, would you mind reposting it?

    Thank you for your help with this. It is much appreciated.




    Is the sample/hold circuit the one below?

    After much digging I found it in a very interesting thread started by Bill Sloman on 5th February 2025 "The low distortion
    oscillator problem".

    I can't get it to simulate in 24.1.5
    something to do with unknown parameter in table{-2m,0,2m,1}

    Version 4
    SHEET 1 3020 1316
    WIRE 208 -192 -160 -192
    WIRE 928 -192 288 -192
    WIRE -160 -80 -160 -192
    WIRE 208 -80 -160 -80
    WIRE 528 -80 288 -80
    WIRE -160 32 -160 -80
    WIRE -48 32 -160 32
    WIRE 96 32 32 32
    WIRE 208 32 96 32
    WIRE 336 32 288 32
    WIRE 384 32 336 32
    WIRE 528 32 528 -80
    WIRE 528 32 448 32
    WIRE 608 32 528 32
    WIRE 736 32 688 32
    WIRE 784 32 736 32
    WIRE 928 32 928 -192
    WIRE 928 32 848 32
    WIRE -160 144 -160 32
    WIRE -48 144 -160 144
    WIRE 336 144 336 32
    WIRE 384 144 336 144
    WIRE 736 144 736 32
    WIRE 784 144 736 144
    WIRE -336 160 -336 144
    WIRE -336 160 -400 160
    WIRE 96 160 96 32
    WIRE 96 160 16 160
    WIRE 528 160 528 32
    WIRE 528 160 448 160
    WIRE 928 160 928 32
    WIRE 928 160 848 160
    WIRE 1216 160 928 160
    WIRE -400 176 -400 160
    WIRE -336 176 -336 160
    WIRE -48 176 -160 176
    WIRE 384 176 336 176
    WIRE 784 176 736 176
    WIRE 336 208 336 176
    WIRE 736 208 736 176
    WIRE -160 288 -160 176
    WIRE -64 288 -160 288
    WIRE 528 288 528 160
    WIRE 528 288 16 288
    WIRE 1264 288 528 288
    WIRE -160 368 -160 288
    WIRE 272 400 192 400
    WIRE 416 400 336 400
    WIRE 928 448 928 160
    WIRE 928 448 848 448
    WIRE 192 496 192 400
    WIRE 272 496 192 496
    WIRE 416 496 416 400
    WIRE 416 496 336 496
    WIRE 544 496 496 496
    WIRE 672 496 624 496
    WIRE 1040 512 848 512
    WIRE 1120 512 1040 512
    WIRE 1216 512 1120 512
    WIRE 1040 560 1040 512
    WIRE 1216 560 1216 512
    WIRE 1120 576 1120 512
    WIRE 1264 576 1264 288
    WIRE 192 592 192 496
    WIRE 240 592 192 592
    WIRE 320 592 304 592
    WIRE 416 592 416 496
    WIRE 416 592 400 592
    WIRE -208 640 -240 640
    WIRE -160 640 -160 448
    WIRE -160 640 -208 640
    WIRE 1216 656 1216 640
    WIRE 1264 656 1264 624
    WIRE 1264 656 1216 656
    WIRE 192 672 192 592
    WIRE -240 688 -240 640
    WIRE -160 688 -160 640
    WIRE 1040 688 1040 640
    WIRE 1120 688 1120 640
    WIRE 1216 688 1216 656
    WIRE 416 704 416 592
    WIRE 416 704 336 704
    WIRE 496 704 496 496
    WIRE 496 704 416 704
    WIRE 544 704 496 704
    WIRE 672 704 624 704
    WIRE 928 704 736 704
    WIRE -16 720 -48 720
    WIRE 32 720 -16 720
    WIRE 192 720 192 672
    WIRE 192 720 112 720
    WIRE 272 720 192 720
    WIRE 416 736 336 736
    WIRE -16 768 -16 720
    WIRE 416 768 416 736
    WIRE 928 768 928 704
    WIRE -240 816 -240 768
    WIRE -208 816 -240 816
    WIRE -160 816 -160 768
    WIRE -160 816 -208 816
    WIRE -160 864 -160 816
    WIRE -16 864 -16 832
    FLAG 336 208 0
    FLAG 736 208 0
    FLAG -400 176 0
    FLAG -336 64 vcc
    FLAG -336 256 vee
    FLAG 1216 160 vout
    FLAG 192 672 vx
    FLAG -208 640 vt
    FLAG -208 816 vb
    FLAG -160 864 0
    FLAG -16 864 0
    FLAG 1216 688 0
    FLAG 1120 688 0
    FLAG 1040 688 0
    FLAG 416 768 0
    FLAG 928 848 0
    FLAG -16 128 vcc
    FLAG -16 192 vee
    FLAG 416 128 vcc
    FLAG 416 192 vee
    FLAG 816 128 vcc
    FLAG 816 192 vee
    FLAG 304 688 vcc
    FLAG 304 752 vee
    FLAG -48 720 vg
    FLAG 928 704 vc
    SYMBOL res 48 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R1
    SYMATTR Value 10K
    SYMBOL res 304 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R2
    SYMATTR Value 16K
    SYMBOL res 704 16 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R3
    SYMATTR Value 16K
    SYMBOL cap 448 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C1
    SYMATTR Value 10n
    SYMBOL cap 848 16 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C2
    SYMATTR Value 10n
    SYMBOL res 304 -208 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R4
    SYMATTR Value 10K
    SYMBOL res 304 -96 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R5
    SYMATTR Value 800k
    SYMBOL res 32 272 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R6
    SYMATTR Value 30k
    SYMBOL res -176 352 R0
    SYMATTR InstName R7
    SYMATTR Value 100
    SYMBOL voltage -336 48 R0
    SYMATTR InstName V1
    SYMATTR Value 15
    SYMBOL voltage -336 160 R0
    SYMATTR InstName V2
    SYMATTR Value 15
    SYMBOL cap 336 480 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C3
    SYMATTR Value 1u
    SYMBOL res 528 720 R270
    WINDOW 0 32 56 VTop 2
    WINDOW 3 0 56 VBottom 2
    SYMATTR InstName R10
    SYMATTR Value 47k
    SYMBOL cap 304 576 R90
    WINDOW 0 0 32 VBottom 2
    WINDOW 3 32 32 VTop 2
    SYMATTR InstName C4
    SYMATTR Value 10u
    SYMBOL res 416 576 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R12
    SYMATTR Value 22k
    SYMBOL res -224 672 M0
    SYMATTR InstName R8
    SYMATTR Value 10Meg
    SYMBOL res 640 480 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R13
    SYMATTR Value 47k
    SYMBOL res 128 704 R90
    WINDOW 0 0 56 VBottom 2
    WINDOW 3 32 56 VTop 2
    SYMATTR InstName R11
    SYMATTR Value 1k
    SYMBOL g 1216 544 M0
    WINDOW 3 -255 133 Left 2
    SYMATTR Value table{-2m,0,2m,1}
    SYMATTR InstName G1
    SYMBOL cap 1136 576 M0
    SYMATTR InstName C7
    SYMATTR Value 2p
    SYMBOL res 1056 544 M0
    SYMATTR InstName R14
    SYMATTR Value 1
    SYMBOL SpecialFunctions\\sample 768 480 M0
    SYMATTR InstName A1
    SYMBOL cap -32 768 R0
    SYMATTR InstName C8
    SYMATTR Value 10u
    SYMBOL voltage 928 752 R0
    WINDOW 123 0 0 Left 0
    WINDOW 39 0 0 Left 0
    SYMATTR InstName V4
    SYMATTR Value PWL(0 0 3 -6)
    SYMBOL OpAmps\\LT1679 -16 160 R0
    SYMATTR InstName U1
    SYMBOL OpAmps\\LT1679 416 160 R0
    SYMATTR InstName U2
    SYMBOL OpAmps\\LT1679 816 160 R0
    SYMATTR InstName U3
    SYMBOL OpAmps\\LT1679 304 720 M0
    SYMATTR InstName U4
    SYMBOL bi -160 688 R0
    WINDOW 3 -236 218 Left 2
    SYMATTR Value I={v(vt,vb)/(-100*limit(-1m,v(vg)-0.7,-15))}
    SYMATTR InstName B1
    SYMBOL diode 672 720 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName D1
    SYMATTR Value 1N914
    SYMBOL diode 272 416 R270
    WINDOW 0 32 32 VTop 2
    WINDOW 3 0 32 VBottom 2
    SYMATTR InstName D2
    SYMATTR Value 1N914
    TEXT 1048 -104 Left 2 !.tran 0 5 0 1u startup
    TEXT 1048 -128 Left 2 !.options plotwinsize=0 numdgt=15
    TEXT 1056 -80 Left 2 !.save v(vout) v(vg) v(vc)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to john larkin on Wed Apr 9 14:37:47 2025
    On 9/04/2025 3:18 am, john larkin wrote:
    On Sat, 5 Apr 2025 10:15:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsqeh2$1emr4$[email protected]...
    On 5/04/2025 1:48 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsq3um$107nb$[email protected]...
    On 5/04/2025 5:32 am, john larkin wrote:
    On Fri, 04 Apr 2025 18:03:19 +0100, Cursitor Doom <[email protected]> >>>>>> wrote:

    On Thu, 03 Apr 2025 13:08:20 -0700, john larkin <[email protected]> >>>>>>> wrote:

    On Fri, 4 Apr 2025 05:14:44 +1100, Bill Sloman <[email protected]> >>>>>>>> wrote:

    On 4/04/2025 4:02 am, john larkin wrote:
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a large
    capacitor.

    What I have so far is below.

    Any comments?

    Suppose you built an oscillator and had a switch that varied the loop
    gain between 0.98 and 1.02. Now measure the amplitude of N cycles and
    flip the switch if it's too high or too low. Switch at the zero >>>>>>>>>> crossing.

    I wonder what distortion would be like.

    Why not measure it? LTSpice could probably give you a sine wave whose >>>>>>>>> amplitude ramped up linearly for a bit, and ramped back down again. >>>>>>>>>
    Do a DFT on that and you'd have your answer. It wouldn't be good. >>>>>>>>>
    (I wouldn't really do that. It's just an idea to play with.) >>>>>>>>>
    Only if you don't know what you are talking about.

    An idea is like a cute baby puppy. Some people want to feed it and >>>>>>>> play with it and some people want to club it to death.

    "Please don't feed the troll."

    The point here is that some people, especially fatheads with advanced >>>>>> degrees, are incapable of having ideas, and react by being hostile to >>>>>> ideas and to people who have them.

    I've got my name three patents, so I'm demonstrably capable of having ideas.

    I am hostile to people who tout bad ideas.

    Don't you think it would be better to just explain why you think an idea is bad Bill?

    I usually do.

    And also, if necessary, to just explain how and why you think it should be done.

    I have been known to do that. You should know - I've done it to you, here, and I'm about to do it to John May whom I really like
    and approve of.

    Being hostile doesn't make you look good and it does the opposite of persuading others that their ideas are bad.

    Few people can ever be persuaded that their ideas are bad. John Larkin definitely isn't one of them.

    So why be hostile at all?

    The same mechanism that persuades people that their bad ideas aren't too bad allows them to gloss over any criticism that isn't
    thoroughly explicit.

    You can be critical without being hostile.

    He can't. He lives to be nasty.

    Not flattering John Larkin is being nasty, from John Larkin's point of view.

    The super low distortion oscillator thing is just another venue to
    call people stupid. It's a Spice-as-game thing, totally unrealistic in
    real life.

    John May claims to have built and tested some examples. Audiofools do
    have an interest in very low distortion sine wave sources, so there's a
    small, but well-heeled market for the product. It's sort of interesting
    - national measurement labs do go in for that sort of precision.

    https://www.amazon.com.au/Coaxial-AC-Bridges-B-Kibble/dp/0852743890

    Bryan Kibble worked for the British National Physical Laboratory

    https://en.wikipedia.org/wiki/Bryan_Kibble

    It was his book that drew my attention to the need for non-progressive
    windings on toroidal inductors if you wanted zero external field (which
    matters if you are using a pair of them to measure the conductivity of a not-particularly conductive fluid).

    That's a real-life application, if a very specialised one.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Wed Apr 9 14:18:05 2025
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>
    BCM61B does not have two independent transistors.

    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>>>>> output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four >>>>>>>>> quadrant differential I/O version. Compare the linearity of each of >>>>>>>>> them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time? >>>

    In this particular thread your eight transistor is bonkers, but it
    works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge. If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work

    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill.
    Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it, it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill. >>
    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion.

    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all.

    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.


    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly
    how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations. It's not the
    kind of project that anybody would fund, and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill. >>
    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually
    learn stuff, but some are slower at it than others. Encouraging the
    slower ones takes quite a lot of effort because you have to go into
    quite a lot of detail before you can get the message across, and it can
    get tedious, and isn't all that rewarding. I'd love to be able to
    congratulate you for your insights, but they've been a bit thin on the
    ground.

    , but I'm not swamped with work at the moment.

    There are other things I should be doing but analogue circuit design has a certain attraction, particularly when assisted by
    someone
    as capable as JM.

    I doubt if thinks that he is assisting you. Correcting is probably closer to the mark.

    Of course Bill.
    https://www.youtube.com/watch?v=Z9t_KDGqOmE

    I have no doubt that your own circuits never need to be corrected Bill.

    You must be joking. I've had some very clever colleagues who could do it
    fast. There's at least one case where I didn't spot my error until years
    later - the original solution worked fine but I eventually realised that
    there was a simpler way of getting there.

    Maybe that's why they are so unnecessarily complex.
    If no-one can see how it works, no-one can correct it.

    It's not a matter of seeing how it works, so much as finding the right
    point of view on the way it works.

    I could put together transformers that worked for a long time before I
    got to grips with the transformer equation, which gave me a clearer
    insight into what was going on.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Wed Apr 9 09:57:20 2025
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>>>>>> output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four >>>>>>>>>> quadrant differential I/O version. Compare the linearity of each of >>>>>>>>>> them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit.

    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time? >>>>

    In this particular thread your eight transistor is bonkers, but it
    works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge. >> If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work

    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2 >>
    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill.
    Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it, it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill. >>>
    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion.

    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all.

    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max. >>

    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.


    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly
    how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations. It's not
    the
    kind of project that anybody would fund, and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill. >>>
    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    and it can get tedious, and isn't all that rewarding. I'd love to be able to congratulate you for your insights, but they've been
    a bit thin on the ground.

    , but I'm not swamped with work at the moment.

    There are other things I should be doing but analogue circuit design has a certain attraction, particularly when assisted by
    someone
    as capable as JM.

    I doubt if thinks that he is assisting you. Correcting is probably closer to the mark.

    Of course Bill.
    https://www.youtube.com/watch?v=Z9t_KDGqOmE

    I have no doubt that your own circuits never need to be corrected Bill.

    You must be joking. I've had some very clever colleagues who could do it fast. There's at least one case where I didn't spot my
    error until years later - the original solution worked fine but I eventually realised that there was a simpler way of getting
    there.

    Maybe that's why they are so unnecessarily complex.
    If no-one can see how it works, no-one can correct it.

    It's not a matter of seeing how it works, so much as finding the right point of view on the way it works.

    I could put together transformers that worked for a long time before I got to grips with the transformer equation, which gave me a
    clearer insight into what was going on.

    --
    Bill Sloman, Sydney




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Wed Apr 9 11:14:08 2025
    "Bill Sloman" <[email protected]> wrote in message news:vt60p8$q8qf$[email protected]...
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing
    such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation. >>>>>>>>>>>>>>>>>>
    ...

    Yes, that works but only 120dB down at 4KHz. >>>>>>>>>>>>>>>>> I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so
    may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>>>>>>>> output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off
    a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes,
    but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built
    circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent
    diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably
    counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their
    noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems
    in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I
    had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time? >>>>>>

    In this particular thread your eight transistor is bonkers, but it >>>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work >>>>
    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should
    work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of
    what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill.
    Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it,
    it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test
    technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it >>>>>>> offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all. >>>>
    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations.
    It's not the kind of project that anybody would fund,
    and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed at. You don't insult the intelligence of people like Phil
    Hobbs by going into unnecessary detail. Lesser mortals may well feel short-changed.

    I don't speak for Phil Hobbs or anyone else but I think Phil would be impressed with a well thought out highly detailed explanation
    of how a circuit works.
    He would not be at all insulted no matter what the level of detail was.


    Sloman A.W., Buggs P., Molloy J., and Stewart D. "A microcontroller-based driver to stabilise the temperature of an optical stage
    to 1mK in the range 4C to 38C, using a Peltier heat pump and a thermistor sensor" Measurement Science and Technology, 7 1653-64
    (1996) contains quite a lot of explanation, but I took care not to patronise the prospective audience by telling them more than I
    needed to.

    --
    Bill Sloman, Sydney


    --
    Bill Sloman, Sydney



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Thu Apr 10 00:38:27 2025
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation.

    ...

    Yes, that works but only 120dB down at 4KHz.
    I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the >>>>>>>>>>> output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four >>>>>>>>>>> quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes, but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time? >>>>>

    In this particular thread your eight transistor is bonkers, but it >>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work

    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill.
    Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it, it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill. >>>>
    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it
    offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all.

    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max. >>>

    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations. >>>>>> It's not the kind of project that anybody would fund,
    and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed
    at. You don't insult the intelligence of people like Phil Hobbs by going
    into unnecessary detail. Lesser mortals may well feel short-changed.

    Sloman A.W., Buggs P., Molloy J., and Stewart D. “A
    microcontroller-based driver to stabilise the temperature of an optical
    stage to 1mK in the range 4C to 38C, using a Peltier heat pump and a
    thermistor sensor” Measurement Science and Technology, 7 1653-64 (1996) contains quite a lot of explanation, but I took care not to patronise
    the prospective audience by telling them more than I needed to.

    --
    Bill Sloman, Sydney


    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Thu Apr 10 04:44:26 2025
    On 10/04/2025 1:14 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt60p8$q8qf$[email protected]...
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing
    such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation. >>>>>>>>>>>>>>>>>>>
    ...

    Yes, that works but only 120dB down at 4KHz. >>>>>>>>>>>>>>>>>> I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so
    may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off
    a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes,
    but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built
    circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent
    diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably
    counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their
    noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems
    in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I
    had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it >>>>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work >>>>>
    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should
    work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of
    what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill. >>>>> Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it,
    it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test
    technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it >>>>>>>> offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all. >>>>>
    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations.
    >>>>>> It's not the kind of project that anybody would fund, >>>>>>>> and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed at. You don't insult the intelligence of people like Phil
    Hobbs by going into unnecessary detail. Lesser mortals may well feel short-changed.

    I don't speak for Phil Hobbs or anyone else but I think Phil would be impressed with a well thought out highly detailed explanation
    of how a circuit works.

    In the appropriate context. Sci.electronics.design has tended to brevity
    over the twenty-odd years I've been posting here and following the posts.

    He would not be at all insulted no matter what the level of detail was.

    The phrase "insult the intelligence" doesn't refer to be people feeling insulted - rather to them being bored by unnecessary detail. He probably wouldn't feel insulted but he'd probably skip most of the detail.

    The reference to explanations in different contexts doesn't seem to have registered with you.

    Sloman A.W., Buggs P., Molloy J., and Stewart D. "A microcontroller-based driver to stabilise the temperature of an optical stage
    to 1mK in the range 4C to 38C, using a Peltier heat pump and a thermistor sensor" Measurement Science and Technology, 7 1653-64
    (1996) contains quite a lot of explanation, but I took care not to patronise the prospective audience by telling them more than I
    needed to.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Bill Sloman on Wed Apr 9 15:08:11 2025
    "Bill Sloman" <[email protected]> wrote in message news:vt6f6f$16v37$[email protected]...
    On 10/04/2025 1:14 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt60p8$q8qf$[email protected]...
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde" >>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote: >>>>>>>>>>>>>>>>>>>>>>>
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF
    capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing
    such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation. >>>>>>>>>>>>>>>>>>>>
    ...

    Yes, that works but only 120dB down at 4KHz. >>>>>>>>>>>>>>>>>>> I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so
    may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages
    (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping
    with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts
    off
    a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes,
    but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try
    when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've
    posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built
    circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent
    diode
    drop.
    It went into a GaAs single crystal puller as a retrofit. >>>>>>>>>>>
    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably
    counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their
    noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna
    systems
    in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two
    suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I
    had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815
    to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill. >>>>>>>> Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a
    past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it >>>>>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work >>>>>>
    You can suspect what you like but that's just another example of you twisting the world into something you would like it to
    be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should
    work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of
    what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill. >>>>>> Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and
    never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it,
    it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test
    technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it >>>>>>>>> offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power
    supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all. >>>>>>
    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations.
    >>>>>> It's not the kind of project that anybody would fund, >>>>>>>>> and the chance that I'd learn anything interesting is remote. >>>>>>>>
    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get
    the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed at. You don't insult the intelligence of people like Phil
    Hobbs by going into unnecessary detail. Lesser mortals may well feel short-changed.

    I don't speak for Phil Hobbs or anyone else but I think Phil would be impressed with a well thought out highly detailed
    explanation
    of how a circuit works.

    In the appropriate context. Sci.electronics.design has tended to brevity over the twenty-odd years I've been posting here and
    following the posts.

    He would not be at all insulted no matter what the level of detail was.

    The phrase "insult the intelligence" doesn't refer to be people feeling insulted - rather to them being bored by unnecessary
    detail. He probably wouldn't feel insulted but he'd probably skip most of the detail.

    The reference to explanations in different contexts doesn't seem to have registered with you.

    LOL. You can't skip detail which isn't there.

    You can certainly tailor your approach to the individual you're dealing with Bill.
    But it looks to me that you would rather tailor your approach in such a way as to make the other person appear as much of a "Lesser
    mortal" (your words) as possible.

    Have you looked at JM's latest post (2:06 PM on the 9th) which demonstrates the sample & hold method?
    Do you still think it's "Very funny" (Your words in your own thread on 6th February).

    What are you doing up at 5 AM anyway?


    Sloman A.W., Buggs P., Molloy J., and Stewart D. "A microcontroller-based driver to stabilise the temperature of an optical
    stage
    to 1mK in the range 4C to 38C, using a Peltier heat pump and a thermistor sensor" Measurement Science and Technology, 7 1653-64
    (1996) contains quite a lot of explanation, but I took care not to patronise the prospective audience by telling them more than
    I
    needed to.

    --
    Bill Sloman, Sydney



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to [email protected] on Wed Apr 9 15:18:35 2025
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Tue, 8 Apr 2025 21:04:25 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Tue, 8 Apr 2025 14:41:44 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Mon, 7 Apr 2025 22:46:13 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Edward Rawde" <[email protected]d> wrote in message news:vsso97$1imi$[email protected]...
    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing such a
    large
    capacitor.
    ....

    Here's an almost fully practical circuit except for the current sources and sinks.


    I reversed the polarity of the control feedback and applied it to the >>>>> inverting input of the first oscilllator stage, removed some
    redundant capacitors, and added some filtering to the gain control
    signal. Also altered some gain values to improve the dynamics (but
    that still has to be addressed).

    Most real world designs would use a sample and hold circuit to sample >>>>> the output at it's maximum point and use that to control the feedback, >>>>> similar to the topology I think I posted a while ago. It might be
    worthwhile looking at that.


    Thanks. That has the lowest distortion I've seen in a simulation so far. >>>>
    I can't find the sample/hold circuit you mentioned, would you mind reposting it?

    Thank you for your help with this. It is much appreciated.




    Is the sample/hold circuit the one below?

    After much digging I found it in a very interesting thread started by Bill Sloman on 5th February 2025 "The low distortion
    oscillator problem".

    I can't get it to simulate in 24.1.5
    something to do with unknown parameter in table{-2m,0,2m,1}


    Yes. Change the braces to brackets. Example use shown below. H2,3
    should be circa -170(ish)dBc. Note that I have switched most op amps
    outwith the control loop to simple models so that you can investigate
    the control loop in isolation (it's fairly easy to implement the
    sampling in hardware and it will be close to this in performance).
    Compare the circuit below with one with the original polyphase
    sampling (leave in the simple models) to determine any benefit. You
    are already beyond the point where real opamps will limit the
    performance - in this particular oscillator design.


    Very interesting. Thank you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Wed Apr 9 13:01:04 2025
    On Wed, 9 Apr 2025 11:14:08 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vt60p8$q8qf$[email protected]...
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing
    such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation. >>>>>>>>>>>>>>>>>>>
    ...

    Yes, that works but only 120dB down at 4KHz. >>>>>>>>>>>>>>>>>> I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so
    may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off
    a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes,
    but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built
    circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent
    diode
    drop.
    It went into a GaAs single crystal puller as a retrofit.

    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably
    counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their
    noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems
    in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I
    had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill.
    Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it >>>>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work >>>>>
    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should
    work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of
    what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill. >>>>> Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it,
    it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test
    technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it >>>>>>>> offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all. >>>>>
    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations.
    It's not the kind of project that anybody would fund, >>>>>>>> and the chance that I'd learn anything interesting is remote.

    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed at. You don't insult the intelligence of people like Phil
    Hobbs by going into unnecessary detail. Lesser mortals may well feel short-changed.

    I don't speak for Phil Hobbs or anyone else but I think Phil would be impressed with a well thought out highly detailed explanation
    of how a circuit works.
    He would not be at all insulted no matter what the level of detail was.

    Phil is hard to insult with any efficiency. Slam a gin and tonic or
    three into him, and it's impossible.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to john larkin on Thu Apr 10 20:37:03 2025
    On 10/04/2025 6:01 am, john larkin wrote:
    On Wed, 9 Apr 2025 11:14:08 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vt60p8$q8qf$[email protected]...
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde" >>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote: >>>>>>>>>>>>>>>>>>>>>>>
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing
    such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation. >>>>>>>>>>>>>>>>>>>>
    ...

    Yes, that works but only 120dB down at 4KHz. >>>>>>>>>>>>>>>>>>> I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so
    may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts off
    a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes,
    but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill.
    @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built
    circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent
    diode
    drop.
    It went into a GaAs single crystal puller as a retrofit. >>>>>>>>>>>
    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably
    counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their
    noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna systems
    in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I
    had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815 to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill. >>>>>>>> Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it >>>>>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work >>>>>>
    You can suspect what you like but that's just another example of you twisting the world into something you would like it to be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should
    work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of
    what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill. >>>>>> Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it,
    it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test
    technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it >>>>>>>>> offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all. >>>>>>
    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations.
    >>>>>> It's not the kind of project that anybody would fund, >>>>>>>>> and the chance that I'd learn anything interesting is remote. >>>>>>>>
    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed at. You don't insult the intelligence of people like Phil
    Hobbs by going into unnecessary detail. Lesser mortals may well feel short-changed.

    I don't speak for Phil Hobbs or anyone else but I think Phil would be impressed with a well thought out highly detailed explanation
    of how a circuit works.
    He would not be at all insulted no matter what the level of detail was.

    Phil is hard to insult with any efficiency. Slam a gin and tonic or
    three into him, and it's impossible.

    The phrase "insult the the intelligence" doesn't imply any actual insult
    - you just run the risk of boring them. You do need to read more widely.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Thu Apr 10 20:33:07 2025
    On 10/04/2025 5:08 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt6f6f$16v37$[email protected]...
    On 10/04/2025 1:14 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt60p8$q8qf$[email protected]...
    On 9/04/2025 11:57 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt4se2$3qshb$[email protected]...
    On 9/04/2025 1:56 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vt2bck$1gmbm$[email protected]...
    On 7/04/2025 11:10 pm, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsvspr$33gdd$[email protected]...
    On 7/04/2025 3:25 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsuacb$1d4ec$[email protected]...
    On 7/04/2025 12:39 am, Edward Rawde wrote:
    "Bill Sloman" <[email protected]> wrote in message news:vsu092$14oc7$[email protected]...
    On 6/04/2025 2:12 am, JM wrote:
    On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde" >>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "Bill Sloman" <[email protected]> wrote in message news:vsnufh$2ou7j$[email protected]...
    On 4/04/2025 11:33 am, JM wrote:
    On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote:

    "JM" <[email protected]> wrote in message news:[email protected]...
    On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde" >>>>>>>>>>>>>>>>>>>>>>>> <[email protected]d> wrote: >>>>>>>>>>>>>>>>>>>>>>>>
    Not long ago JM posted a 1KHz sinewave oscillator with very low distortion.
    It used a 470uF non polarized capacitor which in practice would probably be made from two 1000uF
    capacitors.
    There's nothing wrong with that but I wanted to see whether I could make a working circuit without needing
    such
    a
    large
    capacitor.

    You will need to adjust the feedback to suit. Start with a -5 or -6
    gain block after the integrator and adjust it's gain until the startup
    is clean (no saturation).

    Here's my version of John May's variation. >>>>>>>>>>>>>>>>>>>>>
    ...

    Yes, that works but only 120dB down at 4KHz. >>>>>>>>>>>>>>>>>>>> I put the damping resistor back to 47k since I don't care what happens during the first few seonds as long as it
    happens.
    If it's necessary to wait one minute for the purest tone, that's fine with me.


    Linewraps are going to be a problem - delete all "\n" from the last few lines

    You don't want to remove \n just remove the wraps. >>>>>>>>>>>>>>>>>>>>
    BCM61B does not have two independent transistors. >>>>>>>>>>>>>>>>>>>>
    So you probably want BCM847BS which has two independent matched transistors and a very low price at digikey, so
    may
    as
    well
    use
    two
    of them as shown below.

    I took the model from
    https://github.com/peteut/spice-models/blob/master/nxp/complex_discretes/complex_discretes.txt

    It should only be necessary to unwrap the last line of the following.
    Don't remove \n just remove the wraps, you may need to use a horizontal scroll bar.

    Version 4.1


    Best to just offset the integrator output so the amplitude is brought
    under control sooner.


    Wow. That has much lower distortion too.


    If you just replace Q1,2 duals with a simple long tailed pair I think
    you will get better performance.

    I'm not sure I understand how the multiplier could be implemented with just a long tailed pair.


    Just modulate the tail current and select how much to steer to the
    output by directly driving the bases rather than indirectly as in your
    circuit. The following link shows one example topology, and a four
    quadrant differential I/O version. Compare the linearity of each of
    them.

    https://1drv.ms/u/c/1af24d72a509cd48/EWVCUG7-jFJMu7-01VczCRcBzEC9JPHrV45x7TOunN90Gg?e=GXbvX5

    It could be used as shown here.

    https://1drv.ms/u/c/1af24d72a509cd48/EVmMVrvUD15GutoR5nCJ7QEBSeZsHWpHudqR0b8XtTLMLw?e=HIV74I

    As I've already said, I like it. I've played with it a bit. >>>>>>>>>>>>>>
    The ON-Semiconductor NSS40301MDR2G NPN dual comes with a 2mV guaranteed maximum difference in base-emitter voltages
    (at
    the
    same
    emitter current). Edward Rawde's Nexperia BCM61B dual part has matched current gain, but no guarantee on the Vbe. The
    Nexperia
    BCM847BS does offer 2mV base-emitter matching, and would presumably work just as well.

    Putting in the ON-Semiconductor dual means that your gain control circuit doesn't have to waste output swing coping
    with
    part-to-part variation.

    I've added a cascode transistor (Q1, it should be Q4) to minimise any Early effect distortion.

    I've snipped out the op amp driving the base of Q3. Once you'd gone AC-coupled, it wasn't doing anything useful.

    And I've put a string of eight diodes in series with R10. They nominally compensate for the temperature dependence
    introduced
    by
    the four rectifier diodes D2, D12, D13 and D14. In this version of the circuit the rectifiers knock about 0.6 volts
    off
    a
    sine
    wave that peaks at 3.8V, about a quarter of the 15V rail. I haven't run the numbers to fix the best number of diodes,
    but
    something between six and eight looks okay.

    The harmonics aren't great - most of them are about 90dB below the fundamental, but the seventh is only 85dB down.


    Not sure I see the point if it's only 80dB down Bill. >>>>>>>>>>>>> @ 7Khz in LTSPice 24.1.5

    LTSpice isn't all that reliable as predictor of low level distortion. Having an armoury of different circuits to try
    when
    you
    finally get around to building and testing something real may be useful.

    I can almost get that from a simple phase shift oscillator and a 1KHz tuned circuit.

    I'm sure that you think so. John Larkin thought that a bang-bang amplitude control was worth suggesting...

    The last time I included a diode string like that in one of my circuits (which I seem to recall had better than 80dB
    performance)
    you told me it was nuts.

    It probably was. In this case there are better ways of getting a rectified output than a simple series diode - I've
    posted
    circuits which incorporate precision rectifiers which get rid of the forward drop through the diode, and I've built
    circuits
    that
    used synchronous rectifiers built around transmission gates where the output isn't shifted by a temperature dependent
    diode
    drop.
    It went into a GaAs single crystal puller as a retrofit. >>>>>>>>>>>>
    The main point of the diode string was as a satirical comment on that aspect of the design you posted, which probably
    counts
    as
    being hostile, but I am hostile to ill-thought out designs, hard though it is to get the design time to sort them out.

    I don't see anything particularly hostile there Bill. Just different points of view.

    I've got stuck with sorting out other peoples half-baked designs often enough, but only after my bosses had had their
    noses
    rubbed
    in the unfortunate consequences.

    When I started work as a fresh graduate (but one who also had practical experience with everything from TV antenna
    systems
    in
    hospitals to AY-3-8500 based games) I was amazed at some of the analogue circuit design blunders I encountered.
    In one case I built a piece of custom test equipment which needed +15V and -15V. An available transformer had two
    suitable
    isolated
    secondary windings so I just used two 7815 devices.
    Only to be told by a more experienced "Designer" that connecting the output of a 7815 to ground would short it out and I
    had
    to
    use
    7915 for that.....

    What he should have said was the you were messing up the ground returns by hooking up the +15V output of the second 7815
    to
    the
    0V
    rail.

    He was avoiding spending a long time talking about grounding and shielding, which is a rather specialised subject.

    I see. Thank you for letting me know what he was thinking Bill. >>>>>>>>> Do you have some kind of time machine that you travel around in so you can have a better knowledge of what happened in a
    past
    situation when compared with someone who was actually there at the time?


    In this particular thread your eight transistor is bonkers, but it >>>>>>>>>> works - not that I can see how.

    Seems pretty obvious to me how it works Bill.

    But John May could take out half the transistors and produce a circuit that still worked.

    One reason for that is that a current source/sink can be approximated by a high value resistor so instead of using a current
    mirror
    a single resistor is likely to work fine.
    You might need to reverse the polarity of the voltage drive but there are many ways to do that in this circuit.

    And you haven't made any attempt to explain how it does work.

    As I pointed out some time ago, you never explain how your circuits work Bill.
    It's like you just expect others to accept that you have superior knowledge.
    If you really could see what other people think then I think you might be surprised at the amount of laughter going on.


    If I didn't know how it was intended to work then it almost certainly would not work.

    And suspect that that there were a lot of variations that didn't work >>>>>>>
    You can suspect what you like but that's just another example of you twisting the world into something you would like it to
    be.

    Anyone with any understanding of this circuit at all knows that a very basic explanation of how it works is that you need to
    multiply the gain control level by a sample of the oscillator signal and feed the result back into the oscillator.

    So if your signals are in the form of two currents which never change polarity then a one quadrant current multiplier should
    work
    fine.

    You might then do some research to see if you can find any examples of circuits which meet that requirement.

    https://www.google.com/search?q=one+quadrant+analog+current+multiplier&udm=2

    Much like you might refer to Horowitz/Hill to see if there are any relevant example circuits.


    I'm surprised that you can't see how it works.

    I've got a rough idea, but not good enough to let me do anything interesting, or to write any kind of useful explanation of
    what
    is going on. Writing that kind of explanation is usually a necessary part of getting a circuit into production.

    I've yet to see you write an explanation of how a circuit works Bill. >>>>>>> Instead I've only seen circuits using three or four times as many components as the last one JM posted in this thread and
    never
    any
    better than 70dB.
    Then you get upset when the rest of the world tries to tell you that although your circuit may have a few good ideas in it,
    it's
    worthless from a meeting the requirements point of view.

    Management needs it before they will spend the extra money on document the design for production, and the final test
    technicians
    and service engineers need it make sure that the circuit works and to be able to fix it when it doesn't.

    John May could see how it worked, and how it could be simplified to four transistors - and eventually down
    to two matched pairs.

    You seem to be very good at knowing what other people can/could see Bill.

    It's a necessary engineering skill. See above.

    I prefer not to make any assumptions about what other people can or can't see.
    Particularly when I know nothing at all about them other than what has been posted here.


    He doesn't like it, and prefers the single
    long-tailed pair approach, despite the fact that LTSpice says it >>>>>>>>>> offers poorer performance.

    He provided three examples. All of which obviously work.
    The best one from my point of view is the one with lowest distortion. >>>>>>>>
    Which you haven't measured on a real circuit yet. Since you don't seem to be all that sensitive to the risks from power
    supply
    feedthrough, doing that might be painfully educational

    Of course Bill. I have absolutely no doubt that you would take great delight in my pain.
    And I have no doubt that you would not offer any meaningful assistance with the power supply design because you would rather
    watch
    me suffer.
    Offering assistance could reduce my suffering which wouldn't do at all. >>>>>>>
    I'd probably use 6V batteries arranged for +/- 18V for a first test of a circuit like this.
    With some series components for filtering and to stay below LT1679 36V max.


    After all the goal, when I started looking into sinewave oscillators, was to see whether it's really necessary to use
    thermistors,
    lamps, opto devices or FETs.

    Have you come to a conclusion yet? As I seem to have mentioned before, it strikes me that the answer is that it's obvious
    necessary.

    What's obviously necessary Bill?
    The last circuit JM posted has no measurable distortion worth mentioning that I can see.

    I like the long-tailed pair approach myself - I can see exactly how it works - but it's probably worth my time to work out
    exactly how the four transistor circuit actually works, and why it seems to offer lower distortion in LTSpice simulations.
    >>>>>> It's not the kind of project that anybody would fund, >>>>>>>>>> and the chance that I'd learn anything interesting is remote. >>>>>>>>>
    Ah well I'm sorry if you aren't likely to learn anything interesting Bill.

    That's text-chopping.

    I've learned a lot and will continue to do so.

    We can hope.

    I'd translate that into "I hope you never learn anything so I can continue to tell you how stupid you are".

    That is a remarkably hostile reaction. Most engineers can eventually learn stuff, but some are slower at it than others.
    Encouraging the slower ones takes quite a lot of effort because you have to go into quite a lot of detail before you can get
    the
    message across,

    I've never seen you explain in any level of detail how your own circuits work Bill.

    All explanations are designed to work for the audience they are aimed at. You don't insult the intelligence of people like Phil
    Hobbs by going into unnecessary detail. Lesser mortals may well feel short-changed.

    I don't speak for Phil Hobbs or anyone else but I think Phil would be impressed with a well thought out highly detailed
    explanation
    of how a circuit works.

    In the appropriate context. Sci.electronics.design has tended to brevity over the twenty-odd years I've been posting here and
    following the posts.

    He would not be at all insulted no matter what the level of detail was.

    The phrase "insult the intelligence" doesn't refer to be people feeling insulted - rather to them being bored by unnecessary
    detail. He probably wouldn't feel insulted but he'd probably skip most of the detail.

    You do seem to want to sound like John Larkin.

    The reference to explanations in different contexts doesn't seem to have registered with you.

    LOL. You can't skip detail which isn't there.

    And if you don't notice that it's there you won't realise that you have
    skipped it.

    You can certainly tailor your approach to the individual you're dealing with Bill.
    But it looks to me that you would rather tailor your approach in such a way as to make the other person appear as much of a "Lesser
    mortal" (your words) as possible.

    Have you looked at JM's latest post (2:06 PM on the 9th) which demonstrates the sample & hold method?
    Do you still think it's "Very funny" (Your words in your own thread on 6th February).

    Sample and holds necessarily put switching spikes into the power supply
    rails. Decoupling the relevant bits from the rails can minimise the consequences, but if you are aiming for harmonics 120dB below the
    fundamental, you have to decouple a lot of routes rather carefully.
    Somebody like you who doesn't like ferrite beads and ferrite chips
    wouldn't enjoy that.

    What are you doing up at 5 AM anyway?

    Telling myself that I should have got to bed hours ago. Now that I'm
    retired I can afford to be occasionally silly (if not all that often).

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to All on Thu Apr 10 17:27:46 2025
    I wasn't able to reply directly to Bill Soman's post 10th April 6:33 AM due to error 411 header too long.

    However I just wanted to address the following:

    "Sample and holds necessarily put switching spikes into the power supply
    rails. Decoupling the relevant bits from the rails can minimise the consequences, but if you are aiming for harmonics 120dB below the
    fundamental, you have to decouple a lot of routes rather carefully."

    "Somebody like you who doesn't like ferrite beads and ferrite chips
    wouldn't enjoy that."

    You really are a complete idiot Bill.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Joe Gwinn@21:1/5 to [email protected] on Thu Apr 10 18:08:53 2025
    On Thu, 10 Apr 2025 17:27:46 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    I wasn't able to reply directly to Bill Soman's post 10th April 6:33 AM due to error 411 header too long.

    However I just wanted to address the following:

    "Sample and holds necessarily put switching spikes into the power supply >rails. Decoupling the relevant bits from the rails can minimise the >consequences, but if you are aiming for harmonics 120dB below the >fundamental, you have to decouple a lot of routes rather carefully."

    "Somebody like you who doesn't like ferrite beads and ferrite chips
    wouldn't enjoy that."

    You really are a complete idiot Bill.

    Ed, DO NOT FEED THE TROLL

    Joe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Edward Rawde@21:1/5 to Joe Gwinn on Thu Apr 10 18:52:03 2025
    "Joe Gwinn" <[email protected]> wrote in message news:[email protected]...
    On Thu, 10 Apr 2025 17:27:46 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    I wasn't able to reply directly to Bill Soman's post 10th April 6:33 AM due to error 411 header too long.

    However I just wanted to address the following:

    "Sample and holds necessarily put switching spikes into the power supply >>rails. Decoupling the relevant bits from the rails can minimise the >>consequences, but if you are aiming for harmonics 120dB below the >>fundamental, you have to decouple a lot of routes rather carefully."

    "Somebody like you who doesn't like ferrite beads and ferrite chips >>wouldn't enjoy that."

    You really are a complete idiot Bill.

    Ed, DO NOT FEED THE TROLL

    Yeah you're right. I am done with Bill.


    Joe

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Fri Apr 11 16:15:56 2025
    On 11/04/2025 7:27 am, Edward Rawde wrote:
    I wasn't able to reply directly to Bill Soman's post 10th April 6:33 AM due to error 411 header too long.

    However I just wanted to address the following:

    "Sample and holds necessarily put switching spikes into the power supply rails. Decoupling the relevant bits from the rails can minimise the consequences, but if you are aiming for harmonics 120dB below the fundamental, you have to decouple a lot of routes rather carefully."

    "Somebody like you who doesn't like ferrite beads and ferrite chips
    wouldn't enjoy that."

    You really are a complete idiot Bill.

    Not a well justified assertion.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Bill Sloman@21:1/5 to Edward Rawde on Fri Apr 11 18:11:13 2025
    On 11/04/2025 8:52 am, Edward Rawde wrote:
    "Joe Gwinn" <[email protected]> wrote in message news:[email protected]...
    On Thu, 10 Apr 2025 17:27:46 -0400, "Edward Rawde"
    <[email protected]d> wrote:

    I wasn't able to reply directly to Bill Soman's post 10th April 6:33 AM due to error 411 header too long.

    However I just wanted to address the following:

    "Sample and holds necessarily put switching spikes into the power supply >>> rails. Decoupling the relevant bits from the rails can minimise the
    consequences, but if you are aiming for harmonics 120dB below the
    fundamental, you have to decouple a lot of routes rather carefully."

    "Somebody like you who doesn't like ferrite beads and ferrite chips
    wouldn't enjoy that."

    You really are a complete idiot Bill.

    Ed, DO NOT FEED THE TROLL

    Yeah you're right. I am done with Bill.

    I don't give him the flattery he feels he deserves.

    --
    Bill Sloman, Sydney

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter@21:1/5 to All on Wed Apr 30 14:19:29 2025
    How about using a DAC driven from a uC, or even some clever bit of
    hardware?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From john larkin@21:1/5 to [email protected] on Wed Apr 30 11:33:46 2025
    On Wed, 30 Apr 2025 14:19:29 +0100, Peter
    <[email protected]> wrote:

    How about using a DAC driven from a uC, or even some clever bit of
    hardware?

    A uP with an ADC could measure the sine amplitude and an MDAC could
    tweak loop gain. But you may as well just synthesize the sine wave
    with a 20-bit DAC.

    If you could somehow measure sub-PPM distortion, tweak that down in
    the DAC data.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)