Updated 7 Mar 2011
Sometimes you have to perform multiple related convolutions, using the same data but different kernels. This function allows you to reuse intermediary results. When computing the convolution via multiplication in the frequency domain, we reuse the FFT of the data, and need to compute only the FFT of the kernel and the IFFT of their product. So this helps if the kernels are small and many and the data is large and unique. Matrix (not just vector) input is supported. Calling syntax is identical to Matlab's own conv2/filter2. If you need an FFT-based implementation of convolution without reuse, I'd recommend submission number 24504. Run test('filter2fft') to check your installation.
Felipe G. Nievinski (2023). conv2fft_reuse (https://www.mathworks.com/matlabcentral/fileexchange/30656-conv2fft_reuse), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: FFT-based convolution, testit
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.