N
oise is the name we normally give to something that we don't like, we don't want, we don't need, and we wish to get rid of. Noise can come from improper handling of signals or it can occur naturally as a part of nature. Often noise is something that exists without too much specification and is remedied blindly with capacitance in hardware or averaging in software.
But it turns out that noise can be useful in many contexts. In fact, last month, I
described several kinds of noise that have been specified and categorized using colors. I also provided some uses for them and showed that noise can be described by the same technology as the stuff we prefer, which we call signals.
Besides white noise, one of the most useful and well known is pink. Pink noise is evident in all forms of engineering and science from solid-state circuits to astrophysics and music. Unlike white noise, it bears a logarithmic characteristic, and, as such, represents a
psychoacoustic equivalent of white noise sweetened for human ears. This is the signal used to test speakers and set equalization in theaters and other venues. When you tune up your home multimedia system, the noise used to drive the speakers for the volume settings is probably pink noise.
White noise, like the color white, contains all the elements that other colors of noise are composed of. White noise is truly random in nature and will not correlate. It contains equal energy at all frequencies. This
noise is useful for dithering to eliminate quantization distortions, music synthesis, and general audio effects, such as chorusing.
Both white and pink noises are useful for analyzing and measuring system characteristics. Pink noise is especially appropriate for perceptual measurements, as well as useful in synthesis of audio control and sound.
In this column, I will review techniques for producing pink noise both in the analog and digital domains and present some algorithms you can use to produce
your own noise.
Analog electronic noise
White noise has uses that range from mathematics, analysis (such as determining the frequency response of mechanical equipment), and creating voices in music to zero bias control signals. As you might guess, a signal that does not correlate would be produced by a generator capable of truly random outputs. But truly random signals are not so easy to produce.
There is a general
misunderstanding about what a random value is. Random numbers are not arbitrary numbers. If you ask your friend for a random number, what you will probably get is an arbitrary number; this is something pulled out of a hat based on the context of the occasion. But for a number to be random, it must have an equal chance of being chosen out of some known range and precision. Machinery and electronic equipment (including computers) can do anything we want them to. Unfortunately, machines (and computers) can eventually
become repetitive. That is, the sequence that we produce will eventually repeat. The trick is to build the machine so that the random sequence is long enough for our purposes.
Using simple digital techniques, we can generate plenty of noise. A common technique utilizes long shift registers. The input to the shift registers is the binary sum (modulo 2) of some of the later bitsıthe actual circuitry comprises shift registers and exclusive-or gates, since a sum modulo 2 results in an exclusive-or.
This produces a pseudorandom sequence with a length that depends on the length of the shift registers. We then process this sequence with a lowpass filter to create white noise in the analog domain. You will see a similar technique in one of the algorithms that follow for generating white noise. If you prefer a single IC over three or four discrete ones, there's the MM5437. Of course, there are other means of generating random sequences, such as Fibonacci systems, which are capable of very long sequences. (At
the end of the column is a short bibliography of references that provides much more detail on this and other techniques.)
Now, if we have a means to produce white noise, we can fashion some ways to also produce pink noise.
Analog pink noise
Pink noise has equal energy per octave instead of equal energy per frequency like white noise. In other words, its energy is equal to 1/f, which describes a -3dB/octave response. This
means that each octave of increasing frequency should contain half the power of the preceding one.
In the analog domain, pink noise is often fashioned from white noise with filters. Since a simple RC filter drops off at -6dB/octave, we need something a bit more sophisticated to produce the response we are after.
Figure 1 illustrates a typical application generating pink noise. You see that a white noise generator is buffered and used to drive a parallel set of shelving type filters. The
result is buffered and output.
FIGURE 1: A typical application generating pink noise
What is a shelving filter? It is a filter in which attenuation occurs as expected but instead of going on infinitely, it stops at a certain level, or shelf. To see how this works, realize that each RC combination shown is really a fixed resistor and a frequency variable resistor in series. The resistance of the capacitor
varies with frequency:
Here, of course, w is equal to 2πƒ, C is the value of the capacitor (in farads), and -i is equal to
, which indicates that the phase of the current in the device is 90 degrees out of phase with the input. The voltage drop across the RC element will depend on the reactance (AC
resistance) of the capacitor at any one frequency. A 1 microFarad capacitor will have an effective resistance of 2,653 ohms at 60Hz, 159 ohms at 1kHz, and 0.16 ohms at 1MHz.
Placing this in series with a fixed resistor and a voltage source means that we will be varying the load on the voltage source (through the 66.5K resistor) that depends entirely on the frequency. At a high frequency, the circuit will draw more current from the voltage source than at a low
frequency.
In this way, we can
program the response for each frequency band that we are interested in and see that the power output (through the 0.1 microFarad capacitor) is truly what we want.