两个离散Fourier变换的协解

2024-09-29 23:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

给定两个有限序列x(i)和y(i),i=1…n。我知道点积x.y的离散傅立叶变换(DFT)等于x和y的两个DFT之间的卷积:

DFT(x.y) = (DFT(x) * DFT(y))/n

现在我用python测试以下简单代码:

^{pr2}$

结果是:

Dftxy = [3.60+0.j, -1.65-0.4330127j, -1.65+0.4330127j]
CDftxy = [-2.10-0.40414519j, -1.65+0.4330127j, 0.40+0.j]

Dftxy和CDftxy的值不同。我的代码有错误吗?在


Tags: 代码错误序列卷积dftpr2cdftxydftxy
2条回答

如果你想让快速卷积结果产生线性卷积结果,你必须把FFT归零。否则,如果你不清零pad,你将得到一个循环卷积(结束卷积结果环绕和前面的总和)从元素的乘法2 fft。在

你必须改变它:

recovered_vector = np.fft.ifft(CDftxy)

但是是的,周期性边界条件。。对于三元向量,你看不到任何合理的东西

相关问题 更多 >

    热门问题