循环卷积与线性卷积的实现 一、 实验目的:(1)进一步理解并掌握循环卷积与线性卷积的概念。 (2)理解掌握二者的关系。 三、实验原理 两个序列的N 点循环卷积定义为 NnmnxmhnxnhNkNN010 从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果仍为 N 点序列,而他们的线性卷积的结果的长度则为 2N -1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性位移。正式这些不同,导致了线性卷积和循环卷积有不同的结果和性质。 循环卷积和线性卷积虽然是不用的概念,但是它们之间有一个有意义的公式联系在一起 nGrNnynxnhnyNrN 其中 nxnhny 也就是说,两个序列的N 点循环卷积是他们的线性卷积以 N 为周期的周期延阔。设序列 nh的长度为1N ,序列 nx的长度为2N ,此时,线性卷积结果的序列的点数为121NNN;因此如果循环卷积的点数 N 小于121 NN,那么上述周期性延阔的结果就会产生混叠,从而两种卷积会有不同的结果。而如果 N 满足NN的条件,就会有 Nnnyny0 这就会意味着在时域不会产生混叠。因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得 nx和 nh成为121 NN店序列,并作出这两个序列的121 NN循环卷积与线性卷积的结果在Nn 0范围内相同。 根据DFT 循环卷积性质中的卷积定理 nhDFTnxDFTnxnhDFTN• 便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算;二是根据性质先分别求两个序列的N 点DFT,并相乘,然后取IDFT以得到循环卷积。第二种方法看起来要经过若干个步骤,但由于求序列的DFT 和IDFT 都有快速算法,因此它的效率比第一种方法要高得多。 同样,根据线性卷积和循环卷积的关系,可以通过计算循环卷积以求得线性卷积,提高计算序列线性卷积的效率。 四、 实验内容 输入程序序列如下: n=[0:1:4];m=[0:1:3]; x1=1+n;x2=4-m; %生成函数 x1 和x2 L1=length(x1)-1;L2=length(x2)-1; %取函数的长度 y1=conv(x1,x2); %直接用函数 conv 计算线性卷积 n1=[0:1:L1+L2]; subplot(3,1,1);stem(n1,y1) %绘制线性卷积图形 xlabel('n');ylabel('y...