Looking for an AVR FFT tutorial
I don't have a tutorial, but may be able to assist with sample code. (and
other help if required)
I am working on one of these at the moment. Have just about got it working
OK - am aiming at using it in an entry in the Circuit Cellar Contest.
Basic details are:-
Using Atmega323. (or AtMega32)
64 sample x 10bit (results in 32 output frequency bins. e.g 8KHz sampling
will result in a resolution of ~125Hz)
Conversion time ~20mS on a 3.6864 MHz clock (Slightly dependent on signal
complexity as I only calculate the magnetude square root if the frequency
component is significant)
- I am aiming for speed rather than size
RAM Memory requirement (hopefully) < 300 bytes. (Using same array for
input, calculation & output - am still working on this & have yet to decide
which arrangement suits me best)
Flash Memory requirement is about 3k or so for the FFT module.
I am using the BASCOM environment for debugging & simulation & have found
some problems with their multiply directives, although that now appears
fixed.If I can use the mulsu & muls directives I may be able to shave a few
100uS more off the conversion time.
I am also thinking of writing an 8 bit version, possibly for up to 128
samples in length. As this will use the 8 bit multiply directive for most
multiplies, then program operation should be similar in speed to the 10 bit
64 sample version .
I can send you more info if required, but note that this is still "in
process" so there are probably bugs etc. hanging around.
I have also offered a copy to Mark for inclusion in a BASCOM library so it
may turn up there in a little while.
Right now I'm trying to tie the bits together so I can get a FFT or
spectrograph type display on an LCD, so I can monitor what is going on in
realtime & see if the thing is actually working as advertised.
<CPOVO.NE To: markMITVMA.MIT.EDUPICLIST
Sent by: pic Subject: [AVR:] Looking for an AVR FFT tutorial
I'm looking for a tutorial on how to write a FFT routine
in assembler language for the AVR AtMega uP.
Have found one dealing with the Goertzel algorithm and
it works very nice.
Google shows me zillions of FFT links, but nothing using
Thanks for any help.
http://www.piclist.com hint: The PICList is archived three different
ways. See http://www.piclist.com/#archives for details.
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email mitvma.mit.edu with SET PICList DIGEST in the body listserv
See also: www.piclist.com/techref/logic/dsps.htm?key=fft
You must be a member of the
piclist mailing list
(not only a www.piclist.com member) to post to the