Code covered by the BSD License  

Highlights from
FFT-based Convolution

3.66667

3.7 | 6 ratings Rate this file 39 Downloads (last 30 days) File Size: 4.1 KB File ID: #4334

FFT-based Convolution

by Luigi Rosa

 

07 Jan 2004 (Updated 08 Jan 2004)

A fast 1D and 2D convolution.

| Watch this File

File Information
Description

FFT-based convolution.
See readme.txt for more informations.

Please contribute if you find this software useful. Report bugs to luigi.rosa@tiscali.it

Luigi Rosa
Via Centrale 27
67042 Civita di Bagno
L'Aquila --- ITALY
email luigi.rosa@tiscali.it
mobile +39 340 3463208
http://utenti.lycos.it/matlab

MATLAB release MATLAB 6.5 (R13)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (10)
15 Jan 2004 Yuval Cohen

Matlab has a function called fftfilt (in the signal processing toolbox) that does the exact same thing, only faster. This algorithm is also known as Overlap add.

30 Mar 2004 Ewing Young  
05 May 2004 Jay Liu

fftfilt in matlab is only for 1D cases.

27 Jul 2004 Park Hanguk

Isn't the standard implementation of the conv function in Matlab already based on fft?....

28 Jul 2004 Pedro Cati

I suppose not. Conv performs time domain convolution. A possible improvement could be wavelet-based convolution...FFtfilt is a 1D FFT-based convolution (OLA method) and this operator in N-dimensions can be performed in N step.

16 Dec 2004 Andreas Silzle

Comparison of calculation times
Signal length 1 second, impulse length 1 second, fs=44100, vectors (one-dimension).
conv 103.8 s
filter 79.4 s
fftfilt 0.38 s
convfft 0.92 s
Signal length 10 seconds, impulse length 1 second
fftfilt 1.28 s
convfft 14.61 s
Matlab 6.5.1
AMD Athlon XP 2000+ (1.67 GHz), 512 MB RAM

05 Dec 2005 Ila Fiete

This is a simple code for 2-d convolution, based on the built-in matlab routine for 2-d fft. You can write it easily yourself, but this code is pretty clean and straightforward.

For large matrices, filter2 or conv2 are v. slow in matlab for large matrices. This code leads to a considerable speedup, by a factor of 5-10 on my machine, when I convolve a 500^2 matrix with a 100^2 one.

24 Mar 2006 Rameez Ahmed

I need coding for convolution coding theory in MATLAB. Need some help!!

03 Jan 2007 Vishnuvenkatesh Dhage  
06 Mar 2011 Felipe G. Nievinski

The code is bug-prone because it has lots of unnecessary duplicated portions. I'd recommend instead <http://www.mathworks.com/matlabcentral/fileexchange/24504-fft-based-convolution>;.

Please login to add a comment or rating.
Updates
08 Jan 2004

Software upgraded: complex input

Tag Activity for this File
Tag Applied By Date/Time
convolution Luigi Rosa 22 Oct 2008 07:12:24
fft Luigi Rosa 22 Oct 2008 07:12:24
polynomial Luigi Rosa 22 Oct 2008 07:12:24
multiplication Luigi Rosa 22 Oct 2008 07:12:24
convolution Lei Wang 13 Aug 2009 22:21:05
fft Fabian 04 Apr 2012 05:58:41

Contact us at files@mathworks.com