2014-02-25 03:11 AM
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 ASSAAD2014-02-25 03:56 AM
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!2014-02-25 04:23 AM
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.2014-02-25 06:25 AM
Prototype you algorithm, and benchmark it.