direct Frequency domain FIR filtering vs Overlap-add method I'm trying to do bandpass filtering of a EEG signal samples at 250Hz and benchmarking the following 4 methods of FIR filtering for different filter orders. The length of the signal is 15000 samples.


Time Domain Approach (convolution)
Direct frequency domain approach
Overlap-add 
Overlap-save


For follow the procedure listed in the following Wiki pages for overlap-add and overlap-save
http://en.wikipedia.org/wiki/Overlap%E2%80%93add_method
http://en.wikipedia.org/wiki/Overlap%E2%80%93save_method

For frequency domain approach I do FFT for the entire length of the signal, multiply with the frequency response of filter H and then IFFT the result.

For overlap and add, I chose M(overlap) to be 1+length_of_response and L to be twice of M.

Although one would expect Overlap-add to outperform Direct Frequency domain approach, this is not what I see in my benchmark results(see attached figure).

Please help me out in understanding where I might be going wrong.
An FFT of twice the filter order is kind of short.  Take a look at the &quot;Choice of FFT size&quot; section from this article I wrote a while back.
Also your whole signal will fit into a reasonable size FFT, so I think the single FFT approach is fine in this case.