Beating MatLab's Convolution Function conv.m for Long Real Sequences!

This submission contains three fast convolution functions suitable for real signals only.
769 Downloads
Updated 24 Mar 2015

View License

Fast convolution is a primary goal in real-time DSP applications. Here I provide three custon convolution computation functions, suitable for real signals only. Quite remarkably, they outperform MatLab's built-in conv.m function when the length of both sequences is greater than 2^12! I also provide a benchmarking script and some figures of my results. Even more suprisingly, there is no coding in a lower level language like C or assembly. Therefore great room for further speed improvements exists!

Cite As

Ilias Konsoulas (2024). Beating MatLab's Convolution Function conv.m for Long Real Sequences! (https://www.mathworks.com/matlabcentral/fileexchange/44466-beating-matlab-s-convolution-function-conv-m-for-long-real-sequences), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Signal Processing Toolbox in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.2.0.0

I have improved the fastconvrealDFT.m file. Now it takes advantage the special structure of the intermediate signal Z for faster execution. Since it corresponds to a real-signal DFT, I now use the ifftreal.m function.

1.1.0.0

I included the custom function my_DHT.m which was inadvertently omitted in the initial .zip file.

1.0.0.0