I am asking this question because I want to make sure I understand the relationship of FFT length, the sampling rate and the buffer size. This question is with respect to the CMSIS DSP library, although I imagine it could be any FFT processing function.
Because of configuration constraints, my ADC is sampling at a rate of 10.68ksps. Then, I am taking the average of 4 samples to end up at a rate of 2.67kbps. I need resolution of 0.5Hz for signals from 100Hz to 300Hz. So here's the part I am missing - I do not understand what sample rate I need to scale to in order to properly conserve frequency information. For example, if I wanted to run a 1024 length FFT, what sample rate should I scale to, and what buffer size should I pass to the fft function?
I do have it working, but the bin information is not quite correct - for example, it is out by 1 bin at 100Hz, but 2 bins at 300Hz. I'm sure it's related to the odd sampling rate. Do I need a sampling rate that is equal to the FFT length? And how does the buffer size passed in impact the operation?
Thank you for any answers.