Search

All Sections

Products

Order

Company

Community

Share

Learn

Login / Register

Change password

Forgot password?

%SESSION_IF_AUTHENTICATED% Site Map

%SESSION_ENDIF%

TWiki Links

%SESSION_IF_AUTHENTICATED% TWiki Shorthand

TWiki Formatting FAQ

What is TWiki?

%SESSION_ENDIF% twiki.org

The WhiteNoise generator is used to generated a kind of noise that we call white. It means the spectrum (I assume you know what this is) is totally flat. Infact this is not entirely correct, only when looking at the spectrum over an infinite time span, this could be true.

To program an 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 ramdom) sample:

PRN_new = (lambda * PRN_old + micro) mod 24

In this formula, you must think of all numbers to be 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 power 24 samples long.

To get a true random sounding sequence, it is importent 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 propabilty.

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.

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