2025-10-29 4:43 AM - edited 2025-10-29 4:45 AM
Heyho,
management asked me about a project involving 1 or 2 audio input channels at 32-bit / 200 kHz and - here's my knowledge almost zero - some "heavy & intense" DSP / FFT algorithms for real-time signal evaluation.
We're already using the H723 .. H735 family, so we have the hardware experience, but no idea about the DSP capabilities of these MCUs, and the numbers in e.g. AN4841 (CMSIS DSP) don't tell us too much - and probably also not our DSP software guys, who are working on PC only for 20 years now (which is kinda sad, when I started working, PCs and interfaces were so slow, that our hardware had lots of dedicated DSPs, so we also had the know-how).
Due to size constraints, we will also probably be limited to the internal flash (I guess no problem), and it would be easier to live with the internal SRAM of about 500 kB.
So, dear community, what's your experience with these H7s and its computational power ? :D
Thanks in advance!
2025-10-29 10:50 AM - edited 2025-10-29 10:51 AM
Hey @LCE ,
i cannot tell about CMSIS DSP , but i made an audio player, also with flac and mp3 decoding, and some digital filers, BQ based;
a: so 200kHz/32b is not "audio" - so what is it for ?
b: my biquad filter needs about 4..5ms, for 40ms audio, 2 filters on 4K samples, for hi/lo channels (active speaker);
no special dsp or optimizing, just plain C , optimizer -O2 , all filter 32b -> double float calc. -> 32b output, all 2ch, stereo. CPU H743ZI , for "cool" chip, at 200MHz ; gets about +4° above ambient.
Filter coeff. etc , in dtcmram, caches ON. So a biquad needing about 4% cpu, in double precision, at 200MHz.
+
I think, for a reliable statement you have to do some tests yourself, with the libs you want to test and the things, you want to do with the data , to see, what comes out.
2025-10-29 2:00 PM
Hi @LCE ,
I have a fairly large DSP application on H755: 4 channels sampling at 200-250 kHz, real time spectrogram (overlapping FFT), IIRs, some low order FIR and cross correlations going on. I chose the 755 because I need the double precision FPU on the CM7 core, with GUI and file system off-loaded to the CM4, where its single precision FPU is also useful.
I'm not so familiar with the details of the H723/735, but for raw DSP horse power I believe they're somewhat more powerful than CM7 on the H755, so probably not a bad choice.
I would say that you really need to define your signal processing algorithms in a bit more detail and fill in some potentially crucial details re the other functionality needed. In particular, interfaces to other systems, ADC/DAC, other signal conditioning etc, SD card/file system and of course any display.
ARM's CMSIS-DSP library is a very helpful resource which generally makes good use of the SIMD instructions, enabling more than one DSP operation per clock cycle (depending on word size).
Hope this helps.
2025-10-29 11:50 PM
> a: so 200kHz/32b is not "audio" - so what is it for ?
It is audio, but for some "industrial processing", so we're not using the "standard" audio sampling rates.
Luckily there will be almost nothing else going on, so besides the audio input and the heavy processing, just some rather simple IO protocol.
I talked to our software guys and gave them AN4841 and got back a little more info, and it sounds impossible to move it as it is from PC to an MCU: the algorithm's "heaviest" part incorporates an FIR filter with an order of ~2000 for blocks with 1024 samples... :D
They will check if they can somehow reduce that.
Thanks for your input to both of you!
2025-10-30 2:33 AM
Tell your engineers, that it's well known since last decade of the past century, that inverse FFT-nnn is having accuracy/ steepness compatible with FIR-nnn, but load for CPU same as IIR 2-nd degree.