The schematic at right, shows about the simplest white noise generator that can be devised. Q2 is used as a zener diode. It's emitter base junction is reversed biased, which in the 2N3904 has a breakdown voltage near 6 volts. The zener action produces random noise, which is from a bandwidth point of view, considered to be “white noise”.
Transistor Q1 amplifies this noise to a signal level in the neighbourhood of 2.5 volts peak to peak. This is a dead simple circuit to breadboard and the reader is encouraged to try it. Take the output and apply the signal to an amplifier. Turn the circuit's power off and on to convince yourself that the noise is being generated by the circuit. If 15 volts is not convenient, the circuit will also operate at 12 volts.
While the schematic is drawn by LTspice here, it will not simulate the noise. This circuit must be tested in real hardware. The author's breadboard circuit produced about 2.5 volts peak to peak noise. The transistors had a tested Beta of approx 408.
Using DL4YHF's Audio Spectrum Analyzer ("Spectrum Lab") on a PC, I was able to get a crude test of the audio spectrum.
There are three plots shown in the graph.
From the red plot, it can be seen that the spectrum power starts at DC to be about -47 dB and then drops to about -55 dB at 20 kHz. A 6 dB drop over the audio spectrum.
Unlike white noise, the pink noise spectrum drops at a rate 3 dB / octave with increasing frequency. Since RC filters operate at multiples of 6 dB / octave, building the required filter to generate pink noise from white noise, presents a bit of a challenge. So before I decided upon a circuit, I checked out some published circuits.
For lack of a better title, I dubbed this one the “MC4558 Pink Generator”. This circuit is the "Pink Noise Generator for Audio Testing" by Rod Elliott. I have reproduced the white noise amplifying stage and the pink noise filter stage that follows in LTspice, shown at right.
While his circuit was designed to be used as an audio tester, I decided to bring out the white noise output to allow a comparison to the pink noise output. Also, his diagram shows potentiometer VR1 to allow adjusting of the pink noise output level. I've just shown this as R1, as if the pot was turned up for maximum output at “Pink”.
How does this circuit perform. Is it a good candidate?
The pink noise output level on the other hand is an amplitude of 1 volt (at 1kHz).
The spectral plots immediately show the differences in relative output levels. Beyond that, it would appear that the white noise output is somewhat deviant from the ideal at the low end. It seems to flatten out starting near 100 Hz.
The pink noise slope is a rather good, with a small amount of wavyness.
The next one I looked at was called Ray's Pink Enough for Me Generator. Right away, from the name, you know that this circuit represents a compromise. But how much of a compromise is it?
Ray's circuit is first of all based upon +/- 9 volt supplies. This circuit should easily accommodate +/- 15 volt supplies. However, I'll simulate it as it was documented to make sure we don't arrive at any false conclusions.
The simulation originally assumed about a 30mV noise level going it. However, plugging in a 1kHz 30mV signal, it became evident that this level causes distortion in the output of pink opamp U1. Backing it off to about 17 mV or less corrected this.
In the white noise circuit at the top of the page, the 2N3904 transistor produced a signal with an amplitude of about 2.5 volts peak to peak (or 1.125 volts amplitude). If you assume a Beta near 100 (Ic is about 2.5 mA when Vcc=12V), then the white noise amplitude is likely around 25 mV. So the gain of U1 may need to be reduced.
The spectral response is shown below. It is rather disappointing. The drop below 10Hz is ok and desirable.
The 12 dB increase over the white response between 100Hz and 2kHz however, is very undesirable in terms of a level difference. A further disappointment is the sought after filtering slope from about about 2kHz to 20kHz is steep.
Frequencies lower than 2kHz is flat until you drop to about 100Hz, and then you have a negative response slope as frequency heads for DC.
The response curve doesn't look very pink to me. The conclusion of this test seems to be that this is not the most suitable circuit inspiration for pink noise filter.
The next circuit to be evaluated is the TLC2272 Noise Generator.
The schematic shows this one powered by a single 5V supply, but to simplify the simulation I have used a split +/- 2.5 volt supply instead. The other thing about this simulation was that the original schematic shows only 5uV going into the pink noise filter. For some reason LTspice shows the 5uV sine wave as a triangle wave, going into the opamp. So I increased the test input signal level to 3mV and tested the output (no distortion). So this should represent a valid filter test.
Also, since the circuit didn't bring out a white noise signal (it was only 5uV to start with), we will skip that comparison and simply look at the pink noise filtered output.
The high frequency response seems to start to flatten out at 4-5 kHz, and remains at that level in the upper frequencies. This is consistent with the circuit description “will give a 1/f noise slope from below one hertz to over four kilohertz”.
In the original circuit, the noise is generated by the 150 kohm resistor and amplified to 5nV. Here, we're just interested in the filter response.
The pink noise filter seems to accomplish what it claimed (up to 4kHz). The drop between 100 to 200 Hz (one octave) shows approximately 4dB, which is close to the targeted 3dB/octave slope.
The next circuit is the Yusynth Noise Generator. This design is interesting because the filtering is partly performed by a single transistor stage and then augmented further by an op amp stage. We'll only look at the pink noise portion of this module.
The yellow plot below shows the Pink Noise output response. The red curve below it shows the response coming out of Q1 and into the op amp. Looking at the difference between the two curves, it can be seen that the op amp not only boosts the output level, but straightens out the pink curve somewhat between 6kHz and above.
There is probably some room for improvement between 10Hz and 200Hz. The response there should drop off a little more.
The schematic shown at right is an adapted pink filter circuit. Originally I had chosen the pink filter used in the TLC2272 circuit. But after further reflection I decided I didn't like the chained capacitor links, preferring to use independent RC pairs instead.
At the low end, the response tapers off toward DC to keep the noise source from having too much bass content. The rest of the curve approximates a 3dB/octave slope, except that at 20kHz there is a slight bend and flattening of the curve.
Potentiometers R11 and R12 allow the output levels to be adjusted. The white noise maximum output level should be approximately 3 volts peak to peak. The pink noise is similar, except that this is frequency dependent.
The following sections measure the frequency response of the white and pink noise outputs.
The output potentiometers of the noise module were adjusted to maximum for these tests. The levels plotted should be taken as relative readings, since these signals are brought into the PC's sound card through a mixing console.
The tests were done using a PCI Audiophile 2496 sound card, operating at a sampling rate of 96 kHz, using 24 bit samples. The plots were made with the software Spectrum Lab version V2.77b22.
The red smooth plot shows the long term average level (one minute average).
While not perfectly flat, there is a dip showing around 10kHz and higher. Some of this may be due to the authors test equipment and PC's audio card used.
The smooth red plot shows the one minute average of the levels.
Looking at the red plot, you can see that the level is about -25 dB at 100 Hz, dropping to about -43 dB at 10 kHz. This is an overall drop of about 18 dB, over nearly 6.5 octaves (starting at 100 Hz). This shows about 2.7 dB per octave drop.