cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F40/ DSP PERFORMANCE

ASSAAD.ASSAAD
Associate II
Posted on February 25, 2014 at 12:11

Hi ; 

 We produce madical instruments ; our main products depends on stm32f407 and we are happy with it ;

Now are designing a new product that needs many DSP filters ( FIR + IIR ) ; the sampling rate would be about 2000sps  and 8 channels ; so I would know if the stm32f407 dsp performance would be enough to perform such calculation IIR + FIR  each may be 50 order ? OR should I move to DPS from TI rather than DSC?

Any help here would be great and helpful ;

Thank you inadvanced

Regards

ASSAAD
3 REPLIES 3
chen
Associate II
Posted on February 25, 2014 at 12:56

Hi

''perform such calculation IIR + FIR  each may be 50 order ''

I am no filter expert but I do not think the filter 'order' makes any difference when doing filtering in software. It is just applying a different set of protortionals and constants.

''that needs many DSP filters ( FIR + IIR ) ; the sampling rate would be about 2000sps  and 8 channels so I would know if the stm32f407 dsp performance would be enough to perform such calculation''

Set up the code to do 1 calculations and measure how long that takes. This will give you an indication of the time it takes to do 1 sample and filter calculation. This will tell you whether the processor can do what you need and still have head room for other functions.

From what you have described - it does sound like you should go to a DSP but let the experiment guide your decision!

frankmeyer9
Associate II
Posted on February 25, 2014 at 13:23

I think that depends much on your requirements.

A 2kHz sample rate for 8 channels is not so much, the filtering requirements sound more challenging. It might be worth to get a board and do a more detailled evaluation.

There is a DSP_Lib available for all STM32 MCUs, containing routines and example applications for signal processing and controlling.

A DSP is much more specialized towards signal processing, especially for calculations in short routines (i.e. interrupt routines). Most DSPs can do 4..6 operations at once, where a standard core operates sequentially.

The downside is - you need a toolchain/compiler supporting this, and you need developers capable/willing to work with it. That kind of MIMD feature is not well supported by ANSI C, you will definitely be confronted with assembler language.

Additionally, most DSPs operate on special fixed-point datatypes (Q15,Q31), which are neither ANSI. Libraries are usually provided by the silicon vendor, or the toolchain vendor.

But as said above, you can order order evaluation tools (from TI or other DSP vendors) and compare to your requirements.

Posted on February 25, 2014 at 15:25

Prototype you algorithm, and benchmark it.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..