convfft vs. fftfilt (1D convolution)

5 vues (au cours des 30 derniers jours)
Hamed Amini
Hamed Amini le 15 Août 2011
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)]);

Réponse acceptée

David Young
David Young le 15 Août 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.
  1 commentaire
Hamed Amini
Hamed Amini le 16 Août 2011
Thanks David.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by