【问题标题】:Strange artefact in my Fourier transform我的傅里叶变换中的奇怪伪影
【发布时间】:2009-12-17 12:19:46
【问题描述】:

我在 Matlab 中对时间序列波形执行了 fft(快速傅立叶变换),但实际上在傅立叶变换图中我似乎有一个奇怪的波,虽然这个波看起来像我期望的那样有尖峰只能在时域中看到。发生这种情况是否有任何编程原因?

【问题讨论】:

  • 你能说得更具体点吗?图片?
  • 上传到图片托管网站并链接到它。
  • 大多数人第一次看到 DFT 时都会有这种反应。他们很奇怪。

标签: matlab signal-processing fft


【解决方案1】:

傅里叶变换与傅里叶逆变换非常相似。一个中的尖峰是另一个中的波浪。因此,如果您的系列中有一个异常数据点,您将在频域中有一个波分量。

可能与编程相关的问题可能是未初始化的数据点,例如为 1024 点 FFT 提供 1023 个数据点。

【讨论】:

  • 但是如果 fft 长度不正确,Matlab 应该用零填充?
  • 如果数据是一个余弦波,两端都是 1,那么末尾的额外零就是异常值。
  • 我怎样才能删除异常值,它们似乎正在破坏它。
【解决方案2】:

fft 假设信号是周期性的,因此如果第一个值和最后一个值的差异足以使转换看起来像一个阶跃函数,那么您可以获得一些伪像。通常最好对数据进行窗口化以避免这种现象。

【讨论】:

    【解决方案3】:

    请注意,有限长度信号的连续时间傅里叶变换在频域中可能会出现看起来像“尖峰”的东西。请参阅this post 中的单个余弦信号周期和十个余弦信号周期的连续时间傅里叶变换图。

    例如,无限范围的余弦信号具有简单的傅立叶变换,它是 +/- 余弦频率的一对脉冲。但是如果你只有十个周期的余弦信号,傅里叶变换看起来像这样:

    【讨论】:

      【解决方案4】:

      Steve 目前正在撰写一系列关于傅立叶变换的精彩系列文章on his blog。他专门讨论了 2D 变换,但您可能会发现他对窗口化的讨论很有帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-25
        • 1970-01-01
        • 2020-02-19
        • 1970-01-01
        • 2021-05-18
        • 1970-01-01
        • 2019-07-25
        相关资源
        最近更新 更多