如果这个问题非常基本,我深表歉意。
我正在使用 FFT 将音频信号(目前是纯正弦波)从时域转换到频域,然后返回时域以比较与原始信号的差异。
目前我这样做:
- 采用非重叠帧(例如每帧 1024 个样本)。
- FFT 该帧
- iFFT 频域信息
- 将输出发送到扬声器
编辑(1):
这似乎现在可以工作(参见没有和有窗口的图像,其中输入=棕色,输出=蓝色)。
结束编辑 (1)
现在我想执行overlapp-add 方法:
- 采用50% 重叠的帧(样本0-1023、512-1535、1024-2047...)
- 将Hanning 窗口应用于ecah 帧
- FFT
- iFFT
- ?? ? 这是我的问题!!
所以在我的 iFFT 结束时,我有一个 1024 个样本的输出帧。这是否意味着我需要将前 512 个样本发送给扬声器,而其他 512 个样本 (512-1023) 应该保存在缓冲区中以添加到下一帧的前 512 个样本中?是这么简单还是我误解了什么?
谢谢!