[sdiy] Analysis of frequency variation in analogue synths

ASSI Stromeko at Compuserve.DE
Sun May 6 21:27:18 CEST 2007


On Freitag, 4. Mai 2007 23:42, Tom Wiltshire wrote:
> This is a 32-bit shift register noise generator producing 8-bit
> values, which are then fed into a simple averaging filter. The 8
> different graphs show the effect of averaging different numbers of
> samples. You lose high frequencies from the noise, and reduce its
> amplitude. Over the medium term, and averaging over a decent number
> of samples, the net result is zero.

If you take more than a single bit per cycle out of an LFSR, then those 
bits are highly correlated in time.  This transfers to the words you 
build from those bits and the correlation creeps into the averaging you 
perform as well.  That's not necessarily a bad thing as many natural 
"noises" have some degree of auto-correlation (for instance 1/f noise 
has a constant auto-correlation function).  In other words the noise 
has a "memory" and it's value depends on the value(s) it had an earlier 
time.  The 1/f noise is interesting because it has an unlimited, 
"timeless" memory.

If you want random words, you must not re-use any bit from the LFSR.  
Provided you have a maximum length LFSR, the noise produced in this way 
is almost white (the probability density function -pdf- is a constant).  
Averaging many such LFSR sources that are statistically independent 
(i.e. not the same generator) will approach Gaussian noise (the pdf 
changes from triangular for the first such averaging operation to 
converge to the well-known Gaussian bell curve in the limit).  LFSR can 
produce other types of noise if they are not maximum length.


Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk]>+

SD adaptation for Waldorf rackAttack V1.04R1:
http://Synth.Stromeko.net/Downloads.html#WaldorfSDada




More information about the Synth-diy mailing list