Learning about oscillators in LTSpice

Oct 21, 2010 84 Replies

On Tue, 07 Dec 2010 19:59:19 +1100, Clifford Heath wrote:

[snip]

Files\\LTC\\LTspiceIV\\lib\\custom\\Transistors\\ca3000.lib"

How about this (not at all optimized)...

Version 4 SHEET 1 1568 944 WIRE 144 -160 -272 -160 WIRE 448 -160 144 -160 WIRE 608 -160 448 -160 WIRE 1264 -160 608 -160 WIRE 448 -48 448 -160 WIRE 608 -48 608 -160 WIRE -192 -32 -400 -32 WIRE -112 -32 -192 -32 WIRE -16 -32 -112 -32 WIRE 256 -32 -16 -32 WIRE -112 0 -112 -32 WIRE -192 16 -192 -32 WIRE -16 80 -16 -32 WIRE 144 80 144 -160 WIRE 1264 80 1264 -160 WIRE -272 128 -272 -160 WIRE -192 128 -192 80 WIRE -192 128 -272 128 WIRE -112 128 -112 80 WIRE -112 128 -192 128 WIRE -80 128 -112 128 WIRE 256 128 256 -32 WIRE 256 128 208 128 WIRE 704 128 256 128 WIRE 832 128 768 128 WIRE -16 192 -16 176 WIRE 64 192 -16 192 WIRE 144 192 144 176 WIRE 144 192 64 192 WIRE 64 224 64 192 WIRE 160 272 128 272 WIRE 256 272 160 272 WIRE 448 272 448 32 WIRE 448 272 256 272 WIRE 496 272 448 272 WIRE 608 304 608 32 WIRE 736 304 608 304 WIRE 608 352 608 304 WIRE 160 432 160 272 WIRE 256 432 256 272 WIRE 64 448 64 320 WIRE 448 448 448 272 WIRE 608 480 608 432 WIRE 832 480 832 128 WIRE 832 480 608 480 WIRE 608 496 608 480 WIRE 608 496 512 496 WIRE 608 544 608 496 WIRE 736 592 736 304 WIRE 736 592 672 592 WIRE 64 688 64 528 WIRE 160 688 160 496 WIRE 160 688 64 688 WIRE 256 688 256 512 WIRE 256 688 160 688 WIRE 448 688 448 544 WIRE 448 688 256 688 WIRE 608 688 608 640 WIRE 608 688 448 688 WIRE 1264 688 1264 160 WIRE 1264 688 608 688 WIRE 1264 720 1264 688 FLAG 1264 720 0 FLAG -400 -32 Vtank IOPIN -400 -32 Out FLAG 496 272 Vagc IOPIN 496 272 Out SYMBOL voltage 1264 64 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 9v SYMBOL cap -208 16 R0 SYMATTR InstName C2 SYMATTR Value 22pF SYMBOL ind -128 -16 R0 SYMATTR InstName L3 SYMATTR Value 60nH SYMBOL npn -80 80 R0 SYMATTR InstName Q1 SYMATTR Value CA3046 SYMBOL npn 208 80 M0 SYMATTR InstName Q2 SYMATTR Value CA3046 SYMBOL npn 128 224 M0 SYMATTR InstName Q3 SYMATTR Value CA3046 SYMBOL res 48 432 R0 SYMATTR InstName R2 SYMATTR Value 1K SYMBOL res 432 -64 R0 SYMATTR InstName R5 SYMATTR Value 22k SYMBOL cap 144 432 R0 SYMATTR InstName C1 SYMATTR Value 1nF SYMBOL npn 512 448 M0 SYMATTR InstName Q5 SYMATTR Value CA3046 SYMBOL cap 768 112 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName C3 SYMATTR Value 10pF SYMBOL res 240 416 R0 SYMATTR InstName R1 SYMATTR Value 22k SYMBOL npn 672 544 M0 SYMATTR InstName Q6 SYMATTR Value CA3046 SYMBOL res 592 336 R0 SYMATTR InstName R3 SYMATTR Value 200 SYMBOL res 592 -64 R0 SYMATTR InstName R7 SYMATTR Value 22K TEXT 208 928 Left 0 !.tran 0 100uS 0 1nS TEXT 208 896 Left 0 !.inc S:\PSpice\DeviceLib\AnaSoftZIP\IntersilDescrete.lib

Fix the wrap ^^^^ ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

[snip]

(1) My LTspice sim run of your oscillator didn't show it AGC-ing, it showed C-B forward as the amplitude limit.

(2) Study my crude quicky and observe the AGC.

(3) My latest VCO of this type, more than a year ago now, for a client down in your neck of the woods... Adelaide, required 11 pages of drawings ;-) ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

Jim,

I studied your circuit, but not wanting to spend 8 transistors (or whatever) in the AGC network, the best I could come up with is the attached. The AGC function works, but doesn't make the oscillator any cleaner. The differential (or is it emitter-coupled - looks a bit different than the E-C osc in AoE) oscillator is very clean to begin with (harmonics as low as 45dB down) before you add AGC, and AGC doesn't seem to help. I can't see how to get to 60dB, as your MC1648 data sheet claims.

What would you do differently?

Please also comment on my Colpitts-with-AGC circuit in the "RF PA Oscillator" thread.

Clifford Heath.

---------------------- Cut Here for Differential.asc ------------------- Version 4 SHEET 1 1100 708 WIRE 464 -160 48 -160 WIRE 624 -160 464 -160 WIRE 688 -160 624 -160 WIRE 800 -160 688 -160 WIRE 912 -160 800 -160 WIRE 1040 -160 912 -160 WIRE 48 -144 48 -160 WIRE 624 -128 624 -160 WIRE 688 -128 688 -160 WIRE 800 -128 800 -160 WIRE 128 -32 -16 -32 WIRE 208 -32 128 -32 WIRE 304 -32 208 -32 WIRE 560 -32 304 -32 WIRE 208 0 208 -32 WIRE 128 16 128 -32 WIRE 304 80 304 -32 WIRE 464 80 464 -160 WIRE 912 80 912 -160 WIRE 1040 80 1040 -160 WIRE 48 128 48 -64 WIRE 128 128 128 80 WIRE 128 128 48 128 WIRE 208 128 208 80 WIRE 208 128 128 128 WIRE 240 128 208 128 WIRE 560 128 560 -32 WIRE 560 128 528 128 WIRE 624 128 624 -48 WIRE 624 128 560 128 WIRE 736 128 624 128 WIRE 800 128 800 -48 WIRE 848 128 800 128 WIRE 304 192 304 176 WIRE 384 192 304 192 WIRE 464 192 464 176 WIRE 464 192 384 192 WIRE 576 208 496 208 WIRE 688 208 688 -48 WIRE 688 208 576 208 WIRE 704 208 688 208 WIRE 384 224 384 192 WIRE 48 240 48 128 WIRE 128 240 128 128 WIRE 496 240 496 208 WIRE 688 240 688 208 WIRE 912 288 912 176 WIRE 912 288 752 288 WIRE 928 288 912 288 WIRE 384 320 384 304 WIRE 912 320 912 288 WIRE 576 336 576 208 WIRE 800 336 800 128 WIRE 496 368 448 368 WIRE 48 432 48 320 WIRE 128 432 128 304 WIRE 128 432 48 432 WIRE 384 432 384 416 WIRE 384 432 128 432 WIRE 576 432 576 400 WIRE 576 432 384 432 WIRE 688 432 688 416 WIRE 688 432 576 432 WIRE 800 432 800 416 WIRE 800 432 688 432 WIRE 912 432 912 400 WIRE 912 432 800 432 WIRE 1040 432 1040 160 WIRE 1040 432 912 432 WIRE 1040 464 1040 432 FLAG 1040 464 0 FLAG -16 -32 Vtank IOPIN -16 -32 Out FLAG 704 208 Vagc IOPIN 704 208 Out FLAG 928 288 Veout IOPIN 928 288 Out SYMBOL voltage 1040 64 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 9v SYMBOL cap 112 16 R0 SYMATTR InstName C2 SYMATTR Value 22pF SYMBOL ind 192 -16 R0 SYMATTR InstName L3 SYMATTR Value 60nH SYMBOL npn 240 80 R0 SYMATTR InstName Q1 SYMATTR Value CA3046 SYMBOL npn 528 80 M0 SYMATTR InstName Q2 SYMATTR Value CA3046 SYMBOL npn 448 320 M0 SYMATTR InstName Q3 SYMATTR Value CA3046 SYMBOL res 368 208 R0 SYMATTR InstName R2 SYMATTR Value 220 SYMBOL cap 112 240 R0 SYMATTR InstName C4 SYMATTR Value 1nF SYMBOL diode 480 304 R0 SYMATTR InstName D2 SYMBOL res 672 -144 R0 SYMATTR InstName R5 SYMATTR Value 22k SYMBOL npn 848 80 R0 SYMATTR InstName Q4 SYMATTR Value CA3046 SYMBOL cap 560 336 R0 SYMATTR InstName C1 SYMATTR Value 1nF SYMBOL npn 752 240 M0 SYMATTR InstName Q5 SYMATTR Value CA3046 SYMBOL res 672 320 R0 SYMATTR InstName R7 SYMATTR Value 1k SYMBOL res 896 304 R0 SYMATTR InstName R8 SYMATTR Value 470 SYMBOL res 32 -160 R0 SYMATTR InstName R1 SYMATTR Value 47k SYMBOL res 32 224 R0 SYMATTR InstName R3 SYMATTR Value 4.7k SYMBOL res 784 -144 R0 SYMATTR InstName R4 SYMATTR Value 47k SYMBOL cap 800 112 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName C3 SYMATTR Value 10pF SYMBOL res 608 -144 R0 SYMATTR InstName R9 SYMATTR Value 47k SYMBOL diode 480 240 R0 SYMATTR InstName D1 SYMBOL res 784 320 R0 SYMATTR InstName R6 SYMATTR Value 10k TEXT 104 -200 Left 0 !.tran 0 10uS 0 1nS TEXT 88 464 Left 0 !.inc "C:\\Program Files\\LTC\\LTspiceIV\\lib\\custom\\Transistors\\ca3000.lib"

I had played with multiple different levels of AGC, and you're right, this one shows almost none.

But my point is that even if you adjust things so it does AGC, the tank purity doesn't change. As it is, the fundamental is -7dB, 2nd and

3rd harmonic are -50dB... hardly any point trying to improve that with AGC...?

The tank purity is what I'm after, since I'm looking for a wide-range VFO that will need minimal to no filtering.

Nice AGC, but poor tank purity - 2nd harmonic is 32dB down.

However, I've modified mine to use the same biassing you use in the oscillator cell (deleting unnecessary components) and tweaked things, and I now have nice AGC and 42dB between fundamental and 3rd, with the

2nd harmonic being 57dB down(!). Still stabilises in 4uS. Attached.

I'm still having trouble working out how to take a feed off this oscillator without affecting its behaviour. Simple emitter followers from the tank work ok, but if I want gain as well, it doesn't seem to behave logically.

In case you have a different version of the model (though mine is Intersil too), I've included a snippet of my ca3000.lib too.

Sounds like a serious oscillator. What was the most stringent design goal?

Clifford Heath.

--------- Cut Here for ca3046.lib ---------- .model CA3046 NPN

  • (IS = 10.0E-15 XTI=3.000E+00 EG=1.110E+00 VAF=1.00E+02
  • VAR=1.000E+02 BF=145.7E+00 ISE=114.286E-15 NE=1.480E+00
  • IKF=46.700E-03 XTB=0.000E+00 BR=.1000E+00 ISC=10.005E-15
  • NC=2.000E+00 IKR=10.00E-03 RC=10.000E+00 CJC=991.71E-15
  • MJC=0.333E-00 VJC=0.7500E-00 FC=5.000E-01 CJE=1.02E-12
  • MJE=.336E-00 VJE=0.750E-00 TR=10.000E-09 TF=277.01E-12
  • ITF=1.750E-00 XTF=309.38E+00 VTF=16.37E+00 PTF=0.000E+00
  • RE=0.0E+00 RB=0.00E+00

--------- Cut here for Differential2.asc ---------- Version 4 SHEET 1 1100 708 WIRE 304 -160 208 -160 WIRE 384 -160 304 -160 WIRE 464 -160 384 -160 WIRE 688 -160 464 -160 WIRE 800 -160 688 -160 WIRE 912 -160 800 -160 WIRE 1040 -160 912 -160 WIRE 384 -128 384 -160 WIRE 688 -128 688 -160 WIRE 800 -128 800 -160 WIRE 912 -128 912 -160 WIRE 304 -112 304 -160 WIRE 912 16 912 -48 WIRE 944 16 912 16 WIRE 304 32 304 -48 WIRE 384 32 384 -48 WIRE 384 32 304 32 WIRE 560 32 384 32 WIRE 592 32 560 32 WIRE 304 80 304 32 WIRE 464 80 464 -160 WIRE 912 80 912 16 WIRE 1040 80 1040 -160 WIRE 208 128 208 -160 WIRE 240 128 208 128 WIRE 560 128 560 32 WIRE 560 128 528 128 WIRE 736 128 560 128 WIRE 800 128 800 -48 WIRE 848 128 800 128 WIRE 304 192 304 176 WIRE 384 192 304 192 WIRE 464 192 464 176 WIRE 464 192 384 192 WIRE 688 208 688 -48 WIRE 688 208 624 208 WIRE 704 208 688 208 WIRE 384 224 384 192 WIRE 688 240 688 208 WIRE 512 272 496 272 WIRE 576 272 560 272 WIRE 624 272 624 208 WIRE 624 272 576 272 WIRE 912 288 912 176 WIRE 912 288 752 288 WIRE 928 288 912 288 WIRE 576 320 576 272 WIRE 912 320 912 288 WIRE 384 336 384 320 WIRE 624 336 624 272 WIRE 800 336 800 128 WIRE 384 432 384 416 WIRE 576 432 576 400 WIRE 576 432 384 432 WIRE 624 432 624 400 WIRE 624 432 576 432 WIRE 688 432 688 416 WIRE 688 432 624 432 WIRE 800 432 800 416 WIRE 800 432 688 432 WIRE 912 432 912 400 WIRE 912 432 800 432 WIRE 1040 432 1040 160 WIRE 1040 432 912 432 WIRE 1040 464 1040 432 FLAG 1040 464 0 FLAG 592 32 Vtank IOPIN 592 32 Out FLAG 704 208 Vagc IOPIN 704 208 Out FLAG 928 288 Veout IOPIN 928 288 Out FLAG 944 16 Vcout IOPIN 944 16 Out SYMBOL voltage 1040 64 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V1 SYMATTR Value 9v SYMBOL cap 288 -112 R0 SYMATTR InstName C2 SYMATTR Value 22pF SYMBOL ind 368 -144 R0 SYMATTR InstName L3 SYMATTR Value 60nH SYMBOL npn 240 80 R0 SYMATTR InstName Q1 SYMATTR Value CA3046 SYMBOL npn 528 80 M0 SYMATTR InstName Q2 SYMATTR Value CA3046 SYMBOL npn 448 224 M0 SYMATTR InstName Q3 SYMATTR Value CA3046 SYMBOL res 368 320 R0 SYMATTR InstName R2 SYMATTR Value 220R SYMBOL diode 512 256 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName D2 SYMBOL res 672 -144 R0 SYMATTR InstName R5 SYMATTR Value 22k SYMBOL npn 848 80 R0 SYMATTR InstName Q4 SYMATTR Value CA3046 SYMBOL cap 608 336 R0 SYMATTR InstName C1 SYMATTR Value 470p SYMBOL npn 752 240 M0 SYMATTR InstName Q5 SYMATTR Value CA3046 SYMBOL res 672 320 R0 SYMATTR InstName R7 SYMATTR Value 470 SYMBOL res 896 304 R0 SYMATTR InstName R8 SYMATTR Value 220 SYMBOL res 784 -144 R0 SYMATTR InstName R4 SYMATTR Value 47k SYMBOL cap 800 112 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName C3 SYMATTR Value 10p SYMBOL diode 560 256 R90 WINDOW 0 0 32 VBottom 0 WINDOW 3 32 32 VTop 0 SYMATTR InstName D1 SYMBOL res 784 320 R0 SYMATTR InstName R6 SYMATTR Value 10k SYMBOL res 896 -144 R0 SYMATTR InstName R10 SYMATTR Value 220R SYMBOL res 560 304 R0 SYMATTR InstName R1 SYMATTR Value 10k TEXT 208 264 Left 0 !.tran 0 10uS 0 1nS TEXT 200 464 Left 0 !.inc "C:\\Program Files\\LTC\\LTspiceIV\\lib\\custom\\Transistors\\ca3000.lib"

[snip]

Device measures losses to the adjacent environment, by way of a linearized AGC curve, which is then A-to-D'd. ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.
[snip]

Should have also commented, CA3046 is stretching it to make 100MHz+ ...Jim Thompson

-- | James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at

formatting link
| 1962 | I love to cook with wine. Sometimes I even put it in the food.

Naaaah! My pleasure! ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

Higher Q produces cleaner oscillators. And think like a child's swing, push at the top, powerful and short. The ideal is to replace energy lost each swing. ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

Yes. Funnily enough, it's less troublesome (in simulation) than my much faster alternative, BFR93A. I guess because it isn't fast enough to do the bad things which parasitics would allow.

Many thanks for your help and advice - I feel honoured.

Clifford Heath.

I do feel that, though my last effort was good, I should be able to do better. Even if that means changing the device. Would a JFET produce a cleaner oscillator, in general?

Clifford Heath.

"Jim Thompson" wrote in message news: snipped-for-privacy@4ax.com...

Yabbut... isn't an oscillator whereby the active device remains in continuous conduction less (phase) noisy than one that's only on for part of each cycle?

...that's what I've been led to believe by various RF design books I've read...

Good question. Maybe Wescott or Hobbs would have an answer. ...Jim Thompson

| James E.Thompson, CTO | mens | | Analog Innovations, Inc. | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | Phoenix, Arizona 85048 Skype: Contacts Only | | | Voice:(480)460-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://www.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I even put it in the food.

nuous

ycle?

Newer books have a different answer.

Planar Microwave Engineering by Thomas H. Lee section 17.4 (page

582)

points out that a pulse to add power to a resonator will shift the phase of the oscillation unless it occurs at the peak. So you will cause AM changes, but phase changes are optional...

There is more in the book and it has the following footnotes:

A. Hajimiri and T. Lee, "A General Theory of Phase Noise in Electrical Oscillators", IEEE J. Solid-State Circuits, v. 33 no. 2, February 1998, pp 179-94

A. Hajimiri and T. Lee, The Design of Low-Noise Oscillators, Kluwer, Dordrecht, 1999.

So the child swing model is good...

phase noise simulation possible with LTspice?if how?

There is a way to combine .noise and .tran analyses into a single analysis I call, .tranoise

The idea is to expand the models to appropriately include noise, then when tran runs the 'effects' from all those noise sources shows up and you get a very accurate picture of what is going on. For example, analog OpAmps show 'fuzz' on the time line plots, the spectrum analysis shows an accurate noise floor, when an OpAmp is driven into slew rate limit, you can see the noise floor jump, mixers/non-linear circuitry changes the noise, etc

Perhaps, using .tranoise to simulate an oscillator would more realistically provide the 'starting' impetus AND once running accurately allow you to measure phase noise. ...To refresh my memory, doesn't phase noise cause what should be a line on the spectrum analyzer to spread slightly creating what's called, a 'skirt' at the bottom of the spectrum plot? Instead of a line, you get this teepee shaped output. I vaguely remember seeing little +/-60, 120Hz lines too.

Right. You'd have to build multiple independent time-domain noise generators and add them to all the resistors and semiconductors and power supplies in a time-domain sim. LT Spice doesn't include Johnson or shot noise in a transient sim.

Version 4 SHEET 1 880 680 WIRE 320 64 128 64 WIRE 368 64 320 64 WIRE 400 64 368 64 WIRE 128 96 128 64 WIRE 320 112 320 64 WIRE 128 208 128 176 WIRE 320 208 320 192 FLAG 128 208 0 FLAG 320 208 0 FLAG 368 64 NOISE SYMBOL bv 128 80 R0 WINDOW 0 -198 53 Left 2 WINDOW 3 -336 104 Left 2 SYMATTR InstName B1 SYMATTR Value V=random(100*time) - 0.5 SYMBOL res 304 96 R0 WINDOW 0 -59 37 Left 2 WINDOW 3 -56 73 Left 2 SYMATTR InstName R1 SYMATTR Value 1 TEXT -96 64 Left 2 !.tran 5

is one way to make some noise.

John Larkin Highland Technology, Inc jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

usually need the .options plotwinsize=0

not very 'flat' rolls down about 15dB between 20 and 50Hz, should be flat at least out to that. was it supposed to be flat? calibrated? have 'any' known characteristic? or, just make noise?

even going to maximum time step of over 100x smaller than the maximum frequency [Nyquist] the noise rolls down almost 5 dB at the 'high' end. So conclusion, yes makes noise, but not very controllable and even slowing down your analysis won't make that noise source flat enough to count on it, plus I see no way to include the 1/f noise in an OpAmp

and worst of all!!! put two in your circuit and they both produce the SAME voltage!!! just like white() does.

A narrowband FFT of a noisy time-domain circuit is going to get grim. It's like a time-domain analysis of a high-Q crystal oscillator, likely to result in unbearable sim times.

Nyquist is 50 Hz. Most real systems are flat to, say, half of Nyquist. This isn't bad for something this simple.

Well, obviously, you'd have to adjust the time quantization (and max timestep) to get wider bandwidth noise. And the RMS value can be changed, too; want to know how?

Add a shaping filter. Or demand your money back.

Then change the time scalers. Change the amplitudes. Sum a few to make things more Gaussian... there might even be a theorem about that.

Or post something better.

John Larkin Highland Technology, Inc jlarkin att highlandtechnology dott com http://www.highlandtechnology.com

How long the simulation time runs determines the BW and how small the maximum step determines the maximum frequency. With 10 uncorrelated true gaussian noise sources I analyzed the analog multiplier MC1496 made out of the CA3046 NPN's. Using BW of 100Hz BW out to 5MHz max frequency kept the simulation times resonable on this 500MHz machine. Just have to use reason.

Where do you get that the Nyquist is 50Hz? In your circuit it was actually

102.4Hz, I used half, at 50Hz, to give some allowance, albeit was not enough.

That's a bit impudent, considering. Yes, for edification I do want to know how YOU would set ten independent gaussian noise sources to represent the contribution from ten resistors? I'm keeping it simple and not even including a transistor. I'll even help a bit, let's set the BW to 10Hz and the maximum frequency of interest to 100kHz.

Actually, the way I do it, it is VERY easy to add the 1/f and control what you have.

Change in some arbitrary manner? No way! Again, what I do is CALIBRATED, so the results have value. The technique to get .tranoise is TRUE circuit simulation where in one pass you get BOTH .noise and .tran AND any interaction going on in the non-linear circuitry.

How? The zipped package for doing the MC1496 analysis was 35MB. If we can get someone to build it into LTspice, it would be less than 3k, and be text.

The resistor model is very simple, consisting of a calibrated current noise source attached to the nodes of the resistor. As a result, the technique does not even increase the node count in the circuit. Anybody who has worked with PSpice knows the advantage of keeping node count low. Plus, the model does NOT get in the way of the normal .ac or .noise analysis.

Also, the technique provides flat noise spectrums out to the Nyquist rate.

If ten is too difficult, look forward to seeing how you propose to doing two resistor noise models.

100 samples per second, 50 Hz Nyquist.

BW of what is 10 Hz?

Well, how do you do it? Post an LT Spice circuit.

Blather.

John Larkin Highland Technology Inc www.highlandtechnology.com jlarkin at highlandtechnology dot com Precision electronic instrumentation

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required