[sdiy] LFSR noise generators

Richie Burnett rburnett at richieburnett.co.uk
Fri Dec 27 16:16:24 CET 2019


> From: Bernard Arthur Hutchins, Jr
>
> ....Once we have chosen a PRBS sequence length that will take perhaps 10 
> seconds to repeat, little is accomplished by making the register longer 
> (it may in fact just make the anomalies last longer).  A length-N anomaly 
> in a length-N register could be expected to take perhaps N full-register 
> replacements to dissipate an anomaly, thus N^2 clockings to “wash out”....
>
> Comments invited.
>
> Bernie

Agreed!  Here's an extreme example...

Below is a link to a 127-stage LFSR (easy to implement on a low-end 8-bit 
micro) with two taps chosen for the generation of a maximal length sequence 
consisting of (2^127)-1 unique states.  It is playing back at a sample rate 
of 32kHz:

http://www.richieburnett.co.uk/temp/LFSR127.wav

The 127-stage register was pre-loaded with a value of 1 before being 
started, and the sequence would repeat after approximately 
168,598,172,981,343,971,702,664,518 years!

You can judge for yourself whether you think it sounds like white noise or 
not.  You can certainly hear the runs of '0's and '1's cycling through the 
shift register at the start.  And if you compare the start and end of the 30 
second recording you can hear how the texture of the noise has evolved 
during that time.

Initialised with a different starting value, or left long enough to "wash 
out" as Bernie put it, it sounds much more "noise-like", but remember that 
every value in the sequence is guaranteed to come around again eventually!

-Richie, 




More information about the Synth-diy mailing list