cancel
Showing results for 
Search instead for 
Did you mean: 

Is 2048 points 32-bit FFT on STM32L1 real?

foruvarov
Associate II
Posted on September 17, 2012 at 09:42

Hi everybody!

I'm going to use STM32L152RD in my project. The MCU has 384kb of Flash and 48kb of RAM memory (maximum for this series). And I need to perform FFT for the 3-channel signal, sampled at 2000 Hz with 24-bit resolution (32 bits in memory). So, I'm worried about is this MCU enough for such monstrous calculations.

Does anybody know something on it?

#fft #stm32 #stm32l1 #stm32l152rd
3 REPLIES 3
raptorhal2
Lead
Posted on September 17, 2012 at 15:06

If the 3 channels are analog, the processor's ADC resolution is 12 bits.

Cheers, Hal

frankmeyer9
Associate II
Posted on September 17, 2012 at 15:45

That depends on your actual requirements. What a frequency resolution you need ?

The CMSIS DSP lib has routines for up to 2048 input points, i.e. 1024 frequency bins.

The floating point implementations are probably out of scope for you, but there are q31 and q15 implementation (integer), which could do. The DSP_Lib contains a fft example project, you can use it to estimate the performance you achieve.

I did it that way with the float implementation for the F4.

If you don't want the whole spectre, but just information about a few frequencies, you should look at an implementation of the goertzel algorithm, which does exactly that.

foruvarov
Associate II
Posted on September 17, 2012 at 16:18

Hal, no, the signal source is external ADC with SPI interface.

fm, thanks a lot for some estimation and suggestion!

I will try.

Regards, Alex