我正在尝试通过在频域中使用窗口函数来合成正弦曲线。
它涉及:
- 在频域中,将窗口移动到峰值频率的中心
- 要生成 DFT 帧,请在峰值周围采样一些窗口值作为光谱图案
- 逆傅立叶变换频谱基序,以生成所需频率的正弦波
除了合成低频外,这种方法总体上效果很好。因为当将窗口移至低频时,窗口的左侧将位于负频域。
中间的图说明了问题(T(k) 位于负域中)
我在这里找到了一个解决方案,它建议将窗口左尾(在负域中)的复共轭值添加到窗口右尾(在正域中)的 DFT bin 中。我无法理解,遵循这个解决方案会产生更多的失真。所以我想知道是否有人知道如何正确地做到这一点。任何建议将不胜感激!
上述解决方案的一些摘录:
围绕 k=0 轴的反射归因于本文描述的用于合成正弦曲线的特定实施例。对于每个真实正弦曲线,一个峰值存在于正频率区间中,而另一个峰值存在于负频率区间中。在仅合成正频率区间中的峰值的实施例中,以低正频率区间为中心的峰值溢出到负频率中(如图3中的Ht(k-bc)的图所示)。类似地,以低负频率区间为中心的峰值溢出到正频率中。Ht(k-bc) 在负频率中被反射的部分,或 T*(-k),表示以负频率区间为中心的峰值部分,该部分溢出到正频率中。
PS。前段时间我在DSP 相关论坛上提出了这个问题。我从罗伯特那里得到了非常详细的建议,忽略位于负域上的箱以指定整个正频率,然后复共轭将其反映到负频率,这已经改善了问题,但它仍然无法下降低于 80 赫兹。所以我想我会在这里再次发布。