noise type...
Robin Whittle
rw at firstpr.com.au
Fri Nov 27 19:35:14 EST 1998
Regarding Pseudo-Random Number Generators for DSP noise, see:
http://www.firstpr.com.au/csound/
for how I searched for a 31 bit PRNG and settled on a public domain
implemention by Ray Gardner of a Park-Miller linear congruential PRNG
which works fine with 32 bit integer calculations.
http://www.snippets.org/RG_RAND.C
Regarding -3dB filtering . . .
Stuart Dimond wrote:
> A filter with a roll-off of 3 dB per octave will convert the
> spectrum from white to pink. White noise has equal energy per
> frequency. Pink noise has equal energy per octave.
We had an interesting discussion on this list at the start of July
regarding pink noise. A 3 pole -3dB filter was proposed, but I
didn't pursue this area. I still have some homework to do before I
understand DSP filtering enough to implemen this in C.
> Date sent: Tue, 30 Jun 1998 21:48:08 -0700
> From: robert bristow-johnson <pbjrbj at viconet.com>
> Subject: Re: Generating pink = 1/f noise
> > "Orfanidis also mentions a clever way to get reasonably good 1/f
> > noise: sum together n randh's, where each randh is running an
> > octave slower than the preceding (one):"
> >
> >This is a reference to Sophocles Orfanidis' book "Introduction to
> >Signal Processing":
> >
> > http://www.prenhall.com/books/esm_0132091720.html
> >
> >This sounds like a pretty good way to do it.
>
> another method that Orfanidis mentions came from a comp.dsp post of
> mine. it's just a simple "pinking" filter to be applied to white
> noise. since the rollof is -3 dB/octave, -6 dB/octave (1st order
> pole) is too steep and 0 dB/octave is too shallow.
>
> an equiripple approximation to the ideal pinking filter can be
> realized by alternating real poles with real zeros. a simple 3rd
> order solution that i obtained is:
>
> pole zero
> ---- ----
> 0.99572754 0.98443604
> 0.94790649 0.83392334
> 0.53567505 0.07568359
>
> the response follows the ideal -3 dB/octave curve to within + or -
> 0.3 dB over a 10 octave range from 0.0009*nyquist to 0.9*nyquist.
> probably if i were to do it over again, i'd make it 5 poles and 4
> zeros.
>
> r b-j
> pbjrbj at viconet.com a.k.a. robert at audioheads.com
> a.k.a. robert at wavemechanics.com
>
> "Don't give in to the Dark Side. Boycott intel and microsoft."
Thanks for this Robert! I will give it a go when I have done my
homework by reading C. Britton Rorabaugh's "Digital Filter Designer's
Handbook 2nd Ed."
- Robin
===============================================================
Robin Whittle rw at firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: music, Internet
music marketing, telecommunications, human
factors in technology adoption. Consumer
advocacy in telecommunications, especially
privacy. Consulting and technical writing.
Real World Electronics and software for music: eg.
Interfaces the Devil Fish mods for the TB-303.
===============================================================
More information about the music-dsp
mailing list