FFT-based convolution

Discrete convolution using FFT method

您现在正在关注此提交

As opposed to Matlab CONV, CONV2, and CONVN implemented as straight forward sliding sums, CONVNFFT uses Fourier transform (FT) convolution theorem, i.e. FT of the convolution is equal to the product of the FTs of the input functions.
In 1-D, the complexity is O((na+nb)*log(na+nb)), where na/nb are respectively the lengths of A and B.
Optional arguments to control the dimension(s) along which convolution is carried out.
Slightly less accurate than sliding sum convolution.
Good usage recommendation:
In 1D, this function is faster than CONV for nA, nB > 1000.
In 2D, this function is faster than CONV2 for nA, nB > 20.
In 3D, this function is faster than CONVN for nA, nB > 5.

引用格式

Bruno Luong (2026). FFT-based convolution (https://ww2.mathworks.cn/matlabcentral/fileexchange/24504-fft-based-convolution), MATLAB Central File Exchange. 检索时间: .

类别

Help CenterMATLAB Answers 中查找有关 Fourier Analysis and Filtering 的更多信息

一般信息

MATLAB 版本兼容性

  • 兼容任何版本

平台兼容性

  • Windows
  • macOS
  • Linux
版本 已发布 发行说明 Action
1.7.0.3

Fix bug when calling with syntax CONV2FFT(H1, H2, A, SHAPE)

1.7.0.2

Installation script use now right mex compilation options for R2018a or later

1.7.0.1

Make inplaceprod compatible with interleaved complex

1.7.0.0

Add the syntax conv2fft(H1, H2, A, ...)

1.6.0.0

Option allows to disable padding to next power-two. Mex implement inplace product that saves about 1/3 memory. These two enhancement might be useful when perform convolution with very large arrays.

1.5.0.0

GPU unable by default + changes in help section

1.4.0.0

GPU/Jacket capable

1.1.0.0

correct bug when ndims(A)<ndims(B)

1.0.0.0