[sdiy] Vote for your favorite noise source

Magnus Danielson cfmd at swipnet.se
Wed May 15 00:29:23 CEST 2002


From: Tim Ressel <madhun2001 at yahoo.com>
Subject: Re: [sdiy] Vote for your favorite noise source
Date: Mon, 13 May 2002 15:55:30 -0700 (PDT)

> Yo,

Yo, Transient Impulse Modulation Bessel!

> So maybe its time for me to break out the magical
> Xilinx parts and make a spiffy digital noise genny. 

Sure... there is even a sexy Xilinx app-note on how to use up a low
LUT-count even for pretty amazing PRNGs! ;O)

The trick is that you can use a LUT as a 16-stage
shift-register... honest!

> I'm thinking about having two seperate chains clocked 
> by prime divisors of a main clock. This way you can
> have truly different noise sources. If you use taps on
> the same chain, you just get a delayed version of the
> noise. So a pair of 32-bit shift registers plus some
> fancy dividers in front, and all the i/o lines
> dedicated to bringing out taps. Sound good?

No. You allways make better by hooking things up into a longer chain
rather than trying to scramble one chains output with the output of
another. They perfrom less random that way, and they have a shorter
length:
 
  M      N       M+N
(2 -1)*(2 -1) < 2   -1

The "state" of the divider is just the same, consider a divider built
out of O flip-flops, it can give say a 2^O in division, which would
make

  M      N     O     M+N  M  N     O    M+N+O    M+O    N+O    O
(2 -1)*(2 -1)*2  = (2   -2 -2 +1)*2  = 2      - 2    - 2    + 2

where as if we used those same flip-flops in a MLS setup, we would get

 M+N+O
2      - 1

steps, and we would be able to better ensure the random properties.

Since one allways is using minimum polynoms you can also be sure to
use up minimum amount of logic.

Naturally, your GPS receivers have a bunch of parallel PRNGs for the
code generation, but that is another thing.

Cheers,
Magnus



More information about the Synth-diy mailing list