On 08/29/2016 02:07 AM, Stefan Stenzel wrote:
I strongly recommend Paul’s Teensy as a start for any new DSP development, 
especially as a floating point version of this is already planned.

The Cortex-M4 has many special DSP instructions, and it makes much more sense 
to program in C/C++ and focus on optimizations in small doses of (inline) 
assembly than to hand code everything for a DSP chip that is soon going to be 
extinct anyway. ARM based Chips are not so endangered species and come in many 
flavours from lots of suppliers, so coding for these in a portable way has many 
advantages.

Recently I used a 72 MHz STM32F303 Cortex-M4, and I was really impressed on how 
much that chip performs DSP-wise.
It runs a fully polyphonic oscillator bank with phaser/reverb/3-band eq/chorus 
and a tiny synthesizer section flawlessly.

I've had good luck doing DSP on the STM32F3, F4 and F7 parts. They aren't as efficient for FIR structures as a true DSP due to the lack of dedicated X/Y buses and parallel address calculations, but on IIR filters which don't benefit from convolution acceleration they're pretty good.

Hardware floating point performance in the Cortex M4F and M7 is pretty decent - the instructions are somewhat limited to basic "4-banger" operations, but there is a square-root. Most operations are single cycle except for divide and sqrt, so converting from fixed to float doesn't cause much of a performance hit. IIRs done with floats are much more controllable, but most DSP works fine in fixed point when you've got 32 bits to play with.

I haven't spent a lot of time with assembly optimization. The compiler does pretty well in -O2 or -Os modes and for the simple cases I've tried I haven't seen enough improvement to make it worthwhile. Perhaps I haven't tried the right cases, or I'm not working hard enough, but the ROI wasn't there for my tests.

Eric

_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to