信号处理 – 使用八度音程的fft外推

使用GNU八度音程,我在一段信号上计算fft,然后消除一些频率,最后重建信号.这给了我一个很好的近似信号;但它没有给我一种推断数据的方法.

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

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

然后添加一段低幅度,零中心随机噪声.使用fft / ifft,我可以轻松地消除大部分噪音;但是,我如何推断3个以上的信号数据周期呢? (其他当然是重复信号).

数学方法很简单:你将函数分解为无穷大的正弦/余弦,你只需要提取一个部分和并将其应用到任何地方.但我不太了解程序化方式……

谢谢!

最佳答案 离散傅里叶变换依赖于您的时域数据是周期性的假设,因此您只需重复您的时域数据即可 – 不需要进行明确的外推.当然,如果您的单个组件周期不是DFT输入窗口持续时间的精确子倍数,则可能无法满足您的预期.这就是我们通常在变换之前应用
window functions(例如
Hanning Window)的一个原因.

点赞