我尝试直接在 R 中进行卷积并使用 FFT 然后取反。但从简单的观察看来它是不正确的。看这个例子:
# DIRECTLY
> x2$xt
[1] 24.610 24.605 24.610 24.605 24.610
> h2$xt
[1] 0.003891051 0.003875910 0.003860829 0.003845806 0.003830842
> convolve(h2$xt,x2$xt)
[1] 0.4750436 0.4750438 0.4750435 0.4750437 0.4750435
# USING INVERSE FOURIER TRANSFORM
> f=fft(fft(h2$xt)*fft(x2$xt), inv=TRUE)
> Re(f)/length(f)
[1] 0.4750438 0.4750435 0.4750437 0.4750435 0.4750436
>
让我们取索引 0。在 0 处,卷积应该只是 x2$xt (24.610) 的最后一个值乘以 h2$xt (0.003891051) 的第一个值,这应该在索引 0 = 24.610*0.003891051 = 0.09575877 处给出卷积,即远离 0.4750436。
难道我做错了什么?为什么值与预期如此不同?