Beating MatLab's Convolution Function conv.m for Long Real Sequences!
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
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
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 |