我一直在学习FFT和窗口函数的有用性。我遇到的一个问题是窗口函数对FFT中信号幅度的影响。例如,假设我有一个等于的信号:
y = 5.0 * sin(50.0 * 2.0 * pi * x) + 1.0 * sin(80.0 * 2.0 * pi * x)
然后我想执行FFT并收到以下图:
然后,如果我执行14度的kaiser窗口函数,我会收到以下FFT:
我想要做的是以下内容:给定一个信号,我想从一个我知道的频率中提取出一个波。要做到这一点,我想应用一个窗口函数,以便更清楚地知道频率是什么,我试图提取但不会丢失有关我尝试提取的波幅度的信息。这可能吗?就像一种从窗口函数反转幅度减小的方法。
答案 0 :(得分:0)
所有窗口函数都会改变感知的幅度。请记住,窗口函数正在改变信号,尽管是以某种特定目的的方式。
所以,要获得有意义的振幅,你必须做一些“规范化”。大多数窗口函数都有文档化的标准化。
但是,在大多数情况下,我真的不需要它们。窗口函数主要用于帮助您检测“峰值”。一旦找到峰值,就可以使用相同“箱”的FFT(DFT)结果(在窗口函数之前)。