Skip to content Skip to sidebar Skip to footer

Fft Frequency Bucket Amplitude Varies Even With Constant Tone Applied

I am trying to use FFT to decode morse code, but I'm finding that when I examine the resulting frequency bin/bucket I'm interested in, the absolute value is varying quite significa

Solution 1:

Make sure you are using the magnitude of the FFT result, not just the real or imaginary component of a complex result.

In general, when a longer constant amplitude sinusoid is fed to a series of shorter FFTs (windowed STFT), the magnitude result will only be constant if the period of the sinusoid is exactly integer periodic in the FFT length. e.g.

f_tone modulo(f_sampling_rate / FFT_length)== 0

If you are only interested in the magnitude of one selected tone frequency, the Goertzel algorithm would serve as a more efficient filter than a full FFT. And, depending on the setup and length restrictions required by your chosen FFT library, it may be easier to vary the length of a Goertzel to match the requirements for your target tone frequency, as well as the time/frequency resolution trade-off needed.

Post a Comment for "Fft Frequency Bucket Amplitude Varies Even With Constant Tone Applied"