资源描述:
《循环卷积与线性卷积的实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、循环卷积与线性卷积的实现一、实验目的(1)进一步理解并掌握循环卷积与线性卷积的概念。(2)理解掌握二者的关系。二、实验原理两个序列的N点循环卷积定义为[h(n)x(n)]N=h(m)x((n-m))N从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N点序列的N点循环卷积的结果仍为N点序列,而它们的线性卷积的结果长度则为2N-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。循环卷积和线性卷积虽然是不同的概念,但是它们之间有一个有意义的公式联系在一起y(n)=[h(
2、n)x(n)]N=((n-rN))GN(n)其中(n)=h(n)*x(n)。也就是说,两个序列的N点循环卷积是它们的线性卷积以N为周期的周期延拓。设序列h(n)的长度为N1,序列x(n)的长度为N2,此时,线性卷积结果的序列的点数为=N1+N2-1;因此如果循环卷积的点数N小于N1+N2-1,那么上述周期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果N满足的条件,就会有()这就意味着在时域不会产生混叠。因此我们得出结论:若通过在序列的末尾填充适当的零值,使得x(n)和h(n)成为N1+N2-1点序列,并作出这两个序列的N1+N2-1
3、循环卷积,那么循环卷积与线性卷积的结果在范围内相同。根据DFT循环卷积性质中的卷积定理DFT{[h(n)x(n)]N}=DFT[x(n)]DET[h(n)]便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算;二是根据性质先分别求两个序列的N点DFT,并相乘,然后取IDFT以得到循环卷积。第二种方法看起来要经过若干个步骤,但由于求序列的DFT和IDFT都有快速算法,因此它的效率比第一种方法高得多。同样,根据线性卷积和循环卷积的关系,可以通过计算循环卷积以求得线性卷积,提高计算序列线性卷积的效率。三、实验内容及理论计算1、课本习题5.8已知有
4、限长序列x(n)=[1,1,1,1,1],h(n)=[0,0,1,2,3],试画出:(1)x(n)与h(n)的线卷积;(2)x(n)与h(n)的5点圆卷积;(3)x(n)与h(n)的8点圆卷积。理论计算结果:(1)x(n)*h(n)=[0,0,1,3,6,6,6,5,3](2)x(n)h(n)=[6,6,6,6,6](3)x(n)h(n)=[3,0,1,3,6,6,6,5]2、课本习题5.10已知N=4的有限长序列x(n)=[0.5,1,1,0.5],绘图解答:(1)x(n)与x(n)之线卷积;(2)x(n)与x(n)之4点圆卷积;(3)x(n)
5、与x(n)之10点圆卷积;(4)欲使x(n)与x(n)的圆卷积和线卷积相同,求长度L的最小值。理论计算结果:(1)x(n)*x(n)=[0.25,1,2,2.5,2,1,0.25](2)x(n)x(n)=[2.25,2,2.25,2.5](3)x(n)x(n)=[0.25,1,2,2.5,2,1,0.25,0,0,0](4)L=N+N-1=7四、Matlab程序及运行结果(1)线性卷积利用conv函数实现;循环卷积利用自定义的circonv函数实现,函数程序如下:(2)课本习题5.8(1)课本习题5.10L=7时循环卷积与线性卷积相同。五、实验小
6、结