Howto run independent voltage noise sources (IID and GWN) in LTSpice using Bv-sources

In order to have two independent noise sources with a different random seed the rand(), or random(), or white() LTSpice-functions have to be called with a different argument, e.g.:

B1:  V=0.01*\text{white}( f_{\text{sample}}*\text{time} )

B2: V=0.01*\text{white}( f_{\text{sample}}*(\text{time}+<\text{nonzero\_number}> )

Note however, the pseudo random numbers output of the function white is NOT Gaussian white noise as the name might suggest, see also this post: https://www.linkedin.com/pulse/ltspice-rand-white-jean-francois-debroux/

Generate Gaussian white noise (GWN) distributed pseudo random numbers n_{gwn} from independent identically distributed (IID) random numbers using the Box-Muller transform:

n_{gwn}= \mu + (\sigma  \sqrt{(-2\,log( \text{rand}(f_{\text{sample}}\,\text{time}) ))\cos(2 \pi \, \text{rand}(f_{\text{sample}}\,\text{time}+\text{seed\_offset}) ) )},

with mean \mu and standard deviation \sigma. Note, that the two iid pseudo random numbers generated using the LTSpice rand()-function have to have different seed.

As soon as I find the time I will check how well that works in LTSpice and provide plots and statistics. Any feedback is very welcome.

Leave a Reply

Your email address will not be published.