# Producing simulated thermal noise

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.

• 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. – TimWescott Sep 8 '20 at 0:05

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.

• 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! – PerplexedDimension Sep 8 '20 at 1:10
• @PerplexedDimension I've updated the answer to address your follow-ons. – Envidia Sep 8 '20 at 3:32