welcome: please sign in

Revision 3 as of 2012-08-19 01:24:44

Clear message
location: ArduinoFFT

Arduino FFT Library

About the Arduino FFT Library

The Arduino FFT library is a fast implementation of the standard FFT algorithm. It can give you up to 256 frequency bins at 16b depth, and a minimum of ~7ms update rate. It is adjustable from 16 to 256 bins, and has several output methods to suit your needs. It can be set to 16b linear, 8b linear, 8b logarithmic, or 8b octave output. All of these different modes are detailed in the read_me file included in the library.

Files

Libraries: Arduino1.0 or Arduino-0022 (should work with both)

Installing Libraries

The above files need to be placed in the libraries folder inside of your Arduino sketch directory. After you unzip !ArduinoFFT.zip, take the FFT folder and place it in your libraries folder, restart Arduino and load one of the example programs to test out the library.

If you are not certain where the libraries folder is located on your computer, try the following:

PC

Open up the Arduino software, and go to Sketch -> Add File..., and a window will pop up that is your sketch folder. This is usually C:\Documents and Settings\<your user name>\My Documents\Arduino. If you see a libraries folder, put the AudioCodec library in there. If you don't already have one, create the libraries folder in that directory.

References

If you are interested in learning more about the FFT, here are some good resources that i used in writing my code.

A very good implementation that is more portable and can handle imaginary inputs, larger FFT sizes, and a slightly more accurate output. But, it is slower, and not quite as Arduino friendly. Be sure to check out the rest of the stuff on the ELM-ChaN site as well, tons of great info.

This site is great for breaking down how the fft works, into an easily understood format. highly reccomended if you want to understand the butterfly operations.

3. Katja's homepage on sinusoids:

http://www.katjaas.nl/home/home.html

this site is amazing. a must see! take the tour, buy the t-shirt! it goes through and explains all sorts of crazy math things in a very fun, and excrutiatingly in- depth fashion. i laughed, i cried, i learned a lot. thanks.

4. wikipedia article on window functions

http://en.wikipedia.org/wiki/Window_function

relatively good explanation of what window functions do, and why you need them. i mostly used it for the nice graph of the relative attenuation of various window functions. good for picking which one to use.