w3c
 
Welcome, Guest. Please login or register.
Did you miss your activation email?

 
   Home   Help Search Blog Login Register  
Pages: [1]
  Print  
Author Topic: White (and Pink) Noise Generator  (Read 4269 times)
ve3wwg
phpBB Member


View Profile WWW
« on: April 15, 2012, 08:39:46 PM »

I have been looking at schematics lately for noise generators, more specifically white and pink noise generation.  I intend to build a simple module to provide both of these signals in my analog synth project.

While scouring the net, I came across this link for a very simple white noise generator:

http://sentex.ca/~mec1995/tutorial/xtor/xtor6/xtor6.html

Scroll down to "Noise Circuits".  I liked the very simple circuits shown in Fig 7. I particularly like Fig 7b, since it doesn't require any special zener. It only uses two 2N3904 transistors, with one of them reverse biased to work in zener fashion.

I've redrawn the schematic in LTspice and attached it here. The circuit is so dead simple to breadboard (and build), that I thought it should be mentioned here.  The output should be near 0.5 to 1 volts peak to peak (mine was about 0.5 volts pp). This is more than enough to feed into an amplifier of your choice to hear it work.  Just turn the power on and off to prove that what you hear is the white noise itself.

One opamp stage should bring it up to a suitable level for the module I have in mind. Of course, I'll also need to build a filter for the pink noise output.

Update: I've corrected the attached schematic to include the capacitor C1, which got forgotten.


* White_Noise_Stage.png (12.65 KB, 670x426 - viewed 1218 times.)
« Last Edit: April 16, 2012, 03:33:32 AM by ve3wwg » Logged
Jarno
phpBB Junior Member

View Profile
« Reply #1 on: April 16, 2012, 02:18:47 AM »

That's similar to both the Formant noise and Digisound noise module, and a lot of others. Although usually only the noise transistor is discrete and is followed by an opamp to get the level up.

For inspiration:
Formant Noise
Logged
ve3wwg
phpBB Member


View Profile WWW
« Reply #2 on: April 16, 2012, 03:46:50 AM »

Ya, I've seen several like that recently in my search.

I prefer the transistor pair as the source of the noise, since this reduces the gain required from the following opamp stages. This permits a more reasonable input impedance and thus lower valued feedback resistor in the opamp circuit. While the overall purpose is to generate noise, I'd prefer to get all the noise from the source rather than the resistors in the opamp circuit. Whether you can tell the difference or not is probably debatable.

I have seen several designs use extremely low noise opamps. I'm assuming this is for the same purpose - not to have the opamp contribute the noise. However, for synth purposes, I'm not sure it matters much. I have some NE5532 chips in supply, so I am trying to make up my mind whether or not to use them instead.

Thanks for the link - I've bookmarked it for further consideration. I like the one circuit that provides a variable coloured output. This would be handy in addition to the pink output I have in mind.
Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #3 on: April 16, 2012, 09:13:51 AM »

Yes, I've also seen and built this type of noise generator.  if you look in the archives http://experimentalistsanonymous.com/diy/index.php?dir=Schematics/Oscillators%20LFOs%20and%20Signal%20Generators you will find lots and lots of similar designs.  One of them has a pink filter.  http://experimentalistsanonymous.com/diy/Schematics/Oscillators%20LFOs%20and%20Signal%20Generators/Polyfusion%20Noise%20Generator.gif

 I'd be curious how "white" the output is... would be interested to see an FFT of the output spectrum.  I imagine there will be a small amount of coloration due to the op amp and any biasing circuitry, but probably nothing noticeable in the range of hearing.

-Colin
« Last Edit: April 16, 2012, 09:15:35 AM by expanoncolin » Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
ve3wwg
phpBB Member


View Profile WWW
« Reply #4 on: April 16, 2012, 05:21:54 PM »

I had been curious about the spectral response myself and written off any chance of testing it (no spectrum analyzer here). Then I remembered http://www.qsl.net/dl4yhf/spectra1.html DL4YHF's software Audio Spectrum Analyzer, that I had used before.  The results of tonight's test is attached.

  • The wildest yellow plot is the instantaneous level
  • The upper smoothed plot is the short term averaged peak
  • The red smooth plot is the one minute averaged plot

Better than I expected, the response is fairly flat. There is a rise between DC to 2000 Hz of about 3 dB, which then stays fairly constant to 7000 Hz. After that, it drops again for a total of about 6 dB by the time the frequency gets to 20 kHz.

The other thing I was curious about was the role of the capacitor. In the circuit I saw (and used), they specified 1uF. But I see different values being suggested by others and others still, not using one at all.

I watched with and without the capacitor wired in and couldn't see any discernible difference in the overall average. I believe the role of R2 and C1 is to simply to roll off frequency below a certain point. Using the rule Fc = 0.35 / 2.2CR, the cutoff frequency with R2=47k and C1=1uF is about 3.4 Hz. So anything below that is filtered out. If you were to decrease C1, you could increase Fc to 10 Hz or so if you liked.

Watching the instantaneous average was mildly entertaining, since it does go up and down fairly wildly, but the average remained fairly true as described.


* white_noise_1uf.png (26.64 KB, 906x506 - viewed 246 times.)
« Last Edit: April 16, 2012, 07:11:17 PM by ve3wwg » Logged
dislocations
phpBB Junior Member

View Profile
« Reply #5 on: April 16, 2012, 11:55:46 PM »

Interesting!!!! Thanks for sharing!!!
Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #6 on: April 17, 2012, 06:23:02 AM »

Not bad.  I bet you could add a tunable compensation filter (probably separate high and low shelf) if it bothered you that it was not white enough.

-Colin
Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
ve3wwg
phpBB Member


View Profile WWW
« Reply #7 on: April 17, 2012, 06:45:06 AM »

I shouldn't post when I'm tired at night. The plot wasn't too far off but when I awoke this morning, I realized that I might not have set my mixer board EQ flat when I took that measurement (I feed all my audio into the PC through an Alto MX-140 mixer).

Sure enough, when I checked, the high and mid range were tweaked slightly above flat.

So after correcting that, I've recaptured the spectral plot and attached it here. The only real difference is now you can see that the DC end starts at about -47 dB and progresses to about -53 dB at the 20 kHz end. So it appears to be a 6 dB drop over the whole audio spectrum. Not bad in my books for what it is.

So it is a nice flat with gradual drop. Some of that drop might be attributable to the the 6 foot cable + input mixer + sound card. The sound card used was a PCI Audiophile 2496 in 24-bit sample mode with a sampling rate of 44100 Hz.


* white_noise_1uf.png (18.96 KB, 906x252 - viewed 171 times.)
Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #8 on: April 17, 2012, 07:25:32 AM »

Ah yeah... wish I could lend you my DSO for a minute, to make a more direct measurement.

-Colin
Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
ve3wwg
phpBB Member


View Profile WWW
« Reply #9 on: April 22, 2012, 05:07:36 PM »

I had no idea that generating pink noise was so tricky.  I've simulated several pink noise implementations and performed some AC analysis on each here, which folks might find interesting reading:

http://www.experimentalistsanonymous.com/ve3wwg/doku.php?id=noise_generator

I think I've also arrived at a design that I plan to build now.
« Last Edit: April 22, 2012, 05:09:37 PM by ve3wwg » Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #10 on: April 22, 2012, 05:23:13 PM »

I had no idea that generating pink noise was so tricky.  I've simulated several pink noise implementations and performed some AC analysis on each here, which folks might find interesting reading:

http://www.experimentalistsanonymous.com/ve3wwg/doku.php?id=noise_generator

I think I've also arrived at a design that I plan to build now.

Looks like a reasonably good response.  It's based on the "The MC4558 Pink Generator" right?

-Colin
Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
ve3wwg
phpBB Member


View Profile WWW
« Reply #11 on: April 23, 2012, 08:51:38 AM »

Actually my pink filter is more based upon the TLC2272 circuit here http://www.techlib.com/electronics/pinknoise.htm. The evidence is in the way the capacitors and resistors are arranged in the feedback loop.

My modifications included changing the gain, so that his 20k feedback resistor became 220k, his 470 ohm resistor became a 330 ohm and I added RC pair C7 and R12 to further correct the response near 20kHz. The TLC2272 circuit was designed to flatten out after 4kHz, which was not good enough for my intents.

The MC4558 circuit does have a good pink response, with fewer FB components. But I didn't like the white response (and I intend on bringing both out). The white tapers off rapidly as you go below 60 Hz, which I felt was excessive. The white also peaks above 22kHz but this can probably be ignored (though it could introduce distortion somewhere down the pipeline if it was too high in amplitude).

The MC4558 pink response is dependent on the white response of the prior stage, so if you were to fix that, then you'd have to revisit the pink filter design.  

I also didn't like the opamp used. You could sub out the MC4558 but then then you'd have to rework things somewhat. The MC4558 has a minimum slew rate of 1.5V/us, which seems low - I need to check this, but it is probably barely adequate.

The big objection was the noise rating, which is 12nV/sqrt(Hz) for the MC4558. I have read that you should use an opamp with less than about 5nV/sqrt(Hz) so that you're amplifying your noise source rather than the opamp's own noise.

So I chose to use the NE5532 opamp which has a typical noise rating of 5nV/sqrt(Hz) at 1kHz. It also has a slew rate of 9V/usec, which may or may not be significant but is considerably higher.  The other factor for choosing the NE5532, is that I acquired several of these, pulling them from discarded TV station audio console cards, that I got from a friend.

When I first saw circuits and the advice for using low noise opamps in the pink filters, I thought this was nuts (high quality noise?)  But there seems to be sound logic to it. I'm just not sure I would be able to tell the difference.

Every module build has been a great learning experience!

Update: I went back and calculated that SR=1.5V/usecs is good up until about an swing of 9.5 volts @ 20kHz. Given that noise waveforms may need a minimum of a 2nd harmonic (for faithful reproduction), this is good to about 4.25 swing volts. So this would seem to barely cover the application ok, if the signal output level was at or below 2.125 volts amplitude (4.25 volts swing).

On the other hand, a SR=9V/usec, is good for 71.6V @ 20kHz, or about 8.95V swing at the 4th harmonic of 20kHz.

Clearly a cleaner top end, though few of us would probably hear the difference. Smiley
« Last Edit: April 23, 2012, 12:07:36 PM by ve3wwg » Logged
expanoncolin
Administrator
phpBB Member


View Profile WWW
« Reply #12 on: April 27, 2012, 01:15:25 PM »

Interesting. I could see the argument for high quality op amps, mainly because the color of their noise will probably not match your desired output.  As you say I'd be surprised if you could hear a difference.

-Colin
Logged

The best way to learn is to experiment.  Try it first, then learn from what went wrong.

http://www.eaced.com
http://www.experimentalistsanonymous.com
ve3wwg
phpBB Member


View Profile WWW
« Reply #13 on: April 27, 2012, 03:19:04 PM »

Using some of the salvage from last week, I've started building the noise module. See attached image. I used one of the original front aluminum panels (cut to my module size of 9 inches), which already had holes for the potentiometers and the power push on/off switch (with LED).  There are some square holes left that I need to cover or fill later. Don't worry if the current print on the module face is upside down (this will be covered/painted over).

What I have soldered up today includes the power on/off, and the white noise generation circuit. I didn't need the push on/off power switch, but I found a way to include it because of the cool little LED that is wired to shine through the white button.

The main thing that I wanted to report here today, is that I discovered that the circuit works much better when you wire it correctly!  I must have had the 4.7k and the 47k resistors reversed in the breadboard incarnation. When I soldered it up correctly today, I was able to get about a 2.5 volt pp output from the transistor pair (one being the zener).  I've attached the scope trace, where each graticule is 2 volts each. So I'll be reducing the white noise gain opamp accordingly in the final build.

The other thing that I thought I'd mention is a realization I had about the pink noise filter opamp stage. The feedback circuit that I had previously adopted- rather than have multiple RC pairs, actually accomplishes the same thing by cascading the capacitors. While this looks cool on paper, this could be a nuisance in the build.

Capacitors in a series, as everyone knows, results in a reduced total capacitance (like resistors in parallel). This is ok except, what happens if you can't [easily] get the precise value of the capacitor you want?  If you sub something else, this changes the values of all of the downstream caps (and/or R's).

So while the original design works ok, I plan to rework it into a more traditional form of independent RC pairs. That way, changing one R or C does not upset the remaining pairs.

There is always lots of fun, when it comes to building something!


* GEDC0005.JPG (299.48 KB, 900x735 - viewed 206 times.)

* GEDC0003.JPG (115.89 KB, 900x354 - viewed 183 times.)

* GEDC0008.JPG (480.08 KB, 1740x964 - viewed 217 times.)
Logged
Pages: [1]
  Print  
 
Jump to:  

Powered by SMF 1.1.12 | SMF © 2006-2009, Simple Machines LLC