FFT update speed question

codesnipe000

New member
If I wanted to maximize the update speed of a FFT, is it feasible to use a 128 point FFT at 90% overlap? I understand that there will be very bad frequency resolution, but I am just wondering if it would be possible to run in real time, and if I would have to code it manually or if it is already supported in the audio library.

Also, if someone could double check my math... at a 44.1khz sampling rate, with a 128 point FFT, and a 90% overlap, the update speed should be (44,100/128) * 10, which is about 3445 updates per second.
 
Which Teensy? The T4 will stroll along hardly noticing this I suspect. How are you going to interface to an FFT every 13 samples though? That's not something the Audio library supports directly.
 
Using the teensy 4.1. I still need to figure out how to code the custom fft code... worst case scenario I could just write the raw audio data to the sd card, and process the data afterwards
 
The audio library has 1024 point FFT with optional windows and 50% overlap (so you get new FFT1024 output every audio 512 samples). It runs fine on the older Teensy 3.x boards with 44.1kHz sample rate. Teensy 4.x is much faster. The audio library has basic CPU usage metrics you can use to get an estimate of how much CPU time it's really using. There's also similar 256 point FFT in the library. All the source code is on github at the audio library and core library and arm math lib (and of course these are installed on your PC when using Teensy) if you want to dive into the details.
 
Back
Top