代码之家  ›  专栏  ›  技术社区  ›  Clément

倍频程fft外推

  •  4
  • Clément  · 技术社区  · 16 年前

    使用GNU倍频程,我计算一个信号的fft,然后消除一些频率,最后重建信号。这给了我一个很好的信号近似值;但它没有给我一个外推数据的方法。

    基本上假设我画了三个半周期

    f: x -> sin(x) + 0.5*sin(3*x) + 1.2*sin(5*x)
    

    然后加入一段低振幅、零中心的随机噪声。使用fft/ifft,我可以很容易地去除大部分噪声;但是,我如何再推断出3个周期的信号数据呢?(当然是复制信号的)。

    数学方法很简单:将函数分解为无穷的正弦/余弦之和,只需提取部分和并将其应用于任何地方。但我不太懂编程的方法。。。

    谢谢!

    1 回复  |  直到 16 年前
        1
  •  2
  •   Paul R    16 年前

    离散傅里叶变换依赖于假设你的时域数据是周期性的,所以你可以重复你的时域数据 ad nauseam -不需要明确的推断。当然,如果您的各个分量周期不是DFT输入窗口持续时间的精确子倍数,则这可能无法提供您所期望的结果。这就是我们通常申请的原因之一 window functions 例如 Hanning Window 在转换之前。