DSP Recommendations for FFT Data

I'm building a digitally controlled (for volume and preamp pots plus a remote control...also diy) amp based on LM3875... It's got a nice bitmap LCD screen (DIY font/graphic set/controller...)that displays information (ie, input). I'd like to be able to display FFT data of the audio that is being played... Any recommendations for cheap (less than $30) DSPs? How about DSP dev-kits? Doesn't have to be floating point, but I guess it would be a plus (for the educational value)... Thanks,

I'd like to alert you to the fact that the FFT does not provide octave bins (which for me would be a concern) to sample from, so you will have to create/calculate them yourself, which for low frequencies is a bit of a pain, you will have to decimate the signal a bunch and gather data for a much longer time in order to get much finer frequency bins out of your sampled signal. Also, your FFT size will be largely determined by the DSP chip, so you are going to have to decide on the size of the input you would like to gather at one time, which will lead to a very "jumpy" fft output unless you plan on working on an averaging or some sort of algorithm to record peaks.

I'm not saying it can't be done, but make sure your DSP purchase takes this into account. I don't have extensive knowledge in the field but just looking for a cheap chip might get you into trouble. Someone else who knows more feel free to interject.

The analogue method is easy.
Thanks for the replies so far...YES I do understand teh math very well...I have already implemented FFT on a DSP for a class... It's not very hard...DSPs come with FFT libraries. The question I'm asking is what DSP to use... I'm looking for something fast enough to do FFT of an audio signal and something cheap (less than $30)...if you have a recommendation, please let me know. Thanks,

freescale dsp563xx

The freescale dsp563xx might be interesting. The have esai (enhanced serial audio interface) which is easily programmebly for I2S. The Altium Tasking DSP563xx IDE has a FFT sample. There is a working demo version of de IDE available. The DSPs are available as free samples. Creating the circuit around the dsp is probably the bigest concern. The dsp is tricky to solder and requires a external program rom.
This is more of a digital forum question, but I'll answer it...

Showing an audio spectrum display shouldn't be done using a FFT... FFT gives linear bins, which isn't particularly useful for viewing audio - You want logarithmic spacing. You could use a FFT and weight multiple bins to create a logarithmic output, but that won't be computationally efficient by any means.

I'd implement a bin using an IIR biquad (2nd order bandpass filter), then take the logarithm of the absolute output of that, feeding the result into a simple attack/decay PPM meter. Repeat by how many bins you want in your spectrum display.

In terms of hardware, i'd connect a cheap I2S-output ADC to a Microchip dsPIC (pick one with a codec interface). While the Freescale/TI/ADI/etc DSP parts are nice, they tend to require odd supply voltages, external ROM, and expensive development tools... the dsPIC has internal flash and is happy running off 5V, and the development tools are free if you don't mind assembly code :D
like I said last week -- if you are interested in just looking at a spectrum plot and just making a one-off design, consider using the Zetex ZXF36L01 chip -- instead of doing a lot of programming. This is a sweepable bandpass filter chip with adjustable Q -- about $13 at Digikey. You can set the sweep frequency for fractional octaves with a lookup table. much simpler than setting up discrete bandpass filters. Buffer the output and feed an ADI logarithmic amplifier -- (or you can make up your own log amp using a couple transistors.)


this product is going the way of history, however -- Zetex will cease production in June.
Thanks for the replies, but I stated that I wanted to see the FFT of the signal. I stated that for a reason, so please, limit your suggestions to the question at hand. If I were interested in simply seeing some spectrum plot, I would have said so. Again, I'd like to see the FFT of the input data. Thanks to Wes Marquenie for DSP suggestions, I'll look into those... If anyone else has suggestions, please let me know. Thanks,


ps That Zetex chip looks neat...i'll look into it for other apps...Thanks