[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