我有一个嵌入噪声的正弦信号,我想估计它的幅度和频率,所以我可以把它减去。
我意识到 FFT 可以为我完成这项工作,这就是我一直在做的 - 我对输入信号进行了 FFT,并查看了具有最高幅度的频率仓,将其用作频率的估计波,然后减去它。
但问题是频率只能精确到半个 bin,并且 bin 大小可能相当大(因为我的样本大小通常约为 100 个点),因此波长误差很大。一旦我减去,这会留下相当大的残差。
所以作为第二步,我使用来自 FFT 的频率作为估计值,并使用 Levenberg-Marquardt 算法来拟合频率、相位和幅度。这个解决方案对于我生成的玩具数据非常有效,但由于噪音,它在真实数据上经常失败。噪声的幅度可以(最多)与信号的幅度一样大。
我认为我可以使用自相关来估计波长,但我不确定在多个频率分量的情况下如何解释结果。
问题:有什么方法可以估算不是 FFT 的波的波长?我认为由于频率拟合因噪声而失败,我可以尝试拟合波长,但欢迎任何其他建议!
注意:我在执行 FFT 时并没有真正尝试用零填充,因为如果我这样做的话,噪声似乎会在傅立叶平面上上升,但我会尝试并在此处报告成功。