我正在使用 Radix-2 Cooley-Tukey FFT/FFT-inverse 实现卷积,我的输出是正确的,但在完成时发生了偏移。
我的解决方案是将输入大小和内核大小都零填充到 2^m 以获得最小可能的 m,使用 FFT 转换输入和内核,然后将两个元素相乘并使用 FFT 逆将结果转换回。
作为由此产生的问题的示例:
0 1 2 3 0 0 0 0
4 5 6 7 0 0 0 0
8 9 10 11 0 0 0 0
12 13 14 15 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)
带有身份核
0 …Run Code Online (Sandbox Code Playgroud)