[sdiy] Uniformly distributed noise generator?

Steven Cook stevenpaulcook at tiscali.co.uk
Tue Jun 11 10:58:57 CEST 2013


Hello Magnus,

I know that summing white noise sources together produces Gaussian noise 
(central limit theorem), I've been doing it in software recently, using a 
32-bit noise source then splitting it into 4 separate 8-bit values and 
summing them together, then repeating this to get 8 values - sum them all 
together and the result is pretty good Gaussian noise. I used it in an LFO 
design.

But that doesn't mean that a single white noise source is Gaussian, in the 
sense of having a Gaussian amplitude distribution, which is what I thought 
the original question meant.

Best Regards,

Steven Cook.
support at spcplugins.com
http://www.spcplugins.com/
+44(0)1271 867288


> Get your coffee. White noise is gaussian.
>
> A little exercise:
>
> Take one uniformly distributed noise source, look at it's distribution and 
> you will find it to be uniform.
>
> Now, add a second uniform distributed noise source (of the same 
> amplitude), now look at the distribution and you will find that it is in 
> fact not uniform anymore, it is triangular. If you subtract the two 
> noises, it will sit neatly around zero (many is normalized between 0 and 
> 1).
>
> Now, build another pair and add, and you start getting somewhat 
> bell-shaped.
>
> As you have taken six pairs, you have a pretty gaussian shaped 
> distribution, and it has the RMS value of 1.
>
> As you now add more and more pairs you get a more perfect gaussian 
> distribution bell, and as you go for infinitly many, you get the gaussian 
> distribution with all it's properties, such as infinite peak-to-peak 
> value.
>
> As you look at the spectrum analyzer, it will be flat, and as you 
> integrate over longer and longer time, it will be flatter and flatter.
>
> This trick to build gaussian distribution out of a uniform distribution is 
> a common trick, if one does not use the Box-Muller approximation which is 
> another way to do it. The use of 12 noise samples is very common, as it's 
> RMS value becomes unity, but with some simple scaling other numbers can be 
> used to achieve the wanted RMS scaling accurately.
>
> Actually adding sines with it's quirky distribution resists this harder, 
> but after sufficient numbers it also goes gaussian.
>
> Sorry for making some noise.
>
> Cheers,
> Magnus
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at synth-diy.org
> http://synth-diy.org/mailman/listinfo/synth-diy 



More information about the Synth-diy mailing list