是否有关于重叠处理的任何好的(如果可能的科学)资源(网络或书籍)。我对在分析信号时使用重叠处理和窗口的效果不感兴趣,因为要求不同。更多的是关于以下实时情况:(我目前正在处理音频信号)
- 将信号分成更小的部分。
- 创建重叠窗口。
- FFTing 窗口块。
- 在频域中进行处理。
- IFFT 结果。
- 将这些块放在一起形成一个连续的流。
我对所使用的窗口对结果误差的影响以及重叠长度的影响特别感兴趣。但是,我找不到任何详细处理该主题的好资源。有什么建议么?
编辑:
经过一些讨论是否适合使用窗口功能,我找到了一个不错的讲义,解释了重叠和添加/保存方法。http://www.ece.tamu.edu/~deepa/ecen448/handouts/08c/10_Overlap_Save_Add_handouts.pdf
然而,在做了一些测试之后,我注意到窗口版本在大多数情况下会比重叠和添加/保存方法更准确。有人可以证实这一点吗?不过,我不想就计算时间得出任何结论......
编辑2:
以下是我测试的一些图表:
我创建了一个信号,它由三个余弦波组成
我在时域中使用了这个过滤器功能进行过滤。(它是对称的,因为它应用于 FFT 的整个输出,对于实际输入信号也是对称的)
IFFT 的输出如下所示: 可以看出,低频比中频衰减更多。
对于重叠添加/保存和加窗处理,我将输入信号分成 8 个 256 个样本的块。重新组装后,它们看起来像这样。(样品 490 - 540)
可以看出,重叠添加/保存过程在块放在一起的点上与窗口版本不同(样本 511)。这是在比较窗口化进程和重叠添加/保存时导致不同结果的错误。窗口化进程更接近于在一个大垃圾中处理的进程。
但是,我不知道他们为什么在那里,或者他们根本不应该在那里。