2014-10-16 05:31 AM
Hi everybody!
I'm going to use STM32f429 with external SDRAM (IS42S16400J 64MBit) in my project. I'm trying to make FFT for 32768 input buffer, my function calculate it in about 250ms.Functions in CMSIS LIB do it much quicker but support only length 128, 512, 2048. How can I do long FFT with good performance?2014-10-16 07:42 AM
Functions in CMSIS LIB do it much quicker but support only length 128, 512, 2048. How can I do long FFT with good performance?
You can try to extend the DSP lib functions for such buffer sizes, or port other FFT libraries to your platform. Performance will hardly be better. Runtime increases about by factor 4 (square) for doubling of buffer size, if I remember correctly. I'm trying to make FFT for 32768 input buffer, ...
Why do you need such a high frequency resolution ? There are other algorithms to calculate single frequency points, which might be better suited to your problem. (Just can't remember the names, though ...)
2014-10-16 09:22 AM
From a processor perspective SDRAM is the SLOWEST available memory to operate on. The CCMRAM is the less contested memory bus.
2014-10-17 12:55 AM
Why do you need such a high frequency resolution ?
I set 32kHz sampling frequwncy and 1s time measurement.
2014-10-17 03:59 AM
I set 32kHz sampling frequwncy and 1s time measurement.
So sample for a shorter time and use a 1024 or 2048 buffer size. Use DMA with the appropriate buffer size, and you will get notified by interrupt when a buffer is ready. This will save you from a lot of trouble.
2024-09-17 02:22 AM
How to extend the DSP lib for 32768 points fft or port other libraries Any suggestions ?
2024-09-17 06:15 AM
I did 32k using H7 & F7. Time to switch uCPU?