When dealing with signals probably the best way is to leave the task for DSP processor as they are optimized to do DSP calculations like FFT, filtering and other digital signal manipulation. But not always a DSP processor is an only solution especially if you want a low cost and non critical performance application like audio spectrum analyzer. In this project an ARM7 (LPC2138) microcontroller is used to do a FFT algorithm.
The tricky part about FFT on such microcontrollers is dealing with complex numbers that are also real. The project description shows whole process how these problems are solved. Project is set up on ZL6ARM prototype board, which is equipped with all necessary peripherals like LCD, MAX232 converter. Program is developed under ARM-GCC compiler. Audio signal is sampled by LPC2138 internal ADC with sampling frequency of 40 kHz. FFT algorithm calculates the chunks of 256 samples and produces the graphs on PC screen. This is a great project and nice tutorial to get in to DSP world.