Saturday 16 May 2015

arm - How to decide what platform is best to implement real-time audio processing on?


When developing products I do all of my algorithm design in Matlab. They are usually pretty basic, an IIR or FIR filter or two, a couple FFTs, etc. When it comes time to move it to an embedded environment I always have a hard time deciding what platform to run it on. I usually think of these (broad) platforms:



  • DSP core

  • FPGA

  • Microcontroller

  • ARM



What factors should I consider when trying to make this decision?



Answer



If you are keeping to "standard algorithms" like IIR, FIR, radix-2 or 4 FFT (ie stuff that fits DSP architectures well without much control flow), you can try this:


Count up how many "multiply accumulates" you need per second in all your algorithms.



  • < 10 million you can probably get a fast microcontroller to do the job (or even a slow one if you are <1M)

  • < 100M is easy DSP territory

  • < 1G is likely to be doable fast DSP territory

  • 1G-10G is where the cross-over between DSP and FPGA comes

  • > 10G is multiple DSPs or FPGA



No comments:

Post a Comment

readings - Appending 内 to a company name is read ない or うち?

For example, if I say マイクロソフト内のパートナーシップは強いです, is the 内 here read as うち or ない? Answer 「内」 in the form: 「Proper Noun + 内」 is always read 「ない...