“Real-Time FFT on the Apollo3 RedBoard: 1.2 MSPS, 14-Bit, Custom Windows, Python Streaming!”
Unlock the full DSP potential of your RedBoard Artemis with Laymans_FFT! This all-in-one library suite lets you:
-
Sample up to 1.2 MHz at 14 bits using ADC + DMA.
-
Perform radix-2 FFTs with lightning-fast fixed-point math.
-
Stream real-time spectrum data to Python for live plotting.
-
Choose from 9 window types, including custom IMPERIAL windows for optimal resolution.
-
Boost the M4 core to 96 MHz for maximum performance.
Whether you’re measuring signals, learning DSP, or building a custom spectrum analyzer, this library gives you high-speed FFTs without the hassle.
You can access this at:
Follow the readme to implement the libraries.
You can expect the following performance if you only sample and run FFT:
100 2048-point FFTs → 2.8087 s → 35.60 FFTs/s
100 512-point FFTs → 0.6039 s → 165.60 FFTs/s
100 128-point FFTs → 0.1363 s → 733.55 FFTs/s
Here is a plot of 30 KHz FM modulated signal, sampled at 1.2 MSPS with 8 times oversampling at using the High Imperial Window, 16384 point fft.
The following plot is of a function generator sweeping from 5 kHz to 595 KHz over 1s.
This is a 512 point fft using a flat-top window at 14 bit at 1.2 MSPS.
The following is FSK where a function generator is changing between 300 kHz and 400 kHz at an FSK rate if 5 Hz, sampled at 1.2 MSPS and 14 bits.
Have fun with this live-steaming FFT suite for the Redboard Artemis.