【问题标题】:Understanding FFT for a sinusoid了解正弦曲线的 FFT
【发布时间】:2021-05-20 11:33:41
【问题描述】:

我正在尝试了解 FFT 的工作原理。

如果我绘制此信号的 FFT(即 np.abs(fft(y)),我会看到预期的 10 Hz 处的一个峰值。 我的实验是改变 y 的最后一个值(即 y[-1] = 0),使重复时信号 y 似乎连接不顺畅,但输出没有变化:

output

我的理解是 FFT 图中会有泄漏,因为 FFT 会“认为”信号在 1 秒左右没有平滑连接在一起。但是,我根本看不到泄漏。我错过了什么重要的东西吗?

【问题讨论】:

  • 你的意思是“y的最后一个值”吗? y 将是 -1 到 1 范围内的浮点数,因为它是某物的余数。 y[-1] 指的是不在您的代码中的数据结构。你为什么不编辑你的问题来澄清。
  • “我根本看不到泄漏”。那你看到了什么?更改输入数组中的值必须更改输出。如果您根本看不到变化,也许您正在寻找与您想象的不同的东西?为什么不发布完整的代码来重现您正在查看的情节?
  • 看看红点怎么没有和Y轴上的0对齐?这就是你的“泄漏”

标签: python audio window signal-processing fft


【解决方案1】:

样本点必须是 2 的幂。我建议您工作的点数至少高出 4 倍。这使得 10Hertz x4 = 40 点,最接近 2 的幂是 64 点。

【讨论】:

  • 不需要有两个样本的幂。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多