Re: 22.6us and ~10mips to create pink noise real time
- From: "Tom Bruhns" <k7itm@xxxxxxx>
- Date: 23 May 2006 08:15:41 -0700
Depending on the accuracy you want in the spectral content of the
"pink" noise, to do it digitally you'll need a random generator (white
noise) and "a few" stages of IIR biquads. You could use single-pole
filter stages, but as I recall when I did it years ago, I decided the
biquads were computationally slightly more efficient. (You may even
find my name on a set of pink filter pole and zero locations that's
still floating around in cyberspace. Every once in a while someone
writes to ask me about them.) Some of the poles are at a very tiny
fraction of the sample frequency, so have to be done with high
precision math for good results. I _seriously_ doubt you'll do it in
your Atmel at a couple hundred instructions per sample. In a DSP with
hw MAC you should be able to do a good job in a hundred instructions,
plus or minus--even fifty instructions would let you do a few poles &
zeros.
But...If you don't need super-accurate "pinkness" you could easily
generate a pseudorandom bitstream in the atmel (excellent and
repeatable "whiteness" and high amplitude, and ample bandwidth if
that's all the AVR is doing) and filter that with a few RC stages. You
can get 1% caps (C0G ceramics) and 1% or better resistors, which may
very well provide adequate or even ample accuracy and stability for
your purposes. The board area and placement cost will cost more than
the parts you put on it, most likely.
Cheers,
Tom
.
- References:
- 22.6us and ~10mips to create pink noise real time
- From: acannell
- 22.6us and ~10mips to create pink noise real time
- Prev by Date: Re: LM92 temp problems - again
- Next by Date: Re: monostable triggering
- Previous by thread: Re: 22.6us and ~10mips to create pink noise real time
- Next by thread: 1% 8 bit R2R DAC @ 44KHz = Joke?
- Index(es):
Relevant Pages
|