循环卷积与线性卷积的matlab实现

上海电力学院

信号与系统实验报告题目:循环卷积与线性卷积的实现

班级:2011023

专业:电气工程及其自动化

学号:20111257

2013年月17

日12

循环卷积与线性卷积的实现

一、实验目的

1、进一步理解并掌握循环卷积与线性卷积的概念;

2、理解掌握二者的关系;

二、实验原理

两个序列的N 点循环卷积的定义为:

[h (n )⊗x (n )]N =∑h (m )x ((n -m ))N k =0N -1(0≤N

从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个N 点序列的N 点循环卷积的结果仍为N 点序列,而它们的线性卷积的结果的长度则为2N-1;循环卷积对序列的位移采取循环位移,而线性卷积对序列采取线性位移。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。

循环卷积和线性卷积虽然是不同的概念,但它们之间由一个有意义的公式联系在一起:y (n )=[h (n )⊗x (n )]N

其中y '(n )=h (n )*x (n )。

也就是说,两个序列的N 点循环卷积是他们的线性卷积以N 为周期延拓。设序列h (n )的长度为N1,序列x (n )的长度为N2,此时,线性卷积结果的序列的点数为N '=N 1+N 2-1; 因此如果循环卷积的点数N 小于N 1+N 2-1,那么上述周期性⎛∞⎫= ∑y '(n -rN )⎪G N (n )⎝r =-∞⎭延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果N 满足N =N '的条件,就会有y (n )=y '(n )(0≤n

这就意味着在时域不会产生混叠。因此,我们得出结论:若通过在序列的末尾填充适当的零值,使得x (n )和h (n )成为N 1+N 2-1点序列,并作出这两个序列的N 1+N 2-1循环卷积,那么循环卷积与线性卷积的结果在0≤n

根据DFT 循环卷积性质中的卷积定理

DFT {[h (n )⊗x (n )]N }=DFT [x (n )]∙DFT [h (n )]

便可通过两种方法求两个序列的循环卷积:一是直接根据定义计算;二是根据性质先分别求两个序列的N 点DFT,并相乘,然后取IDFT 以得到循环卷积。第二种方法看起来要经过若干个步骤,但由于求序列的DFT 和IDFT 都有快速算法,因此它的效率比第一种方法高得多。

同样,根据线性卷积和循环卷积的关系,可以通过计算循环卷积以求得线性卷积,提高计算序列线性卷积的效率。

三、实验运行

1、已知两序列

x (n ) =(0.9)n (0≤n ≤16)h (n ) =

0其他1(0≤n ≤8)0其他

求两序列的线性卷积和它们的N 点循环卷积。

1)编写circonv1

函数

上述函数直接利用循环卷积的含义。本来最简单的方法是用两个for 循环嵌套,但效率偏低。因此采用矩阵的方法,即先生成矩阵H ,它的第k 行包括序列x 2((k -1-n )) N , 这样矩阵H 与x 1(n

) 相乘就是两个序列的循环卷积。效率大大提高。

该函数采用第二种方法。在函数末尾,判断了是否是两实序列卷积的情形。

下面利用这两个函数来研究循环卷积和线性卷积的关系。

运行结果:

2、例5.3.2(p149)求如下两有限长序列的圆卷积。

x (n ) =(n +1) G 4(n )

h (n ) =(4-n ) G 4(n )

编写程序调用编好的circonv1和circonv1函数,即可得到图形。

四、实验问题

1、注意序列的长度。G 4(n ) 的定义域(0,1,2,3)matlab 中表示为n=[0:1:3]2、线性卷积和N 1 N 2-1点循环卷积相同。

五、实验小结

通过这次实验,我进一步理解并掌握了循环卷积与线性卷积的概念。虽然这次实验较为复杂,但是通过复习课后所学并且进行消化,然后再通过查阅资料,得以提高。而且通过这次实验,我们也积累出两者之间的关系,相信通过这些,对于我们今后的学习,有着莫大的帮助。


© 2024 实用范文网 | 联系我们: webmaster# 6400.net.cn