主要内容

线性卷积和循环卷积

这个例子展示了如何建立线性卷积和循环卷积之间的等价性。

线性卷积和循环卷积是完全不同的运算。然而,在某些情况下,线性卷积和循环卷积是等价的。建立这种等价关系具有重要意义。两个向量,xy,循环卷积等于向量的DFT乘积的离散傅里叶反变换(DFT)。知道线性卷积和循环卷积等价的条件允许你使用DFT来有效地计算线性卷积。

a的线性卷积N分向量,x和一个l分向量,y,长度N+l- 1。

对于的圆卷积xy要相等,必须用0填充向量,使其至少长度相等N+l- 1,然后再做DFT。当你将两个dft的乘积反转后,只保留第一个N+l- 1的元素。

创建两个向量,xy,并计算这两个向量的线性卷积。

X = [2 1 2 1];Y = [1 2 3];中国= conv (x, y);

输出长度为4+3-1。

将两个0的向量填充到长度为4+3-1。求两个向量的DFT,将DFT相乘,得到乘积的DFT逆。

Xpad = [x 0 (1,6-length(x))];Ypad = [y 0 (1,6-length(y))];ccirc =传输线(fft (xpad)。* fft (ypad));

零填充向量的循环卷积,xpadypad的线性卷积xy.你保留了所有的元素ccirc因为输出的长度是4+3-1。

绘制线性卷积的输出和DFT乘积的逆以显示等价性。

次要情节(2,1,1)干细胞(中国,“填充”) ylim([0 11]) title(x和y的线性卷积次要情节(2,1,2)干细胞(ccirc,“填充”) ylim([0 11]) title(xpad和pad的循环卷积

图中包含2个轴对象。标题为“x和y的线性卷积”的轴对象1包含一个类型为stem的对象。轴对象2,标题为xpad和ypad的循环卷积包含一个类型为stem的对象。

将向量填充到长度为12,并使用DFT乘积的逆DFT得到圆卷积。只保留前4+3-1个元素,以产生与线性卷积等价的结果。

N =长度(x) + (y) 1;Xpad = [x 0 (1,12-length(x))];Ypad = [y 0 (1,12-length(y))];ccirc =传输线(fft (xpad)。* fft (ypad));ccirc = ccirc (1: N);

信号处理工具箱™软件具有以下功能:cconv,它返回两个向量的循环卷积。你可以得到的线性卷积xy使用循环卷积与以下代码。

ccirc2 = cconv (x, y, 6);

cconv在内部使用前面示例中演示的相同的基于dft的过程。