为什么傅里叶变换没有表现出明显的周期性?

信息处理 matlab fft 频谱 功率谱密度
2022-02-15 09:40:01

我有一个明显的 4Hz 周期信号(见下图)。但是,当我应用傅立叶变换时,在 4Hz 处没有峰值。此外,当我做功率谱密度(使用 Matlab 的 pwelch 算法)时,在 4Hz 处没有峰值。

我的原始信号以 5 毫秒采样,长度为 141 箱(705 毫秒)。

为什么会这样以及哪种算法会检测到 4Hz 峰值?

谢谢在此处输入图像描述

2个回答

FFT 不一定显示基本周期性,而是显示频谱周期性,这可能是您视觉上可能感知到的周期性的高次谐波(或泛音)。

此外,一些光谱峰值可以隐藏在相对足够大的 DC 偏移(的窗口伪影)下。如果在进行 FFT 之前减去数据的平均值,这些频率峰值可能会更清楚地显示出来。

从轴标签来看,时间段似乎是 250 秒,所以频率是 0.004 Hz,非常接近 DC,在这种情况下,您看到的是正确的。如果轴标签以毫秒为单位,那么您可以尝试 -

  1. 取信号的平均值并应用 FFT,这样它将显示接近 DC 的频率,而不会被 DC 或 1/f 噪声所掩盖
  2. 检查您的 FFT 采样率是否与信号的采样率相同