[sdiy] Long LFSRs (Was Psych Tone)

rburnett at richieburnett.co.uk rburnett at richieburnett.co.uk
Mon Jan 7 10:37:47 CET 2019


Thanks for the explanations, and Happy New Year to all.

-Richie,



On 2019-01-06 22:09, Bernard Arthur Hutchins, Jr wrote:
> In response to the recent discussion of the classic “Psych Tone”,
> here I have added three items (from MEH, EN64, EN75A):
> 
>  http://electronotes.netfirms.com/Noise.pdf
> 
>  adding to the Electronotes 76 already posted on noise generators:
> 
>  http://electronotes.netfirms.com/EN76.pdf
> 
>  ELECTRONOTES 76 - Netfirms [1]
>  electronotes.netfirms.com
>  Star Instruments, PO Box 71, Stafford Springs, CT 06076 (c) 2100
> Howell Branch Rd Apt 48-G, Maitland, FL 32751 24 Carr Dr., Moraga, CA
> 94556 PO Box 326, Rosamond, CA 93560
> 
>  The MEH chapter 5h pages include the reference to the derivation of
> the feedback taps based on “primitive polynomials”.  Since EXOR
> feedback is anything but “linear”, I don’t understand the
> terminology “LFSR”, and continue to use “PRBS” (pseudo random
> binary sequence).
> 
>  PRBS generators find applications in EM for noise generators and for
> generators of random sequences (typically of “notes” forming a
> trial tune or melody). The shift register cocking interval is the
> tempo.  The Psych Tone produced sequences of length 63, all notes of
> the same durations, (thereafter repeating) and was way too long for
> most composers to consider.  I modified mine for shorter sequences of
> say 5 to 10, and that was used at times.
> 
>  When used as a noise generator we need both a much longer sequence
> length and much higher clocking rate (sampling frequency).  The length
> of the sequence is 2^N – 1.  Essentially 2^N, so (2^N)*tau, where
> tau is the reciprocal of the sampling frequency,  should be at least
> several seconds.  Why so long  - it  would seem we couldn’t possibly
> detect a repetition after hundreds of thousands!
> 
>  Well we often can.   What we detect is the sub-audio repetition of a
> sequence of audible events “clink - - - hiss - - - clank - - - sssss
> - -  - buzz ;     clink - - - hiss - - - clank - - - sssss - -  -
> buzz, . . . . . “ repeating every second or two (whatever the
> sequence length is). In actual circuits (and indeed, in the monolithic
> MN5847 this was known, and termed a “heartbeat”).  See references
> above.   Why?
> 
>  The actual (full 2^N-1) PBRS for a proper “maximum length” case
> includes every possible sequence of 1’s and 0’s (except all
> zeros), and the feedback structure means that the generator evolves
> slowly INTO special cases (like a near square wave) and once
> established, it evolves slowly OUT (a resulting “clink”).  It
> doesn’t help enough to find a set of taps with one nearly at the
> input end.  What does work is to have TWO (or more) PRBS generators of
> different lengths and multiplying (EXOR) the outputs.
> 
>  In the suggested case (which I may be misunderstanding) on this
> thread (called “127 bits” – I assume this was meant to be length
> N = 127), we have the curious result that the “noise” output is a
> series of pitches, not white.  Why?   Well 2^N-1 is 1.7 * 10^38, which
> at a digital audio rate is some 10^26 years of time. Further most PRBS
> generators start in the “all 1” state to avoid a stall.   This
> would explain why it never (for practical purposes) even gets a start
> away from the initial square-wave like patterns.   Richie apparently
> suspected this.
> 
> 
> 
> Links:
> ------
> [1] http://electronotes.netfirms.com/EN76.pdf
> _______________________________________________
> 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