You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFT数值计算矩形函数的傅里叶变换?结果匹配问题求解

用FFT数值计算矩形函数的傅里叶变换问题

我希望对傅里叶变换进行数值计算,选择矩形函数作为示例,其定义如下:

function step(x)
    if abs(x) < a
        return 1
    else 
        return 0
    end
end

根据Lothar Papula的教材[1],该函数的傅里叶变换为:

function stepff(p)
    return 2*sin(a*p)/p
end

我想直接使用fft算法完成这一计算。

已尝试的操作

使用Julia进行计算并绘图:

x = -5:dx:5
p = fftfreq(length(x),2pi/dx)
scatter(p, real.(fft(step.(x))))
scatter!(p, imag.(fft(step.(x))))

计算结果的实部和虚部与预期完全不符,但绝对值仅存在一个常数偏差(见附图)。

已知的公式关联疑问

离散傅里叶变换公式:
$$
X_k=\sum_{n=0}^{N-1} x_n \cdot e^{-\frac{i 2 \pi}{N} k n}
$$

连续傅里叶变换公式:
$$
\hat{f}(\xi)=\int_{-\infty}^{\infty} f(x) e^{-i 2 \pi \xi x} d x
$$

我仅知道可用黎曼和近似积分:
$$
\int_{-\infty}^{\infty} f(x) , dx \approx \frac{1}{N}\sum_{N}f(x[N])
$$
但不确定离散与连续傅里叶变换的具体关联,查阅相关帖子后未得到有效解答。

[1] 注:不同教材的傅里叶变换惯例可能存在$2\pi$因子或$1/\sqrt{2\pi}$的归一化差异。


内容的提问来源于stack exchange,提问作者TheFibonacciEffect

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:30:26