杭电实验:线性卷积与圆周卷积的计算.doc_第1页
杭电实验:线性卷积与圆周卷积的计算.doc_第2页
杭电实验:线性卷积与圆周卷积的计算.doc_第3页
杭电实验:线性卷积与圆周卷积的计算.doc_第4页
杭电实验:线性卷积与圆周卷积的计算.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

题目:已知两个有限长序列x(n)=(n)+2(n-1)+3(n-2)+4(n-3)+5(n-4)h(n)=(n)+2(n-1)+(n-2)+2(n-3)计算以下两个序列的线性卷积和圆周卷积(1)x(n)y(n) (2)x(n)y(n) (3)x(n)y(n) (4)x(n)y(n)学弟学妹们啊!不要盲目的复制进去啊这里应该先创建一个文档保存函数circonv 再创建一个文档保存调用函数cirshiftd 然后再把主程序拉进去 才能调用以上2个函数喔还是好好学习吧! 调用函数circonvfunction yc=circonv(x1,x2,N)%用直接法实现圆周卷积%y=circonv(x1,x2,N)%y:输出序列%x1,x2:输入序列%N:圆周卷积的长度if length(x1)N error;endif length(x2)N error;end%以上语句判断两个序列的长度是否小于Nx1=x1,zeros(1,N-length(x1);%填充序列x1(n)使其长度为N,序列h(n)的长度为N1,序列x(n)的长度为N2x2=x2,zeros(1,N-length(x2);%填充序列x2(n)使其长度为Nn=0:1:N-1;x2=x2(mod(-n,N)+1);%生成序列x2(-n)N,镜像,可实现对x(n)以N为周期的周期延拓,加1是因为MATLAB向量下标只能从1开始。H=zeros(N,N);%生成N行N列的零矩阵for n=1:1:N H(n,:)=cirshifted(x2,n-1,N);%该矩阵的k行为x2(k-1-n)Nendyc=x1*H;%计算圆周卷积 调用函数cirshiftdfunction y=cirshiftd(x,m,N)%直接实现序列x的圆周移位%y=cirshiftd(x,m,N)%x:输入序列,且它的长度小于N%m:移位位数%N:圆周卷积的长度%y:输出的移位序列if length(x)N error(x的长度必须小于N);endx=x,zeros(1,N-length(x);n=0:1:N-1;y=x(mod(n-m,N)+1); 函数(1)x(n)y(n)clear all;N1=5;N2=4;xn=1 2 3 4 5;%生成x(n)hn=1 2 1 2;%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,5);%用函数circonv计算N1点圆周卷积ny1=0:1:length(yln)-1;ny2=0:1:length(ycn)-1;subplot(2,1,1);%画图stem(ny1,yln);ylabel(线性卷积);subplot(2,1,2);stem(ny2,ycn);ylabel(圆周卷积); 函数(2)x(n)y(n)clear all;N1=5;N2=4;xn=1 2 3 4 5;%生成x(n)hn=1 2 1 2;%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,6);%用函数circonv计算N1点圆周卷积ny1=0:1:length(yln)-1;ny2=0:1:length(ycn)-1;subplot(2,1,1);stem(ny1,yln);ylabel(线性卷积);subplot(2,1,2);stem(ny2,ycn);ylabel(圆周卷积); 函数(3)x(n)y(n)clear all;N1=5;N2=4;xn=1 2 3 4 5;%生成x(n)hn=1 2 1 2;%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,9);%用函数circonv计算N1点圆周卷积ny1=0:1:length(yln)-1;ny2=0:1:length(ycn)-1;subplot(2,1,1);stem(ny1,yln);ylabel(线性卷积);subplot(2,1,2);stem(ny2,ycn);ylabel(圆周卷积); 函数(4)x(n)y(n)clear all;N1=5;N2=4;xn=1 2 3 4 5;%生成x(n)hn=1 2 1 2;%生成h(n)yln=conv(xn,hn);%直接用函数conv计算线性卷积ycn=circonv(xn,hn,10);%用函数circonv计算N1点圆周卷积ny1=0:1:length(yln)-1;ny2=0:1:length(ycn)-1;subplot(2,1,1);stem(ny1,yln);ylabel(线性卷积);subplot(2,1,2);stem(ny2,ycn);ylabel(圆周卷积);思考题:圆周卷积与线性卷积的关系:若有x1(n)与x2(n)两个分别为N1与N2的有限长序列,则它们的线性卷积y1(n)为N1+N2-1的有限长序列,而它们的N点圆周卷积y2(n)则有以下两种情况:1,当N N1+N2-1时,y2(n)的前N1+N2-1的点刚好是y1(n)的全部非零序列,而剩下的N-(N1+N2-1)个点上的序列则是补充的零。线性卷积运算步骤:求x1(n)与x2(n) 的线性卷积:对x1(m)或x2(m)先进行镜像移位x1(-m),对移位后的序列再进行从左至右的依次平移x(n-m),当n=0,1,2.N-1时,分别将x(n-m)与x2(m)相乘,并在m=0,1,2.N-1的区间求和,便得到y(n)圆周卷积运算步骤:圆周卷积过程中,求和变量为m,n为参变量,先将x2(m)周期化,形成x2(m)N,再反转形成x2(-m)N,取主值序列则得到x2(-m)NRN(m),通常称之为x2(m)的圆周反转。对x2(m)圆周反转序列圆周右移n,形成x2(n-m)NRN(m),当n=0,1,2,N-1时,分别将x1(m)与x2(n-m)NRN(m)相乘,并在m=0到N-1区间内求和,便得到圆周卷积y(n)。用圆周移位代替线性移位的好处:时域圆周卷积在频域上相当于两序列的DFT的相乘,而计算DFT可以采用它的快速算法快速傅立叶变换(FFT),因此圆周卷积和线性卷积相比,计算速度可以大大

温馨提示

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

评论

0/150

提交评论