Small bandwith FFT analysis


New member

My current project is an tone decoder. Using the Audio board and FFT libraries works very well, but the speed is much to slow to decode Morse or RTTY signals.
I am not very familiar with C language but I think when the FFT1024 library can be modified to analyse only tones from 500 to 2500Hz the performace wil be much better for this project. The resolution of the FFT1024 will be ok.

Is it possible to modify the current library and how can I do that?
You need a small FFT for faster analysis, maybe the FFT256 class. An FFT has to process all the samples however much of the spectrum you are interested in.

Another approach is using a filter bank if you are only interested in.a few specific frequencies.

Or you can resample to a lower rate first and then analyze on the reduced data rate.
Thanks for the support. FFT may not be the right solution for this. I will start with Tone detection first.
I did some math and the Tone to detect lasts about 60msec.

The PCB I made has connectors for a daughter board for specific circuitry. So I dont have to rebuild the main board. They will be delivered soon.

As always with my projects: It's not really about the result. The gain in know-how and experience along the way is what counts.



I have a similar problem. I'm trying to detect the note vocalized, but it needs a higher resolution (~5Hz) in a relatively small range of 82Hz to 1318Hz.
I'm contemplating trying to lower the sampling rate from 44.1khz to 8kHz or 4kHz.
It already works reasonably well with 44,1kHz with the higher notes that are separated by more Hz.
I'll post here if I have success with lowering the sample rate.
As mentioned before, I try the AudioAnalyzeToneDetect function to detect the audio tone.

But what is not clear to me, when does the function start sampling data? Is it a continuously DMA backgreound task?