Summary of Overlap-Add FFT Processing
Overlap-add FFT processors provide efficient implementations for FIR filters longer than 100 or so taps on single CPUs. Specifically, we ended up with:
(9.24) |
where is acyclic in this context. Stated as a procedure, we have the following steps in an overlap-add FFT processor:
- (1)
- Extract the th length frame of data at time .
- (2)
- Shift it to the base time interval (or ).
- (3)
- Optionally apply a length analysis window (causal or zero phase, as preferred). For simple LTI filtering, the rectangular window is fine.
- (4)
- Zero-pad the windowed data out to the FFT size (a power of 2), such that , where is the FIR filter length.
- (5)
- Take the -point FFT.
- (6)
- Apply the filter frequency-response as a windowing operation in the frequency domain.
- (7)
- Take the -point inverse FFT.
- (8)
- Shift the origin of the -point result out to sample where it belongs.
- (9)
- Sum into the output buffer containing the results from prior frames (OLA step).
A second condition is that the analysis window be COLA at the hop size used:
(9.25) |
Next Section:
Poisson Summation Formula
Previous Section:
Example of Overlap-Add Convolution