41
\$\begingroup\$

Is there a way to setup a voltage supply with voltage jitter/noise? I want to experiment with filtering out noise on various voltages etc. but not sure how to configure LTSpice to create a noisy voltage supply.

\$\endgroup\$
50
\$\begingroup\$

Yes, you can inject noise using the arbitrary voltage (or current) source, then use things like the random or white function to create some noise.

Here is an example circuit (I separated the noise from the signal just to make things clearer - obviously you can combine them together in one function if you wish):

Noise Circuit

Simulation:

Noise Circuit Simulation

All the functions are detailed in the help under circuit elements -> arbitrary behavioral voltage or current sources.

Noise simulation mode

Also, just in case you were not aware, SPICE has a noise simulation mode, to quote from the help files:

.NOISE -- Perform a Noise Analysis
This is a frequency domain analysis that computes the noise due to
Johnson, shot and flicker noise. The output data is noise spectral 
density per unit square root bandwidth.

Syntax: .noise V(<out>[,<ref>]) <src> <oct, dec, lin> <Nsteps> <StartFreq> <EndFreq>

Basic example:

Noise mode

Simulation:

Noise mode sim

The above is rather boring as it only models the resistor noise (I stepped the resistor through various values to show how the Johnson noise increases with resistance). But it can be very useful with more complex circuits containing diodes/transistors/opamps/etc.

\$\endgroup\$
  • 1
    \$\begingroup\$ Even if too late, instead of using voltage sources added through resistors, you can simply use: V1 out 0 sin() Rser=1 B1 0 out I=white() with a direct junction. For lower noise values (and output resistance), lower Rser. \$\endgroup\$ – a concerned citizen Aug 29 '16 at 6:49
  • \$\begingroup\$ The noise voltage source is 'bv' when you press F2 to search the component. \$\endgroup\$ – Jony Jan 21 at 7:47
20
\$\begingroup\$

(Not enough rep. yet to create a comment on Oli's post, so this goes in a post of it own).

Oli's post above is very useful, but for the LTSpice beginner, it is perhaps worth explaining how to actually create of one of those "arbitrary behavioral voltage source" : I was naively expecting to be able to modify the value of a normal voltage source to enter the white(...) formula, but of course, it does not work.

Instead, you have to press the "component" button in the toolbar, and in the window that opens, pick a component of type "bv".

\$\endgroup\$
4
\$\begingroup\$

SPICE ( I can't tell you if LTSPice is a subset of normal SPICE or not) normally has the ability to model the noise that each device generates. I think your question is more about how to you measure how effective your filtering is and how much an external interfering signal may affect each node.

To do that what you need to do that is .AC analysis of the circuit.

To do a noise analysis you need to use both .ac and .noise. So noise analysis is a subset of ac analysis.

\$\endgroup\$
  • \$\begingroup\$ Just checked. LTSpice does have a noise analsysis available. But I can't find a noise source in the parts catalog --- hopefully someone can come along and say where to find it. \$\endgroup\$ – The Photon Jan 16 '13 at 17:08
  • \$\begingroup\$ @ThePhoton all devices in spice SHOULD be noisy, i.e. not ideal - noise less. So that should already be in the models. I suspect LTSpice should also have that. \$\endgroup\$ – placeholder Jan 16 '13 at 17:26
  • 2
    \$\begingroup\$ Per the Help file, "This is a frequency domain analysis that computes the noise due to Johnson, shot and flicker noise." So if you have a schematic of your circuit, you're good. But if, for example, you're creating an op-amp model based on datasheet parameters and/or measurements, you often use idealized components like controlled sources, and you want to have a noise source element to fix up the noise characteristics. \$\endgroup\$ – The Photon Jan 16 '13 at 18:02
  • \$\begingroup\$ @ThePhoton It's called honesty, I don't have LTSPICE running and I'm not about to presume things. You feeding back info on your instance is ideal. Me showing results from my full blown EDA tools may or may not be useful. Every SPICE variant does things slightly differently. \$\endgroup\$ – placeholder Jan 16 '13 at 19:35
  • \$\begingroup\$ @Photon and rawbrawb - since the models for various SPICEs are generally compatible with each other, it would suggest that the issue would lie with the models rather than the SPICE variant. As far as I am aware, the basic models do not include noise modelling for e.g. a transient sim, but will all work with the dedicated noise simulation. For instance if you try the last simulation in my answer as a transient with no input voltage, you will get 0V out (as opposed to the 20-44nV predicted) \$\endgroup\$ – Oli Glaser Jan 16 '13 at 21:27
1
\$\begingroup\$

As you want to inject noise from the power supply, I think easiest is to put a small amplitude AC voltage source in series with the DC voltage source you already have and sweep its frequency through the range you are interested in.

\$\endgroup\$
  • 1
    \$\begingroup\$ .ac does that for you automatically \$\endgroup\$ – placeholder Jan 16 '13 at 17:36
  • \$\begingroup\$ I guess I have to polish up my SPICE knowledge. \$\endgroup\$ – jippie Jan 16 '13 at 17:37
-1
\$\begingroup\$

In series with your voltage source add an E element whose inputs are attached to a 60.34e18 ohm resistor and whose gain is the desired V/rt-Hz. This resistor value produces 1V/rt-Hz at 300K. (Warning: you must ground one side of the input.)

You can use the same resistor value as the input to a voltage-controlled current source whose gain is the desired Amps/rt-Hz. (Again, one input lead must be grounded.) The noise current source connects in parallel with your noiseless current source.

You must use a separate resistor for each noise source.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.