# WhiteNoise

The
WhiteNoise generator generates a kind of noise that is called white. It means
the spectrum (Assuming you know what this is) is totally flat. In fact this is
not entirely correct, only when looking at the spectrum over an infinite time
span, this could be true.

To program
a perfect WhiteNoise generator in a computer or dsp is not that obvious. One
way of doing this is to make a very long sequence of numbers (=samples), which
will sound random. This is called Pseudo Random Noise/Numbers (=PRN). These so
called PRN can be programmed/made in different ways. I have chosen for a
variant called linear congruent. This algorithm uses the following recursive
formula to calculate one (next random) sample:

## PRN_new = (lambda * PRN_old + micro) mod 24

In this
formula, you must think of all numbers being integer. The "mod 24"
makes the calculation to be within the 24 bit range. This also limits the
maximum cycle of these PRN to be 2 to the power 24 samples long.

To get a
true random sounding sequence, it is important to set the **lambda** and **micro**
to a well-chosen value. To start this recursion one needs a value for PRN_old:
this is called the **Seed**. I most also mention that these type of
generators produce PRN that have uniform distribution. In other words, it this
means that if I would look over infinite time all possible sample values
(between -1 and +1) will appear with equal probability.

For a
non-mathematical person this all must be impossible to understand. If you do
not understand the above formula's, just use the default values that are set
for the parameters, you can change the **seed** to any value to start the
PRN at any point in there sequence (be aware it is a sequence and not truly
random).

You can
make this generator sound less random by selecting other integer values for **micro**
and **lambda**, but it is not obvious what the result will be (**hint:**
use odd/prime numbers!)

--
ChristiaanGelauff - 08 Oct 2005 Back one page