I'm trying to measure the amplitude of a spectral component in a signal. The component's frequency is always known beforehand.
I take a given number of samples, apply the flattop window to reduce scalloping loss, then use FFT and look at the bin of interest.
The earlier method used adaptable sampling frequency ($f_s$ was an integer multiple of the signal frequency) -> no windowing was needed.
Compared to the earlier method, measurements with the new method have a lot more variance. I suspect that it is the window that picks up the noise (convolution over the whole spectrum, where there are other strong components).
The $f_s$ is either 312 KS/s or 625 KS/s, the signal frequency is 2-15 KHz.
How could I improve my measurement?
Is there an other method which exploits the fact that the frequency of the signal is always exactly known?