用FFT实现振动函数的傅里叶积分/傅立叶变换

时间:2012-05-09 15:49:47

标签: fft dft numerical-integration

f(x) = cos(x^2)g(k) = pi^0.5 cos((pi*k)^2 - pi/4)是傅里叶对。

我想通过傅里叶积分g(k)使用FFT重现f(x),即

近似Integrate[ f(x) * exp(2 pi * ikx), {x, -inf, inf} ]

Sum[ fn * exp(2 pi * ik x_n), {n, 0, N-1} ] * Delta_x

然而,如果它完全一致,则结果仅在非常小的g(k)范围内与k一致(相同的代码适用于平滑傅里叶对,例如高斯函数)。我想问题是为NDelta_x选择合适的值。是否有任何既定的规则来选择它们?我在哪里可以找到文献中的相关主题(我已经阅读了数字食谱第13.9节,但它似乎没有解决我的问题)?

1 个答案:

答案 0 :(得分:1)

FFT本身具有长度为N的矩形窗口的窗口f(x)。对于在该窗口内不完全周期性的任何k,这将产生不同的g(k)结果。您可以尝试选择Delta_X和N,以便它们的结果是您想要的k的精确整数倍。