如何计算两个不等长向量的卷积
How to compute the convolution of two unequal length vectors
我知道卷积可以用 FFT 计算。
F*H = IDFT[DFT(F)DFT(H)]
。 * 表示卷积。
如果F和H的长度不相等怎么办。则 DFT(H) 和 DFT(F) 的长度不相等。 那么如何计算两个不等长向量之间的逐元素乘法。我是不是忘记了什么?
要对长度为 H 和 F 的两个向量进行线性快速卷积,一个通常用零填充到相同的长度,长度至少为 H+F-1 或更长,可能到下一个更大的长度那是非常小的质因数(例如 2^n)的乘积。
任何比 H+F-1 更短的长度都会导致循环卷积,这可能是也可能不是您想要的。
我知道卷积可以用 FFT 计算。
F*H = IDFT[DFT(F)DFT(H)]
。 * 表示卷积。
如果F和H的长度不相等怎么办。则 DFT(H) 和 DFT(F) 的长度不相等。 那么如何计算两个不等长向量之间的逐元素乘法。我是不是忘记了什么?
要对长度为 H 和 F 的两个向量进行线性快速卷积,一个通常用零填充到相同的长度,长度至少为 H+F-1 或更长,可能到下一个更大的长度那是非常小的质因数(例如 2^n)的乘积。
任何比 H+F-1 更短的长度都会导致循环卷积,这可能是也可能不是您想要的。