这个例子展示了如何建立一个等价之间的线性卷积和圆形。
线性卷积和圆形从根本上不同的操作。然而,有条件的线性卷积和圆形是等价的。建立这个等价性有重要意义。两个向量,x
和y
,循环卷积等于逆离散傅里叶变换(DFT)向量的乘积的阶。了解线性卷积和圆形的条件是等价的可以让你有效地利用DFT计算线性曲线玲珑。
线性卷积的N分向量,x
和一个l分向量,y
,长度N+l- 1。
的循环卷积x和y相当于,你必须至少垫与零向量的长度N+l你把DFT前- 1。反阶的产品后,仅保留第一个N+l- 1的元素。
创建两个向量,x
和y
,计算两个向量的线性卷积。
x = [2 1 2 1];y = (1 2 3);中国= conv (x, y);
长度为4 + 3 - 1的输出。
垫两个向量长度4 + 3 - 1 0。获得的DFT向量,将阶,获得产品的DFT逆。
xpad = [x 0 (1, 6-length (x)));ypad = [y 0 (6-length (y)));ccirc =传输线(fft (xpad)。* fft (ypad));
在循环卷积的向量,xpad
和ypad
,相当于线性卷积x
和y
。你保留的所有元素ccirc
因为输出长度4 + 3 - 1。
策划的输出线性卷积和的倒数DFT产品显示等价。
次要情节(2,1,1)干细胞(中国,“填充”11)ylim([0])标题(“x和y的线性卷积”次要情节(2,1,2)干细胞(ccirc,“填充”11)ylim([0])标题(“循环卷积xpad和ypad”)
垫的向量长度12和获得产品的使用逆循环卷积DFT的阶。仅保留第一个4 + 3 - 1元素产生一个等价的线性卷积结果。
N =长度(x) + (y) 1;xpad = [x 0 (1, 12-length (x)));ypad = [y 0 (12-length (y)));ccirc =传输线(fft (xpad)。* fft (ypad));ccirc = ccirc (1: N);
信号处理工具箱™软件有一个功能,cconv
返回两个向量的循环卷积。您可以获得的线性卷积x
和y
用下面的代码使用循环卷积。
ccirc2 = cconv (x, y, 6);
cconv
内部使用相同的DFT-based过程前面的示例中所示。