From: twheless@boi.hp.com (Thomas_Wheless; 81U; x3681)
Subject: Re: white noise generator using pseudo-random series
Date: Fri, 8 Jan 1993 20:04:41 GMT
Distribution: usa
Organization: Hewlett-Packard / Boise, Idaho
X-Newsreader: TIN [version 1.1.4 PL6]


This is a condensation of two threads on pseudo-random noise generators
which appeared on the net back in 1990. Hope it will be of some help.

Tom Wheless
Hewlett-Packard
Boise, Idaho

**********************************************************************
**********************************************************************

From chan@ames.arc.nasa.gov Tue Apr 17 14:32:10 1990

Hi all,
Haven't posted (or read) sci.electronics for a long time, so I apologize
if this has been covered before...  

Does anyone have a reference and/or source for the pink noise chip that 
used to be around.  If anyone can point to a good circuit or a cheap (<$50) 
product to generate PN, I would greatly appreciate it.

*******************************************************************

From chan@ames.arc.nasa.gov Thu Apr 19 14:16:20 1990

Both people who responded my mail mentioned the National Semiconductor
MM5837 digital noise generator, which has since been replaced by the 
MM5437.  The 5437 has 23 shift registers versus 17 giving a cycle time 
of one minute versus about 2 seconds.  From the spec sheet, it seems 
like a much improved.  (Note: the LOWER number is the better performing
one.)  

Both are 8 pin chips, but are not pin-compatible.  On the internal clock, 
the  new chip has a half power point between 30 and 140 kHz (min amd max)
versus the old chip's 24 to 56 kHz half power point.

One reason the chips are so hard to find out about is that the old chip 
appeared only in the 1984 Logic MOS/other Interface book and the new chip 
has not been published a databook yet.  This is one that's hard to 
categorize and fell between printings...

Two products have emerged; The PNG-One from Audio Source in Burlingame,
and a $50 generator from Heathkit.  Both seem to use the older National
chip.

Thanks for the pointers,

Jeff C.

**************************************************************

From eacj@batcomputer.tn.cornell.edu Sun Apr 22 12:42:45 1990

I have a copy of the 1976 Audio Handbook from National Semiconductor.  It
shows a pink noise generator built around the MM5837 chip.  There is a
similar circuit in "The Art of Electronics," by Horowitz and Hill, 2nd ed.,
using the MM5437 chip.  Both of these chips are pseudorandom *white* noise
sources.  Additional frequency shaping components are used to get the 3 dB
per octave pink noise characteristic.

**************************************************************************
**************************************************************************

From mark@mips.COM Sat Oct  7 08:46:35 1989

In article <131@arinc.UUCP> tsp@arinc.UUCP (Tony S. Patti,4-100C,,,) writes:
>...  I would also be interested in compiling a list of random
>(noise) sources even if no schematic was available.
>
>I am aware of only ONE article which details how to build a noise-based RNG:
>
>     "Build a Noise-Based Random Number Generator" by Terry Mayhugh which
>     appeared in the May 1981 BYTE Magazine (pages 452-456).
>

A back issue of Audio Amateur magazine contains an article that may be of
interest.  1985 #1, p. 17: "A Digital Noise Generator".  Try (603) 924-6371;
that's Old Colony Sound Labs, who carries back issues.

The circuit uses four MM5837 chips.  Each 5837 contains a CMOS 17-stage
linear-feedback shift register running asynchronously (from its own
internal R-C relaxation oscillator clock).  The outputs of the four
5837 chips are analog-summed, to smooth out and schmear out the
behavior of the individual 5837's.

Of course, an eager experimenter could easily do a couple of stunts to
further randomize and noise-ify the output noise:

	1)  Use 10  5837's instead of 4.  Run them off different supply
	    voltages and/or put a resistor directly on top of (some)
	    5837's to change their temperature.  Different V+ voltages
	    and temeperatures affects the clock periods of the individual
	    oscillators, further uncorrelating their outputs.

	2)  At the analog summing point, add in the noise from a
	    diode or two (using the Byte ckt or others)
-- 
 -- Mark Johnson	
 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086
	(408) 991-0208    mark@mips.com  {or ...!decwrl!mips!mark}

*************************************************************************

From eacj@batcomputer.tn.cornell.edu Sat Oct  7 12:46:11 1989

There is a good discussion of the basics of digital pseudo-random noise
generators in chapter 9 of "The Art of Electronics," by Horowitz and Hill
(I have the 1st edition, have not checked the new one).

They include a complete schematic for an adjustable bandwidth p-r noise
source, and claim that it is similar to the method used in the Hewlett
Packard 3722A.

***********************************************************************

From kchen@Apple.COM Sat Oct  7 15:22:40 1989


For the "bible" on PN Generators (PN = Pseudo-noise), take a look at 

	Solomon W. Golomb, "Shift Register Sequences,"
	Holden Day, San Francisco. 1967.

Sorry, no ISBN number on my copy of the book (preceeded the introduction
of ISBNs :-).

I have used this method to generate a noise comb for an antenna 
resistance noise-bridge pretty successfully, instead of using the
standard zener knee method.  The biggest advantages are 1) it generates
a *huge* signal compared to the zener, and 2) a simple D.C. voltmeter
[measuring the TTL voltage level at the load when the PN sequence is
not running] is all it takes to get a very good estimate of the 
noise density. (Well, it takes a calculator too, because there is
a sin(x)/x envelope :-) But, since it was for a home project, and I
don't own an oscilloscope, this became the most convenient noise
generator to build.

Caveat: Take great care if you want to use this as a pseudo-random number 
generator for image dithering, for example.  You have been warned :-).

Xref: sparky sci.electronics:22106 rec.games.programmer:5288