I am currently using overlap-and-add method for a noise cancellation project. Everything works well so far except that when it comes to the real time, I need to overlap the input signals for FFT input. For example, I am using 2048 points FFT with 1024 overlapping samples from previous frame(50% overlapping rate). I am illustrating here with numbers. Each number represents half frame(1024 samples). So the real time input signal goes like 1-2-3-4-5-6-7-8-9-10, but I want to buffer the signal into 1-2-2-3-3-4-4-5-5-6-6. Is is possible to do that?
I have tried to delay the input data audio stream by half data frame samples(1024). So at the same time, I have to data streams like below:
1-|2|-|3|-|4|-|5|-|6|-|7|-|8|-|9|-|10| --input data stream
|1|-|2|-|3|-|4|-|5|-|6|-|7|-|8|-|9|-|10| --delayed data stream
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
at any given clock cycle, I would want to read like the arrow indicated to feed the input for FFT. But since FFT and the input are operating at the same clock frequency, I can't really get the data for FFT input.
thanks yong