DSP Recommendations for FFT Data

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi-
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,

Doovieman
 
Yeah, I could do that, but it's a lot of analog circuitry that I'd rather not deal with. Plus, I'd like to see the true FFT. Assuming I can do something like 20 frequency bins between 20Hz-20kHz, that would a lot of band pass filters... Anyway, if anyone has any suggestions, please let me know... Thanks,

Doovieman
 
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.
 
Yeah, I know all that math stuff (had to take the class last fall...ugh), most DSPs are fast enough that it won't be that jumpy with, as you mentioned, some smoothing trickery. I'm looking for something like a SHARC that's cheaper (I want a dev kit and SHARC dev kits are expensive...)... Any thoughts?
 
You might be able to find some FFT code floating around, although all the bits I've seen have been written up in ASM (and for use in a microcontroller, not a DSP). You definitely are going to want to have a good understanding of the math behind it to properly implement it....
 
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,

Doovieman
 
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.)

An externally hosted image should be here but it was not working when we last tested it.


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,

Doovieman

ps That Zetex chip looks neat...i'll look into it for other apps...Thanks
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.