convfft vs. fftfilt (1D convolution)

13 views (last 30 days)
I'd like to use the fastest way for 1D convolution in Matlab. Under the discussions for convfft, it's said that fftfilt is faster than convfft, however i'm using the following equivalent commands (for large vectors), and i found fftconv to be faster. Any suggestions?
res1 = convfft(a,b);
res2 = fftfilt([a,zeros(length(b)-1,1)],[b,zeros(length(a)-1,1)]);

Accepted Answer

David Young
David Young on 15 Aug 2011
The relative speed depends on the the sizes of the vectors. The best way to find out which is fastest is to experiment - and that's therefore my suggestion.
There's some discussion of the 2-D case here and some experimental results, which show some of the factors you need to take into account.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!