You need to enable JavaScript to run this app. 正弦信号FFT原理疑问:修改序列末值为何未观测到频谱泄露
优惠活动
大模型
产品
解决方案
定价
更多

正弦信号FFT原理疑问:修改序列末值为何未观测到频谱泄露

未观测到FFT频谱泄露的核心原因

最普遍场景:线性刻度无法识别低幅度泄露

仅修改单采样点引入的信号不连续性极低,对应的频谱泄露幅度远低于主瓣峰值,在线性纵轴下完全不可见:

  • N点正弦信号的总能量为 N * A²/2(A为信号幅值)
  • 仅修改最后1个点引入的误差能量最大为 A²(仅当该点原值为±A时),误差能量占比仅为 2/N
  • 若采样点数N≥1000,误差占比不到0.2%,对应旁瓣幅度比主瓣低至少27dB,线性刻度下会被主瓣完全覆盖,视觉上没有任何差异
  • 切换为对数(dB)纵轴绘制即可观测到旁瓣明显抬升,也就是预期的频谱泄露现象

其他需排查的低概率情况

  • 代码逻辑错误:修改时域序列后未重新执行FFT计算,直接复用了之前的计算结果,输出自然完全一致
  • 无效修改:原始序列的最后一个点本身取值就是0,修改操作没有改变信号本身,FFT结果不变
  • 绘图参数限制:纵轴范围设置过大,像素级的幅度差异无法被观测到

快速验证方案

你可以通过两个小测试快速定位原因:

  1. 用dB刻度绘制FFT幅度:20 * np.log10(np.abs(fft(y)) / np.max(np.abs(fft(y)))),归一化后可以清晰看到修改前后的旁瓣差异
  2. 放大修改操作的影响:将序列最后10%的采样点都设为0,再用线性刻度绘制即可直接观测到明显的频谱泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 10:27:03