4
\$\begingroup\$

I would like to build a noise generator based on logic gates. It could be white noise generator or a random bits generator that sound similar to a noise source. I need a circuit recommendation or an idea how to make it.

Updated: The purpose is to make an electronic music device. Any kind of noise can be interesting for me.

\$\endgroup\$
  • 2
    \$\begingroup\$ The question that inevitably comes to my mind is: why? what problem is this going to solve? \$\endgroup\$ – PlasmaHH Aug 30 '16 at 13:17
  • \$\begingroup\$ Noise is not logical. \$\endgroup\$ – Tyler Durden Aug 30 '16 at 13:17
  • \$\begingroup\$ It's funny that you're happy with either white noise or binary generator, since those two would have drastically different properties. It sounds like you don't know what you need. \$\endgroup\$ – Dmitry Grigoryev Aug 30 '16 at 13:25
  • 1
    \$\begingroup\$ I am quite sure there is some specialized diodes for generating noise. You won't get random noise from numeric since you will always get the harmonics of the clock. \$\endgroup\$ – lucas92 Aug 30 '16 at 14:56
  • 1
    \$\begingroup\$ "Any one who considers arithmetical methods of producing random digits is, of course, in a state of sin" -- John von Neumann. But I suppose with music, the more sinful the better. \$\endgroup\$ – Steve Jessop Aug 30 '16 at 22:02
6
\$\begingroup\$

How about one of these: -

enter image description here

Taken from here.

It is described as a white noise source: -

24 Stage Linear Feedback Shift Register (LFSR)

This circuit can be used to generate a pseudo-random sequence of 0's and 1's -- that is "white noise" or "static." The schematic shows a 24 stage shift register with XNOR taps at registers 7, 16, 22, and 24 using the Fibonacci configuration. With these taps, the circuit generates a "maximal length sequence" of pseudo random values which repeats only after (2\$^{24}\$ - 1) clock pulses.

Or maybe just use an analogue one based on the emitter-base breakdown voltage of transistor Q1: -

enter image description here

\$\endgroup\$
5
\$\begingroup\$

Probably the simplest method for generating "noise" with digital logic is to generate a pseudorandom binary sequence (PRBS) with a linear feedback shift register (LFSR). The output of a PRBS generator, especially for the longer sequences (PRBS31), can have a very wide bandwidth. It's also a pretty simple circuit to build; just shift registers and XOR gates.

See https://en.wikipedia.org/wiki/Pseudorandom_binary_sequence and https://en.wikipedia.org/wiki/Linear-feedback_shift_register .

\$\endgroup\$
  • 4
    \$\begingroup\$ I can tell you from experience, having built such noise generators, that a single LFSR sounds 'lumpy'. Although it meets a large number of tests for randomness, it does have more structure than does white noise, to the human ear. Building at least 3 of different lengths, and XORing their outputs together, sounds much more consistent. \$\endgroup\$ – Neil_UK Aug 30 '16 at 13:54
  • \$\begingroup\$ Thanks a lot for the suggestion. I will definitely try this out. Thanks. \$\endgroup\$ – Jerzy Przezdziecki Aug 30 '16 at 14:08
3
\$\begingroup\$

You can make a digital white noise generator with a small 8-bit 8-pin micro such as a PIC12F series. It's basically a code implementation of a PRNG based on one or more shift-registers, very easy to do.

Since you are interested in audio you might actually want pink noise. There are samples available on-line if you want to compare- white noise sounds much harsher. You can get that from white noise via an analog filter that approximates 3dB/octave or you can use a much more powerful micro and implement a digital filter.

Here is a somewhat more sophisticated circuit than the minimum that can produce Gaussian noise and pink noise.

\$\endgroup\$
  • \$\begingroup\$ I will try this approach definitely. Is there any code programming needed? Or this micro PIC12F is just ready? Thanks. \$\endgroup\$ – Jerzy Przezdziecki Aug 31 '16 at 7:43
  • \$\begingroup\$ There are examples on the net, including the one I linked, which provide assembly code. You need an assembler program (available from Microchip for free) if a hex binary file is not provided and a chip programmer. The latter costs < $15 for a clone from China with a ZIF socket or $35 (?) in the official version which does not have the ZIF so you have to use a solderless breadboard or whatever. \$\endgroup\$ – Spehro Pefhany Aug 31 '16 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.