循环卷积与线性卷积的实现_第1页
循环卷积与线性卷积的实现_第2页
循环卷积与线性卷积的实现_第3页
循环卷积与线性卷积的实现_第4页
循环卷积与线性卷积的实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实验五 循环卷积与线性卷积的实现 一、 实验目的(1) 进一步理解并掌握循环卷积与线性卷积的概念;(2) 理解掌握二者的关系。二、 实验原理两个序列的点的循环卷积定义为 从定义中可以看到,循环卷积和线性卷积的不同之处在于:两个点序列的点循环卷积结果仍为点序列,而它们的线性卷积的结果长度则为2-1;循环卷积对序列的移位采取循环移位,而线性卷积对序列采取线性移位。正是这些不同,导致了线性卷积和循环卷积有不同的结果和性质。两个序列的点循环卷积是它们的线性卷积以为周期的周期延拓。设序列的长度为,序列的长度为,此时线性卷积结果的序列点数为;因此如果循环卷积的点数小于,那么上述周

2、期性延拓的结果就会产生混叠,从而两种卷积会有不同的结果。而如果满足的条件,就有循环卷积与线性卷积的结果在范围内相同。根据DFT循环卷积性质中的卷积定理因此可以根据性质先分别求两个序列的点DFT,并相乘,然后取IDFT以得到循环卷积。三、 实验分析例题:已知有限长序列与如下图所示,(1) 画出两者之间的线性卷积(2) 8点圆卷积。(3) 5点圆卷积。解析如下:(1)与的线性卷积,由公式可知:与的图形如下:利用方格平移法:1111132100由方格平移法可知:当时,当时, 当时,当时,当时,当时,当时,当时,当时,得到图形如下:(2)与的8点圆卷积,由公式可知:与的图形如下:根据下面图表可计算得到

3、圆卷积:当时:111110000000321000003000取和得到圆卷积为3。当时:111110000000032100000000取和得到圆卷积为0。当时:111110001000003200000000取和得到圆卷积为1。当时:111110002100000321000000取和得到圆卷积为3。当时:111110003210000032100000取和得到圆卷积为6。当时:111110000321000003210000取和得到圆卷积为6。当时:111110000032100000321000取和得到圆卷积为6。当时:111110000003210000032000取和得到圆卷积为5。

4、得到波形如下:(2)与的5点圆卷积,由公式可知:与的图形如下:根据图标可计算得到圆卷积:当时:111110321003210取和得到圆卷积为6。当时:111110032100321取和得到圆卷积为6。当时:111111003210032取和得到圆卷积为6。当时:111112100321003取和得到圆卷积为6。当时:111113210032100取和得到圆卷积为6。画出波形如下:四、 仿真实验Matlab程序设计如下:编写的循环卷积程序:方法一:直接根据定义计算,程序编辑如下:function y=circonv1(x1,x2,N)if length(x1)>N error('N

5、 must not be less than length of x1')endif length(x2)>N error('N must not be less than length of x2')end x1=x1,zeros(1,N-length(x1);x2=x2,zeros(1,N-length(x2);n=0:1:N-1;x2=x2(mod(-n,N)+1);H=zeros(N,N);for n=1:1:N H(n,:)=cd(x2,n-1,N);endy=x1*H'function y=cd(x,m,N)if length(x)>N

6、errorendx=x zeros(1,N-length(x);n=0:1:N-1;n=mod(n-m,N);y=x(n+1);方法二:根据性质先分别求两个序列的N点DFT,并相乘,然后取IDFT以得到循环卷积function y=circonv2(x1,x2,N)if length(x1)>N error('N must not be less than length of x1')endif length(x2)>N error('N must not be less than length of x2')end X1k=fft(x1,N);X2

7、k=fft(x2,N);Yk=X1k.*X2k;y=ifft(Yk);if(all(imag(x1)=0)&&(all(imag(x2)=0)y=real(y);end编写的主程序:n=0:1:4;m=0:1:4;N1=length(n);N2=length(m);xn=ones(1,5);hn=0,0,1,2,3;y1n=conv(xn,hn);y2n=circonv2(xn,hn,N1+N2-1);y3n=circonv1(xn,hn,N1);ny1=0:1:length(y1n)-1;ny2=0:1:length(y3n)-1;subplot(3,1,1);stem(ny1,y1n);subplot(3,1,2);stem(ny1,y2n);subplot(3,1,3);stem(ny2,y3n);运行结果如下:图表 1实验结果与理论结果一致。五、 实验小结通过本次实验理解并掌握了循环卷积与线性卷积的概念,也掌握了两者之间的关系。学会了matlab中线性卷积函数,以及如何编写循环卷积。在仿真过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论