Deutsch   English   Français   Italiano  
<vsssu5$3v8el$3@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Bill Sloman <bill.sloman@ieee.org>
Newsgroups: sci.electronics.design
Subject: Re: Low distortion sinewave oscillator without big capacitor.
Date: Sun, 6 Apr 2025 13:37:39 +1000
Organization: A noiseless patient Spider
Lines: 118
Message-ID: <vsssu5$3v8el$3@dont-email.me>
References: <vsc420$2ic$1@nnrp.usenet.blueworldhosting.com>
 <qq8tujlpciqc2jrd0ibljmjr9pd37ip6hi@4ax.com>
 <vsn5df$o10$1@nnrp.usenet.blueworldhosting.com>
 <vh9uujhi6chpejn8nfhdh67afc23kfqq32@4ax.com> <vsnufh$2ou7j$1@dont-email.me>
 <vsp86r$174f$1@nnrp.usenet.blueworldhosting.com>
 <add0vjdh2gcma0n9pfunq76n04cfbkhtnj@4ax.com>
 <vspff8$a02$1@nnrp.usenet.blueworldhosting.com>
 <uop0vjp3d13t441ujfboi5aeeg08anm1je@4ax.com>
 <vsq9j1$pcn$1@nnrp.usenet.blueworldhosting.com>
 <tcl2vjp49q4ga21itrpnmr4u3ts06vqffd@4ax.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 06 Apr 2025 05:37:42 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="fac4c63bd8b1b137c7b48ea39f9fb348";
	logging-data="4170197"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18QJRp8efT3NrB1ktcuJ6NLyugwPNHUBJI="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:g3QxLv5ClsKWSpRlN/5aTDsaHNc=
X-Antivirus: Norton (VPS 250405-6, 6/4/2025), Outbound message
Content-Language: en-US
In-Reply-To: <tcl2vjp49q4ga21itrpnmr4u3ts06vqffd@4ax.com>
X-Antivirus-Status: Clean
Bytes: 6871

On 6/04/2025 2:12 am, JM wrote:
> On Fri, 4 Apr 2025 23:55:11 -0400, "Edward Rawde"
> <invalid@invalid.invalid> wrote:
> 
>> "JM" <sunaecoNoChoppedPork@gmail.com> wrote in message news:uop0vjp3d13t441ujfboi5aeeg08anm1je@4ax.com...
>>> On Fri, 4 Apr 2025 16:29:27 -0400, "Edward Rawde"
>>> <invalid@invalid.invalid> wrote:
>>>
>>>> "JM" <sunaecoNoChoppedPork@gmail.com> wrote in message news:add0vjdh2gcma0n9pfunq76n04cfbkhtnj@4ax.com...
>>>>> On Fri, 4 Apr 2025 14:25:29 -0400, "Edward Rawde"
>>>>> <invalid@invalid.invalid> wrote:
>>>>>
>>>>>> "Bill Sloman" <bill.sloman@ieee.org> wrote in message news:vsnufh$2ou7j$1@dont-email.me...
>>>>>>> On 4/04/2025 11:33 am, JM wrote:
>>>>>>>> On Thu, 3 Apr 2025 19:25:33 -0400, "Edward Rawde"
>>>>>>>> <invalid@invalid.invalid> wrote:
>>>>>>>>
>>>>>>>>> "JM" <sunaecoNoChoppedPork@gmail.com> wrote in message news:qq8tujlpciqc2jrd0ibljmjr9pd37ip6hi@4ax.com...
>>>>>>>>>> On Sun, 30 Mar 2025 14:54:56 -0400, "Edward Rawde"
>>>>>>>>>> <invalid@invalid.invalid> 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