View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Fast Convolution

4.6 | 7 ratings Rate this file 27 Downloads (last 30 days) File Size: 1.4 KB File ID: #5110 Version: 1.0

Fast Convolution



06 Jun 2004 (Updated )

Convolves two extremely large vectors in reasonable time.

| Watch this File

File Information

This function convolves two very large vectors very quickly. Enormous gains in speed are due to the use of two fft's and an ifft. To find out how to use this program, put it in you 'work' folder and type "help fconv".

MATLAB release MATLAB 5.3 (R11)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (13)
19 Mar 2014 Ali Jadoon

Try this one too!!
File ID: #45945

Comment only
13 Feb 2012 Ryan Muir

This function normalizes the output, which I did not want. Commenting out the last line in the script took care of that (the program is only 10 or 15 lines long). After that, this generated output that is identical to the native conv() function, and did it orders of magnitude faster. Thanks! =)

12 Apr 2011 Drew Weymouth

This is really great for implementing convolution reverb. Thanks!

06 Jul 2009 anjar si

according to my results are not appropriate, because the large value generated is not the same compared with conv.m

Comment only
11 Nov 2007 Mike Cohen

500x improvement. nice work, thanks for sharing that. note that you need to comment out the normalization (last line of code) if the convolved values are meaningful.

10 May 2007 Ismail Al Anshori

Very impressive!
This can make my convolution reverb of my final assignment perform faster and faster.
Thanks a lot.

06 Feb 2007 Charles Jackson

Fantastic. Sped up my code by a factor of 20.

Crashes if the output is all zero (because it tries to normalize the output to a maximum of 1). Very simple to fix this though.

23 Aug 2006 chandra sekhar

01 Aug 2006 anony mouse

This is actually faster if both signals are very large. If only one is large then Matlab's function wins.

Comment only
01 Aug 2006 anony mouse

Matlab's conv function is nearly twice as fast as this one, at least in R2006a.

Comment only
08 Feb 2006 R Hu

Matlab function 'conv' is implemented rather fast itself.

08 Jun 2004 concerned citizen

The output of this finction is normalized to +-1. In otherwords, >>output=output/max(abs(output));

Comment only
08 Jun 2004 Luigi Rosa

Other methods should be considered (Overlap-add method, overlap-save method,...) which use the linearity of this operator.

Comment only
10 Jun 2004

Something was left out in the help section of the function.

Contact us