相关运算和卷积运算在一定程度上是一样,第二个信号是否需要反褶,如果参与运算的第二个信号是偶信号(偶函数)。
对于有限长的离散时间序列信号,它们的卷积结果的长度等于参与卷积的两个信号长度之和,再减去 1。
FFT 加速卷积运算,这种变化所完成的计算结果,是两个信号的“圆卷积”。
由于快速傅里叶变换(FFT),是离散傅里叶变换(DFT)的快速算法,而离散傅里叶变换的公式来源于周期序列信号的傅里叶级数分解(DTFS)的 公式。所以本质上讲,他们反映的是周期离散序列信号中在一个周期内有限个波形数据,与它的频谱,也是一个周期序列信号,在一个周期内的有限个频谱数据之间的对应关系。因此,通常对信号的平移、反褶等操作,都需要按照圆位移、圆反褶来进行,即先把信号拓展长一个周期信号,然后进行相应的平移,反褶。
将卷积运算中的反褶、位移都替换成圆反褶、圆位移,就形成了两个信号的圆卷积操作。两个信号进行圆卷积,它们必须长度相同,圆卷积的结果等于两个信号的长度本身,而不是它们的长度之和,再减一。
由于有了圆卷积的定义,所以将原来的普通卷积称为线卷积。
利用 FFT 所得到的卷积结果是两个等长序列的圆卷积,与两个序列的线卷积的结果是不同的。
解决方法很简单,那就是补零,即在序列后面通过增加若干个 0,来增加序列的长度。
圆卷积运算要求参与运算的两个信号长度必须相同,满足这一点是通过对短序列后面补零来实现。同样,为了使得圆卷积也能够得到和线卷积相同长度的结果,只要将两个序列(长度分别为)长度通过补零延长到即可。这样通过圆卷积所得到的结果不仅长度和线卷积的长度相同,实际上,结果也是一样的。
两个信号的互相关函数的频域等于X信号频域的共轭乘以Y信号的频域,即两个信号做FFT后,对一个信号取共轭,再做乘积。最后对结果做反变换。