线性卷积与圆周卷积演示程序的设计_第1页
线性卷积与圆周卷积演示程序的设计_第2页
线性卷积与圆周卷积演示程序的设计_第3页
线性卷积与圆周卷积演示程序的设计_第4页
线性卷积与圆周卷积演示程序的设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

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

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

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

4、x2(n)=0,1,2,1,0,0,0,1,2,1,0,0; 分别动态演示两序列进行线性卷积x1(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、输入、输出间的关系为:当系统输入序列为x(n) ,系统的单位脉冲响应为 h(n) ,输出序列为 y(n) ,则系统输出为:y(n)x( m)h(nm)x(n) * h( n)m;.y(n)h(m) x(nm)h( n) * x( n)或m上式称为离散卷积或线性卷积。图1.1示出线性时不变系统的输入、输出关系。x(n) 0(n) L. T. I h(n)L. T.Iy(n)x( m)h(nm)m图 1.1 线性时不变系统的输入、输出关系2、圆周卷积设两个有限长序列x1 (n) 和 x2 (n) ,均为 N 点长x1 ( n)x2 (n)D F TD F TX1 ( k)X 2 (k)如果 X 3

6、 (k)X 1 (k) X 2 (k)N 1x3 (n)( nm) RN (n)x1(m) x2则m 0N 1x1 (m) x2 ( nm) Nm 0x1 (n)N x2( n)0 n N 1上式称为圆周卷积。注: x1 (n) 为 x1 ( n) 序列的周期化序列;上机编程计算时,x3 (n) 可表示如下:nN 1(n)RN (n)(n)x1为x1的主值序列。x3 ( n)x1 (m) x2 ( nm)x1 ( m)x2 ( Nnm)m0m n 13、两个有限长序列的线性卷积序列 x1 (n) 为 L 点长,序列x2 (n) 为 P 点长, x3 (n) 为这两个序列的线性卷积,;.则 x3

7、 ( n) 为x3 (n)x1 (m) x2 (nm)m且线性卷积 x3 (n) 的最大长 L P1 ,也就是说当 n1和 nLP1时x3 (n)0 。4、圆周卷积与线性卷积的关系序列 x1 (n) 为 L 点长,序列x2 (n) 为 P 点长,若序列 x1 (n) 和 x2 (n) 进行 N点的圆周卷积,其结果是否等于该两序列的线性卷积,完全取决于圆周卷积的长度:当 NLP1时圆周卷积等于线性卷积,即x1 ( n) N x2 (n)x1 (n) * x2 (n)当 N L P 1时,圆周卷积等于两个序列的线性卷积加上相当于下式的时间混叠,即x3 N (n)x3 (nrN )0 nN1r0其它

8、 n三、实验步骤已知两个有限长序列x(n)(n) 2 (n1) 3(n 2)4(n 3) 5 (n 4)H(N)(n) 2 (n 1)( n 2) 2 ( n 3)1、实验前,预先笔算好这两个序列的线性卷积及下列几种情况的圆周卷积(1) x(n) h( n)(2)x( n) h(n)(3) x(n) h(n)(4)x(n) h(n)2、编制一个计算圆周卷积的通用程序,计算上述 4种情况下两个序列x( n) 与h( n) 的圆周卷积。3、上机调试并打印或记录实验结果。4、将实验结果与预先笔算的结果比较,验证其正确性。;.五、实验报告1、列出计算两种卷积的公式,列出实验程序清单(包括必要的程序说明

9、)。2、记录调试运行情况及所遇问题的解决方法。3、给出实验结果,并对结果作出分析。验证圆周卷积两者之间的关系实验结果(1)程序clear all;N1=5;N2=4;xn=1,1,1,1,0,0,1,1,1,1,0,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);%

10、画图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 (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)%用直接法实现圆周

11、卷积%y=circonv(x1,x2,N)%y: 输出序列%x1,x2:输入序列%N: 圆周卷积的长度;.if length(x1)>Nerror;endif length(x2)>Nerror;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)

12、以 N为周期的周期延拓,加1 是因为 MATLAB向量下标只能从1 开始。H=zeros(N,N);%生成 N行 N列的零矩阵for n=1:1:NH(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)>Nerror('x的长度必须小

13、于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);yla

14、bel('线性卷积 ');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

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

16、y1,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)

17、;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)是由 y1(n)的前 N 点和后( N1+N2-1-N )点圆周移位后的叠加而成; N> N1+N2-1 时, y2( n)的前 N

18、1+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)与 x

温馨提示

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

评论

0/150

提交评论