I am working on a Digital Signal Processing application and I am a little lost in all the information included with giant processors that are labeled as Digital Signal Processors. I started wondering, "Do I really need this huge processor just to analyze music?"

My project is to store fourier transform data in a EEPROM chip that communicates through SPI. What do I need to be looking for in a processor to do real-time analysis and store the data in the EEPROM without the processor missing any analysis work?

EG: How many MACS do I need? What kind of operating frequency should I be looking for? How much RAM (for say a fourier transform sample size of 512)? would i be better off using a codec?


The FFT is a popular benchmark for DSP chips, so it should be easy to find performance data relevant to your application. For example, if you're sampling audio at 44.1 ksps and doing nonoverlapping 512-point FFTs, you need to be able to do about 100 FFTs/second. Yes, it's true that a fast ordinary (non-DSP) microcontroller could probably achieve this level of performance.

The amount of data going into and coming out of the FFT is the same, so if you're using 16-bit data, you need to be able to sustain a rate of 88.2 kB/s when writing to the EEPROM.

Doing both of these things at the same time continuously can get a bit tricky, but the details are left as an exercise for the student. It never hurts to have some extra CPU bandwidth.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.