I have written an audio processing application in C++ which runs on a desktop windows computer.

My next step is to implement this on an embedded system using a microcontroller, preferably arm-based.

As my application uses fft libraries which does floating point calculations, do I need a microcontroller with a floating point unit, or is there still a way to do this on a microcontroller without floating point hardware?

What type of ARM CPU would be recommended for processing audio with FFT like this? Thanks in advance

  • 1
    $\begingroup$ If it's ARM, then you can already use CMSIS. It offers both fixed-point and floating-point FFT routines. $\endgroup$ – jojek Oct 27 '16 at 10:34
  • $\begingroup$ What kind of device to recommend large depends on what you'll need to do – a 44.1 kHz 128-point DFT might be pretty feasible on a small MCU, but if you need to handle 20 channels with 192kSps each and do $2^{16}$-FFTs on those, maybe it looks different. $\endgroup$ – Marcus Müller Oct 27 '16 at 13:10

Generally, Arm Cortex-A9 type processor can be used for Audio signal processing blocks for effective results. For your case, basic arm processor type can support common floating point operations without any external floating point unit. But, in case of special floating point operations like saturation,rounding and truncation, you shall use some advanced arm processors like cortex-a9 which has specific floating point unit for efficient signal processing.


Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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