55
\$\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\$

7 Answers 7

67
\$\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\$
3
  • 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\$ Commented Aug 29, 2016 at 6:49
  • 2
    \$\begingroup\$ The noise voltage source is 'bv' when you press F2 to search the component. \$\endgroup\$
    – Jony
    Commented Jan 21, 2019 at 7:47
  • \$\begingroup\$ The answer is in a screenshot? Is that blurry thing a brace or parenthesis? \$\endgroup\$
    – doug65536
    Commented Nov 5, 2022 at 6:05
33
\$\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\$
5
\$\begingroup\$

To create a voltage noise source in LTSpice, select the component "bv"

For the function, enter "V=white(time)"

This gives you white source of +-0.5V with upper band around 1Hz.

Multiply time*BW to move the upper band of the noise to BW.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ Welcome to the site! Your answer currently does not add anything new besides the already existent answers. If you do have something to add, please use the edit function. \$\endgroup\$ Commented Aug 22, 2020 at 15:02
  • 1
    \$\begingroup\$ nomail - I have approved your attempted edit to your answer. It's now waiting for a second approver. Your edit wasn't automatically allowed, since you were not logged-in when you tried to make the edit. If you had been logged-in, you would have been allowed to edit your own answer without any delay. (For other readers: In a now-deleted "non-answer", "nomail" stated that their reason for writing this answer was - "Basically I collected all the partial answers from the posts above to make a step-by-step answer for beginners".) \$\endgroup\$
    – SamGibson
    Commented Aug 22, 2020 at 19:20
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\$
12
  • \$\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
    Commented Jan 16, 2013 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\$ Commented Jan 16, 2013 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
    Commented Jan 16, 2013 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\$ Commented Jan 16, 2013 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
    Commented Jan 16, 2013 at 21:27
2
\$\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\$
2
  • 1
    \$\begingroup\$ .ac does that for you automatically \$\endgroup\$ Commented Jan 16, 2013 at 17:36
  • \$\begingroup\$ I guess I have to polish up my SPICE knowledge. \$\endgroup\$
    – jippie
    Commented Jan 16, 2013 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\$
0
\$\begingroup\$

If you are looking for a voltage noise source and/or current noise source for use with LTspice you can download such noise sources on my GitHub page https://github.com/yildi1337/LTspiceNoiseSources.

Below you can find screenshots of two examples:

Example with voltage noise source Example with current noise source

\$\endgroup\$
0

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