[sdiy] Non maximal-length LFSR
n.pipenbrinck at hilbert-space.de
Thu Mar 3 16:36:56 CET 2016
On 03/03/2016 03:51 PM, Richie Burnett wrote:
> Noise is random anyway, right? so throwing
> away one word out of every 49 would still sound like random noise? (It
> would surely sound better than generating 47 words and repeating the
> last one twice!) But the length of the sequence would be 48/49th of the
> maximum length, but 2^49 is huge anyway, so I don't care? Does that
> sound reasonable?
throwing away a byte every now and then sounds reasonable. I would be
surprised if this causes any audible artefacts.
Regarding noise generation and LFSRs in general:
As far as I know the dsPIC has a CRC engine. CRC is in a nutshell just a
LFSR so it can likely be abused as a cheap random generator. Have you
Also you can always mix two not-so-good random streams together to get a
longer and often better random data stream. Say you have a stream with a
sequence length N and another one with a sequence length M the xor of
the two streams yields a random stream of length GCD(m,n).
This is often done in hardware random generators for cryptographic
purposes: One stream comes from a LFSR with an even one/zero bit bias
but a predictable pattern. The other one comes from some analog source
with unknown bias but no repetitions. The result stream now has the best
of both properties: It has no sequence and is even biased.
More information about the Synth-diy