I am looking at trying to achieve a 'realtime' (as quick as possible to acquire, process and present data) FFT application to analyse audio.
I have setup my app to acquire a set of samples, apply a 50% overlap window function, zero pad, compute FFT, extract magnitude and phase and display these. Currently I can do this with no issues, and minimal latency to the incoming signal.
However, as I have chosen a small sampling window (2048 samples) to achieve a fast time, I realise that this hinders resolution. I am also aware that there is only so much zero padding can achieve, if the acquired data is not there to begin with.
So my question is to do with how to achieve a better resolution for lower frequencies. It is my understanding that for accuracy, the time window should contain at least one cycle of the lowest frequency.
Is there a way that I can perform multiple FFTs on a signal with varying lengths and 'glue' the resultant FFT together. ie, a longer FFT will do the lower frequency range, and a shorter for the higher range. And if I can do this, will this retain phase information, or will I lose this completely?