我正在做实时音频。假设我有一个信号它以 512 块(siobuffer)的形式传递给程序过滤器/FFT 方法。在这个块中,我想将信号与滤波器进行卷积(脉冲响应)长度为 8192K。所以我将 asio 块从 513 零填充到 8192K,对两个数组进行 FFT 并将结果相乘。在IFFT之后,我得到了卷积信号我想传递给输出 asio 缓冲区的长度为 8192K(也可以说长度为 512)。
现在我的问题来了:要使用多少重叠添加?据我了解,我必须将整个 8192K 添加到最后一个字节,不是吗?这意味着我划分8192 x 512 分成 16 个块,然后将所有这些 512 个块重叠添加到下一个处理的输入块中。当我读到一般的重叠添加时,总会有人们有输出的例子只比输入长一点,所以它们通常重叠添加大约 1.5 个输入块。
我的想法有错误吗?我是否只需要重叠添加部分,或者我必须每次重叠添加我所有的 16 个块?