Copyright © 2010
Updated January 26, 2011. See Document History at end for details.
Simple Noise Calculations
Contrary to adding signal voltage or current, noise adds by
power. I would attempt to explain why by the following line of
reasoning. Consider that noise is random. It would be
random as to its magnitude and phase. There is no trouble adding
random voltage magnitudes directly. The random phase is what adds
additional difficulty. Consider adding a signal varying -180°
through 180° with respect to the signal to which it is added.
According to the rules of trignonometry the result will change with the
angle. Symmetry between positive and negative angles would
simplify the argument by allowing consideration of only the positive
range 0 through 180° (Positive and negative angles produce the same
magnitude result in this vector addition). Now we can see that
the average vector angle for noise voltage or current addtion is
90°. Thus noise voltage or current adds by root-sum-square.
the case of only two operands, this is the familiar Pythagorean
Noise power is easily seen to add directly by substituting the power
formulas below in the above equations and reducing (you can verify this
The root-sum-square operation is associative and commutative.
rss(rss(a,b),c) = rss(a,b,c) = rss(c,a,b)
This allows you to build on your calculations without excessive concern
White resistor noise is the most common source of noise. It is
by the random motion of atoms associated with heat.1
|Where k =
|1.3806504 x 10-23
|Conversions: K° = C° +
273.15, C° = (F°-32) x 5/9
|Bandwidth of system
In some cases, frequency response alters the effective noise bandwidth
In the case that noise is filtered by a first order RC lowpass response
the noise bandwidth is higher than the 3dB point (fo
This is because noise in the stopband still contributes to the overall
noise up to the useful upper limit of the system.
Substituting 1/(4RC) for BW in the resistor noise equation (4) and
reducing gives the capacitor noise equation.3
The capacitor is band limiting the resistor noise here in a manner
independent of the resistance. The change in bandwidth due to the
change in resistance is exactly canceled by an opposite change in its
effect on noise power per unit bandwidth. If the pole related to
this calculation is above the useful upper frequency limit of the
system (as the 20kHz upper limit of an audio system) it would be better
to calculate using that limit rather than use the capacitor noise
Bandwidth is often separated out of the noise calculation to be added
in later to simplify them or to specify noise where the bandwidth is
not yet known.
|The noise specification
separated from bandwidth is in units of V/√Hz or A/√Hz.
RIAA Noise Bandwidth by Numerical Integral
RIAA networks alter the bandwidth of their own resistance and the noise
coming into them in a somewhat more complicated way. First, I
tried to solve for RIAA noise bandwidth by utilizing the capacitor
noise equation and obtained an implausable result of 313.3Hz.
(This would be the result if calculated from a 212.2Hz first-order
lowpass response by equation
(5) and subtracted the subsonic 20Hz.) I could not rest until I
resolved the issue. As a
result, I used a textbook numerical integral4
to obtain the correct RIAA noise bandwidth. With near infinite
system bandwidth (0-1MHz), I obtained 109.325Hz. Within a system
bandwidth of 20-20kHz, I
obtained a noise bandwidth of 88.0903Hz
a first order lowpass response and comparing to the result
obtained from equation (5)
above. The correct result is very close to an earlier calculation
based on my mathematical intuition, which I discarded in favor of one
based on a textbook equation. :-(
C Code Listing
This program verified to work with the
Linux gcc and Microsoft Visual C++ 6.0 compilers.
Calculate Noise Bandwidth by Numerical Integral
/* define integral parameters in Hz */
#define INCREMENT 0.1
#define LOWERBND 20.0
#define UPPERBND 20000.0
#define twopi 6.283185307
/* time constants */
#define pole1 3180.0e-6
#define pole2 75.0e-6
#define zero1 318.0e-6
/* convert to radian frequency */
increment = INCREMENT * twopi;
lowerbnd = LOWERBND * twopi;
upperbnd = UPPERBND * twopi;
/* calculate integral */
bw = 0.0;
count = (int)(((upperbnd-lowerbnd)/increment)+0.5);
for(omega = lowerbnd,i = 0; i <= count; omega +=
/* set up trapezoidal intervals */
if(i > 0 && i <
/* execute squared normalized
function (RIAA, no gain) */
/* multiply by interval and
accumulate bandwidth */
bw += (value * interval);
/* convert radian frequency to Hz */
bw /= twopi;
/* print result */
printf("Bandwidth = %gHz\n",bw);
Stage gain is often determined by the value of a load resistor in the
case of a small signal class A circuit. Since the signal gain is
proportional to the value of this resistor but its own noise is
proportional to the square root of the same value, signal to noise
ratio in just that resistor increases with the square root of that
resistor's value. This is why I believe signal to noise ratio is
benefited by maximizing the gain of the first stage of a multi-stage
proportional to R
Adding it up
Noise sources are placed in schematics where they have their effect and
then circuit analysis determines the order that they are added.
Resistor noise adds in series with the affected resistor for voltage
and in parallel for current.5
are aspects of the same noise phenomena, use one or the other but not
both in a calculation depending on the context. Input referred
transistor noise is
probably best reflected to the gate or emitter to be added to the noise
of the local feedback resistor.
Figure 5 of the datasheet of TI's OPA227
op amp gives a fair
illustration of how op amp noise is calculated.
The next article provided on noise is Flicker
1Ferrel G. Stremler, "Band-limited White
Noise", Introduction to
Communication Systems (Reading, Massachusetts, 1982), p. 179,
equations (4.58) and (4.59)
2Ibid., p. 184.
3Ibid., p. 182, example 4.7.2.
4Ibid., p. 184, numerical integral
calcution based on noise bandwidth integral of equation (4.67)
5Ibid., p. 179, figure 4.11 and related
February 24, 2010 Created
February 26, 2010 Added supporting footnotes.
February 27, 2010 Recalculated RIAA noise
bandwidth by numerical integral.
February 28, 2010 Made minor change to C code listing to ensure
broad compiler compatibility. Now will compile and run with Linux
gcc compiler as well as Microsoft Visual C++.
August 7, 2010 Add missing word in sentence after equation (3).
October 13, 2010 Improved some wording for better clarity.
January 17, 2011 Made minor symbol improvements.
January 26, 2011 Added link to new noise article "Flicker Noise