数字信号处理及MATLAB实现
上QQ阅读APP看书,第一时间看更新

第四节 圆周卷积

如果x1n)和x2n)是两个有限长序列,长度分别为N1N2,对它们分别作N点离散傅里叶变换,其中N=max[N1N2],即

X 1k)=DFT[x1n)]

X 2k)=DFT[x2n)]

如果Xk)=X1k)·X2k),那么

式(3-66)表示x1n)和x2n)的圆周卷积。

例3-12 有两个序列x1n)和x2n),其中x1n)={1,2,3|n=0,1,2},x2n)={1,2,3,4|n=0,1,2,3},对它们作4点的圆周卷积,即xn)=x1n)⊗x2n)。

方法一时域求解法

由于作4点的圆周卷积,而序列x1n)的长度小于4,因此,首先对x1n)序列补零,使其长度为4,即x1n)={1,2,3,0|n=0,1,2,3}。下面用式(3-66)对两个序列做循环卷积计算。

n=0时

n=1时

n=2时

n=3时

因此,xn)=x1n)⊗x2n)={x(0),x(1),x(2),x(3)}={18,16,10,16|n=0,1,2,3}

方法二矩阵求解法

根据圆周卷积的计算公式,可以画图解释它的计算过程。长度为N的序列x1m)可以看成是一个圆上的N个等间隔点的样本,而长度为N的圆周时间反转且平移序列x2n-m)也可以看做是均匀分布在同心圆上的N个等间隔点的样本。通过相邻样本的乘积求和运算,可以得到序列xn)。图3-7是例3-12的计算过程示意图。

在图3-7中,内圆上按逆时针顺序排列x1m)的四个样本,并且位置始终不变。外圆上按逆时针排列着x2n—m)的四个样本。当n=0时,顺序依次为:x2(0—0),x2(0—1),x2(0—2),x2(0—3),根据循环移位性质,这四个样本分别与x2(0),x2(3),x2(2),x2(1)相等。当n=1,2,3时,这四个样本开始在前一次排序的基础上逆时针旋转。n每取一个值,内外圆上相邻样本的数值相乘,并把所有乘积相加,得到xn)在当前n下的值。以此类推,可以得到xn)的所有样本值,即x1n)和x2n)的圆周卷积。图3-7的计算原理可用矩阵的形式表示,其中x1m)的样本值位置始终不变,可用向量表示为

图3-7 例3-12计算过程示意图

x 2m)可表示成方阵

x 1n)和x2n)的圆周卷积可以表示成上面两个矩阵的乘积,即

因此,本题可表示成

方法三:频域求解法

首先,计算x1n)和x2n)的4点离散傅里叶变换,分别用X1k)和X2k)表示,即

X 1k)={6,-2-2j,2,-2+2j|k=0,1,2,3}

X 2k)={10,-2+2j,-2,-2-2j|k=0,1,2,3}

然后,利用公式Xk)=X1k)·X2k),求出Xk)={60,8,-4,8|k=0,1,2,3},最后对Xk)求IDFT,得到序列x1n)和x2n)的圆周卷积xn)={18,16,10,16|n=0,1,2,3}。

方法四:用MATLAB编程求解

计算圆周卷积的参考函数如下:

在命令窗口输入下列命令:

运行结果为