You are on page 1of 10
Axotron Blog happen to w Voltage and Current Noise Sources in LTspice noise Simulations (© 2017-09-13 teElectronics Update 2019-03-14: As Jason pointed out in a comment, the simulations below involving Laplace sources do not directly work in LTspice XVI. The reason seems to be that LTspice changed its behavior such that it now (incorrectly) considers nodes connected to ground via the kind of behavioral current sources used here to be floating. To remedy this without affecting the simulation results, a very large re- sistor e.g. 1 GQ) can be inserted between such nodes and ground. ‘There does not seem to be a direct way of adding a voltage noise or current noise source to an LTspice (orother kinds of Spice for that matter) circuit to be used in a noise simulation. itis however possible to add noise sources to be used in tran (time domain) simulations using behavioral sources, but this is not what this postis about. Instead it shows a method of adding white (Johnson as well as shot) and 1/f (flicker) voltage or current noise sources of the desired amplitude to be used in .noise simulations, One case where such noise sources can be useful is when making simulation models of amplifiers (like ‘opamps) where the input referred voltage and current noises are known from the datasheet. The only simple noise source (that affects .noise simulations) in LTspice isa simple resistor. Other noise sources exist in semiconductor device models, but those models are more complex and messy. ‘An ideal resistor has a voltage noise described by: V, = V4RTBR Where kis Botzmann's constant (1.381*107 J/k), Tis the temperature in Kelvin (300 K by defaultin Ltspice), Bis the bandwidth in Hz and R isthe resistance in Q, A datasheet for an amplifier typically specifies the white voltage noise in units of nV/VHz-and current noise in fA/Hz (sometimes pA/H2}. So, can we somehow create noisy voltage and current sources based on noisy resistors? The answer is yes, by using dependent sources. To create a white voltage noise source, we can connect the input ter- rminals of a voltage dependent voltage source (E source) to a resistor and use a suitable scaling factor. ‘The dependent source isolates the resistor from any circuitry that is connected to it and preserves the voltage noise amplitude regardless of load. ‘As mentioned above, the noise source we are trying to model is usually specified in nV/Hz, so it ‘would be convenient to be able to directly enter that number as part of the model. A simple way of doing thatis to select a resistance that produces a noise density of 1 nV/ Hz and enter the noise am- plitude from the datasheet as the voltage gain of the dependent source. Solving the above equation for v= 1 nV when T=300 K and B= 1 Hz gives R= 60,343 0, The resulting LTspice schematic for a 4.5 nv/\Hz voltage noise source is thus: 45 White voltage noise source with a noise density of 4.5 nV/NHz Similarly, to create awhite current noise source, we can use a voltage dependent current source (6 source). To allow us to set the transconductance factor ofthe source tothe noise density in fA/Hz, we need a resistor with a noise density of 1 fV/vHz, which means that the resistor shall have the very. ‘small value of 60.343 pA (piko ohm)! A current noise source with a noise density of 4 fA/VHz can thus be modeled like this: White current noise source with a noise density of 4 FA/NHz Often, one is also interested in flicker noise, whose power density is proportional o1/f, Le. it de- creases with frequency. Ifthe power density is proportional to 1/f, the voltage (or current) noise den- sityis proportional to 1A. This makes ita bitharderto create a model for this kindof noiseinLTspice, butitisstil possible, The trick sto use the white current noise source above and connect to abe- havioral current source (B source) which has a Laplace function that makes it behave like an imped- ance whose magnitude s IA, Ifound the documentation tobe abit unclear on behavioral sources, but after some experimentation | got the following to work: 1 Laplace= sqrt(si2ipi) {sqrt(100)} Flicker voltage noise source with an amplitude of 1.8 nv/WHz at 100 Hz. ‘The documentation for a behavioral source in LTspice says that “If an optional Laplace transform is, defined, that transform is applied to the result of the behavioral current or voltage.” It seems that ap- plied in this case means divided by. Unexpected in my opinion. So the way this B source works is that it produces a curren that's the same as the voltage across it (divided by an implicit resistance of 10 to gt the units right) and this curent is modified by dividing it in the Laplace/frequency domain by the Laplace expression v(s/2n). The complex frequency vari- able s of the Laplace transform can be written as s = o+jw = o+j2nf where fis the frequency in Hz (and aris the hard-to-interpret real part of , which canbe set to Oto essentially convert the Laplace trans- form into a Fourier transform. By dividing by 2, we get the desired behavior ofan impedance whose magnitude i equal to 1A. This impedance is not a pure resistance, buta complex impedance that wll cause a phase shit of 45 degrees between current and voltage, Phase shi are however ire ‘evant when dealing with noise (unless there are multiple signal paths from a noise source to a node) and the important thing here i thatthe magnitude ofthe impedanceis right. we wanted to model a resistor with a resistance off, we could divide sby 1.1 to make the impedance real ike this Laplace = sqrt(s/2/pi/sqrt(-1)). This would work equally well in our model for flicker noise, but the ex- pression is bigger and clumsier without changing the noise simulation results. ‘The level of icker noise is typically given in one of two ways in datasheets ither one can read the level off a graph at some frequency where the flicker noise dominates, oritis specified asthe comer frequency feat which tis equal tothe white noise level at the same node. In both cases we know the noise level at some frequency and we would ofcourse lke tobe able to input these two numbers into the noise generator model. This is done by setting the nose level atthe specified frequency) as the transconductance ofthe G source and by setting the gain of the E source tothe square root of the specified frequency. The reason we need to use the square oot of the frequency is ofcourse thatthe white noise current from the G source is multiplied by 1/Nfby the B source and that we want to scale it backup tothe same intensity precisely tf. Multiplying the noise by f obviously cancels the I/F factor at Aflicker current noise generator can be created in a very similar manner. The only difference is that the output is produced by a G source and that the noise generating resistor is 60.343 pO. Here is an example: G2 I=V(noise1) Laplace= sqrt(s/2/pi) {sqrt{7000)} Flicker current noise source with an amplitude of 2.3 f4/NHz at 7000 Hz. So let’s put all of tis together and create a noise model of an opamp connected as a voltage follower tke this: Opamp voltage follower. ‘As an example, | selected OPA838 whose datasheet contains the following noise specifications: Input voltage noise f>4 kHz 18 nViNHz Voltage noise 1/f comer frequency 100 Hz Input current noise f > 100 KHz 1 | pavHz Current noise 1/f comer frequency 7 kHz OPA838 noise specifications. 2 3 TT cM 2 ~ — 5VEn = 4H Lt tt LY {| Hi 3VEn = | —5Vvin Ee — 3ViIn ar\ e | 210 NEE oe H 36 t =z | S \ Ctl | I 2]- I o TTI STINE TTT rT] | | CTH £ | Lu] | Ss g I 3 | #1 10 100 1k 10k 100k 1M 10M Frequency (Hz) Figure 39, Input Spot Noise Density OPA838 noise plots. Here isthe resulting noise model with all four noise sources (and 10 resistors to make LTspice XVII happy): -noise V(out) VI oc 100 1 10Mep OPA838 input noise model. Link to the above LTspice schematic The white current noise is 1000 fA/VHz (R3, G2) and the current noise corner frequency is 7000 Hz (R4, 63, B2, G4). The white voltage noise is 1.8 nV/VHz (R2, E2) and the voltage noise corner frequency is 100 Hz (R1, G1, 81, 1) ‘The 10 kA source resistor RS is not part of the noise model of the opamp input itself, buts the imped- ance of the circuit driving the opamp input. This resistor converts the current noise into a noise volt- age at the opamp input. ‘The out node is actually the non-inverting opamp input in this model, Aquick look at the circuit reveals that the 1 pA/VHz times the 10 k0 input resistor results in a noise voltage of 10 nv/vHz, which will dominate over the much smaller 1.8 nv/VHz white voltage noise, Here are the simulation results from LTspice: whe Toe TO0H2 Noise simulation results. ‘The green curveis the total nose atthe out node, flattening out at around 16 nV/\izat high frequen- cies. The other curves show the individual contributions from the various noise sources. Below 4 kHz, the current flicker noise (R4) dominates and above that the noise from the source resistor R5 is the largest contributor, closely followed by the white current noise (R3}). In this circu, the voltage noise sources R1 and R2 have negligible effect and even the white current noise source contributes less than what the source resistor does, so it is only below ~4 kHz that the opamp noise (in particular the cur- rent flicker noise) becomes dominant in this application. The very good voltage noise specification of OPAB3B sof litle value with this high a source impedance 12 thoughts on “Voltage and Current Noise Sources in LTspice .noise Simulations” 2017-12-08 at 04:11 Outstanding blog post. This is tremendously helpful. Kevin RVold 2018-02-02 at 11:52 Excellent tutorial, Bookmarked for future and frequent reference! Richard ‘Aston 2018-03-15 at 09:25 Thanks so much for sharing such a valuable tutorial. | really appreciate your wonderful explanation Jacob Franson 2018-07-19 at 11:27 Thank You Very Much. Sreehari B Nair 2018-08-07 at 19:20 Itdoes not work forme |lam just trying the white noise voltage source fausto bartra Per Magnusson Eriserdi Mollaymeri Rohan Garje 60.243 resistor & VCVS l always get zero volts or current ouputs am runing transient simulation any suggestions? Thank you Fausto 2018-08-07 at 20:33, Hi Fausto, {As mention in the heading and in the first paragraph of the blog post, this is about noise sources for noise simulations, not for tran simulation. You might be able to use behavioral sources to emulate noise in tran simulations to be able to study noise in the time domain, but this is something | have not looked into. Per 201 3-12-06 at 14:19 When it comes to .noise simulation it works perfectly fine, | know this is net meant for tran simulation but | have been scratching my head for few days on how to implement flicker noise to an already existing system and study its effect in the time domain. Is there any way how to try and implement this for tran simulation? 2020-08-29 at 08:37 Hi, did you find the way to implement flicker noise for tran simulation 2019-03-14 at 12:58 Jason Per Magnusson Nur Per Magnusson Hi, my simulation does not work. The simulation states that the nodes of noise_if and noise_vfare left floating. | used the file exactly as downloaded. Any ideas? 203 3-03-14 at 16:15 Hi Jason, Thanks for reporting this. In earlier versions of LTspice, this was not a problem, but apparently LTspice XVII thinks the nodes only connected to GND via a current source and a behavioral current source are floating. They really are notin this case, so this seems like some kind of bug. ‘A workaround is to connect very large resistors between the “floating” nodes and. GND, I tried with 1 tera-ohm resistors and this did the trick. |have now updated the blog post accordingly. Per 2020-05-01 at 13:40 Hi, shouldn't the 1 Tohm resistors be “noiseless”? 2020-05-01 at 15:40 Hi Nur, In principle yes. However, in practice it makes no difference. The noise current from such a resistors sqrt(4KTB/R). With an R of 1 Tohm in the denominator, this current, is trly insignificant. This is easy to show if you just plugin the numbers for the Contribution in the part ofthe spectrum where the white noise is dominating (in the 1/-region the contribution is even les significant. Per This site uses Akismet to reduce spam, Learn how your comment data is processed.

You might also like