为什么是汉宁窗的平方根

信息处理 matlab fft 窗函数
2022-01-28 19:35:14

我刚刚研究了一个窗口 FFT 的实现(Matlab),并看到了以下代码行:

w = sqrt(hann(fft_length, 'periodic'))

然后:

spectogram(:, column) = fft(ringbuffer.*w, fft_length) %why .*w ? 

环形缓冲区显然包含信号的当前帧和重叠,所以对我来说很明显这需要与汉宁窗口相乘,但为什么首先取平方根?

1个回答

纯粹主义者会告诉你它应该被称为 Hann 窗口或 VonHann,而不是 Hanning。

从数学的角度来看,Hann 窗也相当于频率减半的正弦平方窗,因此通过取平方根,您将得到一个正弦窗。

为什么要使用窗户?关于该主题的开创性论文是:

哈里斯,弗雷德。(1978 年 1 月)。“使用 Windows 进行离散傅里叶变换的谐波分析”

该论文的链接可以在参考资料 [10] 的Wikipedia关于 windows 的文章中找到。

希望这可以帮助。

赛德