Code covered by the BSD License  

Highlights from
Fast Convolution

4.57143

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

Fast Convolution

by

 

06 Jun 2004 (Updated )

Convolves two extremely large vectors in reasonable time.

| Watch this File

File Information
Description

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

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

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.

01 Aug 2006 anony mouse

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

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));

08 Jun 2004 Luigi Rosa

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

Updates
10 Jun 2004

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

Contact us