I’m trying to simulate thermal (Johnson) noise. As I understand it, thermal noise follows a Gaussian distribution, power at the receiver is given by: $$ P = 4kTB $$ And the RMS voltage is given by: $$ 2\sqrt{kTBR} $$ (See https://www.sciencedirect.com/topics/engineering/thermal-noise)

Let’s say I wanted to produce some simulated thermal noise (a voltage vs time plot, given some digitization rate) in, say, MATLAB or a similar software. How would I go about this? Is the mean of the Gaussian given by \$V^2/R = 4kTB\$? Or should I generate Gaussian distributed random power values, with a mean given by \$4kTB\$, and then calculate the voltage? But shouldn’t the mean of the Gaussian be 0? I guess I don’t entirely understand what exactly is distributed as a Gaussian, about what mean it’s distributed, and how to calculate voltage.

  • 1
    \$\begingroup\$ The apparent power, measured by a perfectly mismatched device (i.e. a voltmeter with impedance = \$\infty\$ or an ammeter with impedance \$0\$) is \$4\mathrm{kTB}\$. The actual power that can be delivered to a load is \$\mathrm{kTB}\$, because Thermodynamics Rules. \$\endgroup\$
    – TimWescott
    Commented Sep 8, 2020 at 0:05

2 Answers 2


The power of a wide-sense stationary process is also it's variance. That expression refers to the variance of the Gaussian distribution, which has a mean of zero when considering white Gaussian noise. Thus the random voltage samples are distributed as

$$~N(\mu = 0, \sigma = 2\sqrt{kTBR})$$

MATLAB's randn() will generate values from a normal distribution with \$\mu = 0 \$ and \$\sigma = 1 \$. You can shift the mean and scale to the desired standard deviation as shown in MATLAB's site here.

Clarification and Follow-Up

The above means that every voltage draw comes from a normal distribution with \$\mu = 0 \$ and \$\sigma = 2\sqrt{kTBR})\$. You can of course easily modify this to change the needs of your model.

Noise figure is a measure of what the signal-to-noise ratio (SNR) is at the input of a device when compared to the SNR at the output. A more two-the-point expression of the noise figure \$F\$ of a device is

$$F = \frac{SNR_{in}}{SNR_{out}}$$

This metric is commonly seen with amplifiers, where a really good amplifier with gain \$G\$ will add as little noise as possible during the amplification process, conserving the SNR at the output. Theoretically, this value can be equal to 1, but is usually greater since real devices degrade SNR. This action occurs both due to the signal of interest being degraded and because the device adds additional noise. For decent amplifiers, the latter dominates in its contribution to degrading SNR and is what is usually modeled for simplicity.

As an example, let's say we have an amplifier quoted to have a nominal gain of 100 (20 dB) and a noise figure of 2 (3 dB). The amplifier will amplify the signal (which is your desired signal plus noise) by 100, but in the process will double the noise. You have your amplified signal at the output but the SNR is now half (or 3 dB less) than what was at the input.

Assuming that the noise figure is due to adding noise only, then you can model the noise figure as an additional factor to multiply the noise power which you already have.

  • \$\begingroup\$ Thanks for the answer! Much clearer than anything else I’ve found! So (and just to be sure I’m understanding this very, very well), the voltage at any given time is, so to speak, a random value from a Gaussian distribution with an RMS = $2\sqrt{kTBR}$. And, a follow up question (I ask here as I don’t think SE would consider this full-blown enough to post a separate question), suppose I want to consider the effect of an amplifier with some gain, X, and some Noise Figure, y. How would I modify the above to take into account that amplification? (Sorry if that sounds very basic, it’s been a while! \$\endgroup\$ Commented Sep 8, 2020 at 1:10
  • \$\begingroup\$ @PerplexedDimension I've updated the answer to address your follow-ons. \$\endgroup\$
    – Envidia
    Commented Sep 8, 2020 at 3:32

Following up on Envidia answer

  • Noise Figure requires a Noise Density be defined, thus a Resistance be defined

  • A noise figure of 3dB tells us an amplifier contributed exactly as much noise as does the Source resistance.

  • if you don't have controlled system resistances as interfaces, then the standard Noise Voltages can be used.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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