线性卷积与圆周卷积演示程序的设计[借鉴类别].doc

上传人:rrsccc 文档编号:8908996 上传时间:2021-01-24 格式:DOC 页数:12 大小:170.50KB
返回 下载 相关 举报
线性卷积与圆周卷积演示程序的设计[借鉴类别].doc_第1页
第1页 / 共12页
线性卷积与圆周卷积演示程序的设计[借鉴类别].doc_第2页
第2页 / 共12页
线性卷积与圆周卷积演示程序的设计[借鉴类别].doc_第3页
第3页 / 共12页
线性卷积与圆周卷积演示程序的设计[借鉴类别].doc_第4页
第4页 / 共12页
线性卷积与圆周卷积演示程序的设计[借鉴类别].doc_第5页
第5页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《线性卷积与圆周卷积演示程序的设计[借鉴类别].doc》由会员分享,可在线阅读,更多相关《线性卷积与圆周卷积演示程序的设计[借鉴类别].doc(12页珍藏版)》请在三一文库上搜索。

1、实验一 线性卷积与圆周卷积演示程序的设计 实验报告姓名 学号 专业班级 指导老师 分数 数字信号处理课程设计任务书题目1线性卷积演示程序的设计(线性移不变离散时间系统的求解)主要内容1、动态演示线性卷积和圆周卷积的完整过程;2、对比分析线性卷积与圆周卷积的结果。设计要求1、动态演示线性卷积和圆周卷积的过程(即翻转、移位、乘积、求和的过程);2、圆周卷积默认使用2序列中的最大长度,且卷积前可设定用以进行混叠分析;3、根据实验结果分析2类卷积的关系;4、利用FFT实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比。主要仪器设备1、计算机1台,安装MATLAB软件主要参考文献美维纳.K.恩格尔

2、,约翰.G.普罗科斯著,刘树棠译.数字信号处理使用MATLABM.西安:西安交通大学出版社,2002.飞思科技产品研发中心编著.MATLAB7辅助信号处理技术与应用M.北京:电子工业出版社,2005.课程设计进度安排(起止时间、工作内容)课程设计共设16个设计题目,每班3至4人为1组,1人1套设备,每组选作不同的题目,4个班共分4批。完整课程设计共20学时,为期1周,具体进度如下:5学时 学习题目相关知识,掌握实现原理;5学时 用MATLAB语言实现题目要求;5学时 进一步完善功能,现场检查、答辩;5学时 完成并提交课程设计报告。课程设计开始日期2013.12.30课程设计完成日期2014.1

3、.5课程设计实验室名称健翔桥校区计算中心地 点计算中心资料下载地址各班公共邮箱实验一 线性卷积与圆周卷积演示程序的设计一、 实验目的目的: 熟练掌握MATLAB工具软件在工程设计中的使用; 熟练掌握线性卷积与圆周卷积的关系及LSI离散时间系统系统响应的求解方法。要求: 动态演示线性卷积的完整过程; 动态演示圆周卷积的完整过程; 对比分析线性卷积与圆周卷积的结果。步骤: 可输入任意2待卷积序列x1(n)、x2(n),长度不做限定。测试数据为:x1(n)=1,1,1,1,0,0,1,1,1,1,0,0,x2(n)=0,1,2,1,0,0,0,1,2,1,0,0; 分别动态演示两序列进行线性卷积x1

4、(n)x2(n)和圆周卷积x1(n)x2 (n)的过程;要求分别动态演示翻转、移位、乘积、求和的过程; 圆周卷积默认使用2序列中的最大长度,但卷积前可以指定卷积长度N 用以进行混叠分析; 根据实验结果分析两类卷积的关系。 假定时域序列x1(n)、x2(n)的长度不小于10000,序列内容自定义。利用 FFT实现快速卷积,验证时域卷积定理,并与直接卷积进行效率对比。二、实验原理1、线性卷积:线性时不变系统(Linear Time-Invariant System, or L. T. I系统)输入、输出间的关系为:当系统输入序列为,系统的单位脉冲响应为,输出序列为,则系统输出为:或 上式称为离散卷

5、积或线性卷积。图1.1示出线性时不变系统的输入、输出关系。0L. T. Ih(n) L. T. I 图1.1 线性时不变系统的输入、输出关系2、圆周卷积D F T设两个有限长序列和,均为点长D F T 如果则 N上式称为圆周卷积。注:为序列的周期化序列;为的主值序列。上机编程计算时,可表示如下:3、两个有限长序列的线性卷积序列为点长,序列为点长,为这两个序列的线性卷积,则为且线性卷积的最大长,也就是说当和时。4、圆周卷积与线性卷积的关系序列为点长,序列为点长,若序列和进行N点的圆周卷积,其结果是否等于该两序列的线性卷积,完全取决于圆周卷积的长度:当时圆周卷积等于线性卷积,即N当时,圆周卷积等于

6、两个序列的线性卷积加上相当于下式的时间混叠,即三、实验步骤已知两个有限长序列1、实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积 2、编制一个计算圆周卷积的通用程序,计算上述4种情况下两个序列与的圆周卷积。3、上机调试并打印或记录实验结果。4、将实验结果与预先笔算的结果比较,验证其正确性。五、实验报告1、列出计算两种卷积的公式,列出实验程序清单(包括必要的程序说明)。2、记录调试运行情况及所遇问题的解决方法。3、给出实验结果,并对结果作出分析。验证圆周卷积两者之间的关系实验结果(1) 程序clear all;N1=5; N2=4; xn=1,1,1,1,0,0,1,1,1,1,0

7、,0;%生成x(n) hn=0,1,2,1,0,0,0,1,2,1,0,0;%生成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(圆周卷积);题目:已知两个有限长序列x(n)=(n)+2(n-1)+3(n-2)+4(n-3)+5(

8、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) 调用函数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)使

9、其长度为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

10、)%直接实现序列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计算

11、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(yl

12、n)-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;

13、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,yl

14、n);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),对移位后的序列再进行从左至

15、右的依次平移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),因此圆周卷积和线性卷积相比,计算速度可以大大加快。七、实验总结:通过本次实验,我掌握了线性卷积与圆周卷积软件实现的方法,并验证了两者之间的关系,同时,通过上机调试程序,进一步增强了我使用计算机解决问题的能力。使我对MATLAB有了一定的了解,也理解了线性卷积的概念;同时通过在网上的查阅相关资料使我增强了收集资料的能力12知识参考+

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1