FFT-based convolution

버전 1.7.0.3 (6.04 KB) 작성자: Bruno Luong
Discrete convolution using FFT method
다운로드 수: 10.9K
업데이트 날짜: 2021/6/14

라이선스 보기

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 (2024). FFT-based convolution (https://www.mathworks.com/matlabcentral/fileexchange/24504-fft-based-convolution), MATLAB Central File Exchange. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2009a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Fourier Analysis and Filtering에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!
버전 게시됨 릴리스 정보
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