| Deutsch English Fran癟ais Italiano |
|
<637vqjpics9oqi4gsv4vv200cf7t3kovb6@4ax.com> 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: JM <sunaecoNoChoppedPork@gmail.com> Newsgroups: sci.electronics.design Subject: Re: A variation on my current mirror low distortion sine wave oscillator - 10dB less distortion and much the same number of components Date: Fri, 14 Feb 2025 19:42:31 +0000 Organization: A noiseless patient Spider Lines: 183 Message-ID: <637vqjpics9oqi4gsv4vv200cf7t3kovb6@4ax.com> References: <voc5mp$138ut$1@dont-email.me> <voh7a5$26aqj$1@dont-email.me> <vol0hr$1fie$1@nnrp.usenet.blueworldhosting.com> <vol49p$2vd0d$1@dont-email.me> <voldd9$2cul$1@nnrp.usenet.blueworldhosting.com> <vompa5$3bjpm$1@dont-email.me> <voo0i5$31f9$1@nnrp.usenet.blueworldhosting.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 14 Feb 2025 20:42:34 +0100 (CET) Injection-Info: dont-email.me; posting-host="7c8f9021dc24e533d014e18dffaf2557"; logging-data="3803832"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19WEJ6u4NyJxys4Q5wLG74S" User-Agent: ForteAgent/8.00.32.1272 Cancel-Lock: sha1:dzAg3wWZresWZ7JKhhiNF8EdL6o= Bytes: 11314 On Fri, 14 Feb 2025 13:03:46 -0500, "Edward Rawde" <invalid@invalid.invalid> wrote: >"Bill Sloman" <bill.sloman@ieee.org> wrote in message news:vompa5$3bjpm$1@dont-email.me... >> On 14/02/2025 5:24 am, Edward Rawde wrote: >>> "Bill Sloman" <bill.sloman@ieee.org> wrote in message news:vol49p$2vd0d$1@dont-email.me... >>>> On 14/02/2025 1:45 am, Edward Rawde wrote: >>>>> "Bill Sloman" <bill.sloman@ieee.org> wrote in message news:voh7a5$26aqj$1@dont-email.me... >>>>>> On 10/02/2025 5:18 pm, Bill Sloman wrote: >>>>>>> Basically same idea, but two separate controllable asymmetric current mirrors, rather than one, and no current steering. The >>>>>>> half-wave rectifier still seems to be the source of the distortion in the stabilised output. >>>>>>> >>>>>>> C25 and C26 take out as much of it as I can. Increasing them - from 15nF to 33nF makes the distortion worse. Splitting the >>>>>>> resistors into three rather than two and adding two more capacitors might help, but what this circuit needs is more insight, >>>>>>> rather than more components. >>>>>> >>>>>> Splitting the resistors did help, and the optimum capacitor value at C25, C26, C27 and C28 turned out to be 4.7nF. The second >>>>>> and >>>>>> fifth harmonics were just 80dB below the fundamental and the third 91dB down. Not dramatically good, but respectable. >>>>>> >>>>>> Other changes were less successful - the current mirror approach does suffer from the need to split the waveform in order to >>>>>> generate the amplitude correction waveform and minimising the 2usec wide switching spikes that show up at cross-over is what >>>>>> it >>>>>> takes to get it to work tolerably well >>>>>> >>>>>> I've swapped out the LT1115 for the LT1678 - that doesn't seem to suffer from parasitic oscillations in LTSpice 24, so it >>>>>> should >>>>>> simulate tolerably fast. >>>>>> >>>>> After fixing line wraps I had to move U1 down into position. >>>>> I then noticed an issue with C10 so I converted to ANSI in Notepad++ and saved the file. >>>> >>>> When I picked up your text file, I noted that C10 (on the output of U4, the LTC6655-1.25 voltage reference) had gone back to >>>> 3.3 - >>>> no suffix. I set it back to 3300n(F) and the circuit worked as it did for me with the harmonics mostly 80dB down with the third >>>> harmonic about 91dB down >>>> >>>>> Simulation then failed without giving any clue what was wrong. >>>>> But instead of spending hours tracing the problem I removed .ENDS from the BAS70 model. >>>> >>>> I put it back in again. and it didn't make any difference to my simulation. >>> >>> It will for anyone else using 24.1.2. >> > >>> I note that the model for MMBF4391 is still present and does not have .ENDS so why should BAS70 need it? >>> In 24.1.2 you get errors which make no sense and do not mention BAS70. >> >> The BAS70 model dates back to 2015. It's a classic Spice model - and LTSpice is supposed to run them. > >Online searching finds "A SPICE model starts with a .SUBCKT statement and ends with an .ENDS statement" which does not seem to be >applicable here. > >24.1.2 seems to simulate just fine if .ENDS is removed from the BAS70 model. >But if .ENDS is included then the simulation does not run and the following log is produced. >Now tested on two different computers running 24.1.2 > >LTspice 24.1.2 for Windows >Circuit: C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net >Start Time: Fri Feb 14 11:10:46 2025 >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(2): This sub-circuit name is not defined. >X助1 N040 N035 N006 N052 N039 LT1360 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(22): This sub-circuit name is not defined. >X助5 N037 N019 Vcc Vee N002 LT1056 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(25): This sub-circuit name is not defined. >X助2 0 N033 N017 N051 N030 OP27 > ^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(47): This sub-circuit name is not defined. >X助4 N038 N038 0 N037 N037 LTC6655-1.25 > ^^^^^^^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(57): This sub-circuit name is not defined. >X助6 N032 N021 Vcc Vee filt1 LT1013 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(62): This sub-circuit name is not defined. >X助7 N029 N013 Vcc Vee filter2 LT1013 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(80): This sub-circuit name is not defined. >X助9 0 N025 Vcc Vee N034 LT1013 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(81): This sub-circuit name is not defined. >X助10 0 N044 Vcc Vee N001 LT1056 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(87): This sub-circuit name is not defined. >X助11 0 N022 Vcc Vee N023 LT1013 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(102): This sub-circuit name is not defined. >X助3 0 N011 N024 N004 N045 LT1678 > ^^^^^^^ >C:\Users\Edward\Desktop\sloman 14 Feb 2025\sloman.net(103): This sub-circuit name is not defined. >X助8 0 N014 Vout N005 N046 LT1678 > ^^^^^^^ >The ^^ characters are positioned under the device type. >Under LT1360 for the first error. >Formatting differences may not show this correctly. > >It took me a while not long ago to slowly add/remove parts of your circuit until I found out that removing .ENDS in the BAS70 model >on the schematic eliminated the above issues and the simulation in 24.1.0 ran fine. > >> >>>> Simulation now runs fine at about 44 ms/s in LTSPice 24.1.2 >>>>> FFT is approaching 60dB >>>> >>>> Not having the right value capacitor at C10 usually totally messes it up. We've had that issue before. >>> >>> C10 is 3.3uF >>> Changing to 3300n and resimulating makes no difference. Definitely only 60dB difference between 1kHz and 2,3,4,5kHz >>> Exact circuit I'm simulating (in 24.1.2) included below. >> >> And when I run it (after having put U1 back where I intended it to go and restored it's connection to the negative rail) I got the >> second to the fifth harmonics harmonics 80dB below the fundamental with the third 91dB down. When I stretched the frequency >> display out to 100kHz the higher harmonics were going down. > >I ran your circuit to 10 seconds on 24.1.2 (about 4 minutes) and took a sample of about 60 cycles near 10 seconds. >I then did an FFT on Vout (U8 output) and selected current zoom extent and Blackman-Harris Window. >The vertical scale has 20dB at the top with 1kHz at 0dB one square down. >Another three squares down are 2,3,4,5 kHz approaching the 60dB line. > >So let's copy the asc file to another computer with LTSPice 17.0.34.0 and no component updates since installation. >Fix the position of U1 and add .ENDS to the BAS70 model. Simulate. >Speed is about the same 44ms/s but drops to 7ms/s after about 2 seconds simulated and then goes back to 44ms/s >Appearance is as above. 3.2V pk initial transient then settling at 1.6V pk. >Same FFT as above. >Approaching 80dB at 2kHz, 3kHz 4kHz 75dB, 5kHz 65dB >Remove .ENDS from BAS70 model and resimulate. >Similar result depends a little on exact sample taken, maybe a little worse at 2kHz. >Put .ENDS back again and resimulate. Exactly the same FFT result so .ENDS as used here is best removed to avoid issues when >upgrading to 24.1.x >.ENDS is only an issue in 24.1.0 or later and only in the context described above. > >So I wonder which simulation is closer to the truth. > >> >> I did let it settle down for two seconds before taking the FFT of V(out) onver the next second or so. >> >>>>> Simulated circuit included below. >>>>> I can get 80dB by adding an LC tuned circuit to a simple phase shift oscillator of the type which turns up here: >>>>> https://www.google.com/search?q=sine+wave+oscillator&udm=2 >>>> >>>> Where? There's a lot of stuff there. >>> >>> Phase shift oscillator with feedback from the collector through CRCRCRCR to the base. >> >> That is the simplest phase shift oscillator. Why didn't you identify it when you first mentioned it? > >Because it didn't matter and there is more than one example of that type of circuit. >Most circuits which turn up there can't manage more than 60dB and those which can are unlikely to manage more than 90dB. >It's not long ago when I didn't think I'd do better than 90dB in simulation, but I kept at it. Now I can do 135dB in simulation with >all simulated real (yes ok that's a contradiction) components. > >> >>>>> No gain control yet but for unknown reasons it does run at constant (unpredictable) amplitude with very critical emitter >>>>> resistor >>>>> adjustment. >>>> >>>> It's probably relying on the change in current gain with changing collector-base voltage. It is a small effect - the Early >>>> effect - and non-linear. >>>> >>>>> I'm thinking of trying the sample/hold method posted by JM but with real components. >>>>> So I need to turn a FET on (not sure for how long yet) at the peaks of the sine wave. >>>> >>>> Sample and holds tend to put spikes on the supply rails. Keeping them out of the output can take a lot of work. >>> >>> Yeah I've had that problem before, decades ago. >>> A capacitively coupled inverted sampling signal was able to sufficiently remove the problem of the sampling signal appearing in >>> the >>> output. >> >> Reduce rather than remove. Cancellation schemes rarely work perfectly. >> >>> But that may not work at 140dB down. >>> >>> Here is the exact version of your circuit from my most recent simulation of it. >> >> Give or take the usual problems. >> >> -- >> Bill Sloman, Sydney >> > ========== REMAINDER OF ARTICLE TRUNCATED ==========