




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学信号分析与处理课程设计说明书学 号:0121309341830式修理7次学课程设计信号分析与处理课程设计一一 课程名称基于重叠保留法圆周卷积的实现学院信息工程学院专业电子信息工程班级电信1301班姓名秦子越指导教师吴巍20152016学年第1学期课程设计任务书学生姓名:秦子越专业班级:电信1301指导教师: 吴巍工作单位:信教工程学院题 目:基于重叠保留法圆周卷积的实现初始条件:具备数字信号处理的理论知识;具备Matlab编程能力;分析重叠保留法的圆周卷积的原理;提供编程所需要的计算机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、独立编写程
2、序实现基于重叠保留法的圆周卷积2、用Matlab验证程序结果,并分析重叠保留法的圆周卷积的原理3、完成符合学校要求的设计说明书时间安排:一周,其中3天程序设计,2天程序调试指导教师签名:年 月 日系主任(或责任教师)签名:摘要 1Abstract 21 .绪论 32 .理论知识 52.1 圆周卷积的定义 52.2 圆周卷积的运算 52.3 重叠保留法原理 63 .程序代码实现 73.1 程序流程分析 73.2 程序代码设计 94 .用Matlab验证程序结果 115 .原理分析 146 .心得体会 15参考文献 16附录 17本科生课程设计成绩评定表 19武汉理工大学信号分析与处理课程设计说明
3、书摘要MATLAB矩阵实验室)是 MATrix LABoratory 的缩写,是一款由美国 The MathWorks 公司出品的商业数学软件。MATLA是一种用于算法开发、数据可视化、数据分析以及数值 计算的高级技术计算语言和交互式环境。本文用MATLA展现基于重叠保留法的圆周卷积。 若??(?双很长的序列,利用圆周卷积时,??(?泌须补很多零点,很不经济。因此必须将 ?(?汾成和??(?)目仿的段,分别求出每段的卷积结果,然后用一定的方式把他们合在一 起,从而得到总的输出。为了克服重叠相加法中分段卷积后,仍然需要相加的缺点,人们 提出了重叠保留法。关键字:MATLAB重叠保留法 圆周卷积2
4、0AbstractMATLAB (MATrix LABoratory) is The abbreviation of MATrix LABoratory, is a by The Unite d States The MathWorks company production of a commercial mathematical software. MATLA B is a kind of for algorithm development, data visualization, data analysis and numerical calculat ion of senior tech
5、nical computing language and interactive environment. In this paper, based on MATLAB overlap reserves the circular convolution method. If x1 (n) is a very long sequence, us ing circular convolution, x2 (n) must fill a lot of zero, is not the economy. So must be x1 (n) into and x2 (n) segment, the co
6、nvolution results of each, respectively, and then in a certain way put th em together, and the total output is obtained. In order to overcome overlapadding after subsecti on convolution method, still need to add the shortcomings, overlap retaining method are put forw ard.Key words: MATLAB overlap me
7、thod circular convolution1.绪论MATLAB矩阵实验室)是 MATrix LABoratory 的缩写,是一款由美国 The MathWorks 公司出品的商业数学软件。MATLA是一种用于算法开发、数据可视化、数据分析以及数值 计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外, MATLAB5可以用来创建用户界面及与调用其它语言 (包括C, C+拜口 FORTRA编写的程序。 MATLAB勺基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故 用MATLA来解算问题要比用C, FORTRAN语言完成相同的事情简捷得多
8、, 并且MATLA的 吸收了像Maple等软件的优点,使 MATLA喊为一个强大的数学软件。在新的版本中也加 入了对C, FORTRANC+, JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序 导入到MATLABg数库中方便自己以后调用,此外许多的 MATLAB!好者都编写了一些经典 的程序,用户可以直接进行下载就可以用。软件特点:1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来; 2)具有完备的图形处理功能,实现计算结果和编程的可视化;3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱(如信号处理工具箱、通信工具
9、箱等),为用户提供了大量方便 实用的处理工具。MATLAB品族可以用来进行以下各种工作:数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理技术 数字信号处理技术 通讯系统设计与仿真 财务与金融工程管理与调度优化计算(运筹学)MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和 测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专 用MATLAB8数集)扩展了 MATLA科境,以解决这些应用领域内特定类型的问题。软件优势:1 .编程环境MATLA曲一系列工具组成。这些工具方便用户使用 MATLAB勺函数和文件,其中许多 工具采用的
10、是图形用户界面。包括MATLAB1面和命令窗口、历史命令窗口、编辑器和调试 器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。2 .简单易用3 .强处理能力MATLAB1一个包含大量计算 算法的集合。其拥有600多个工程中要用到的 数学运算函 数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算 中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底 层编程语言,如C和C+ o 4.图形处理MATLAB!产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图
11、象处理、动 画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB寸整个图形处理功能作了 很大的改进和完善,使它在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面 的绘制和处理等)方面更加完善。5 .程序接口和发布平台MATLAB勺一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用 子程序。工具箱是MATLA函数的子程序库,每一个工具箱都是为某一类学科专业和应用而 定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方 面的应用。2 .理论知识2.1 圆周卷积的定义设x1(n)和x2(n)为长度为N的有限长序列,且DFT?(n) = Xi(k
12、)(2.1)DFT?(n) = X2(k)(2.2)如果 Y(k)=X1(k)X2(k),则y(n) = IDFTY(K) = =0 ?(m) ?(n- m)NRN(n)(2.3)证明:相当于将??(n) , ?(n)作周期卷积和后,再取主值序列。将y(k)周期延拓:软k尸??(k) ?(?)则有:?(n) = IDFTY?(K)二洋% X1(m)X?2n - m)二洋-10 (?(?)?(?- ?)?(2.4)在主值区间 0&mcN-1, ?(?)?= ?(m),所以:y(n) = ?(n)?X?)二不I。?(m) ?(n- m)N RN(n)(2.5)同样可以证明:y(n)=泮-1
13、0 ?(m) ?(?Q ?)n RN(n)(2.6)定义式2.3为序列与??(?)与??(?用圆周卷积,习惯表示为y(n) = ?(n) O ?(n)(2.7)从以上的证明过程也可以得出圆周卷积与周期卷积之间的关系,即有限长序列圆周卷积结 果的周期延拓等于它们周期延拓后的周期卷积。也就是说,周期卷积的主值序列是各周期 序列主值序列的圆周卷积。2.2 圆周卷积的运算圆周卷积的具体步骤为: 第一步:在哑元坐标上画出??(?)与??(?);第二步:把??(?)沿着纵坐标翻转,得到??(-?);第三步:对??(-?)做圆周移位,得??(? ?)n '(n);第四步:??(?)与??(? ?2)
14、n RN(n)对应的相同m的值进行相乘,并把结果进行相加 得到的对应于自变量n的另一个y(n);第五步:换另一个n,重复第三、四步,直到n取遍0,N-1中的所有值,得到完整的y(n)2.3 重叠保留法原理讨论一个短的有限长序列与一个无限长序列的卷积,例如??(?是很长的序歹,利用圆周卷积时,??(?泌须补很多零点,很不经济。因此必须将??(?分成和??(?)目仿的段,分 别求出每段的卷积结果,然后用一定的方式把他们合在一起,从而得到总的输出。为了克 服重叠相加法中分段卷积后,仍然需要相加的缺点,人们提出了重叠保留法。与重叠相加法不同的是,对无限长序列 ??(?进行分段时,前一分段?移乂?)勺后
15、M-1个样 值与后一份段的?诲+1) (?为前M-1个抽样值相同,且分段的长度选圆周卷积的长度L,这样形成的分段序列?«?= )(2.8? ? ?- 1),0 <n <L- 10,其他然后计算??(?而各分段??(?亡间的卷积?私? = ?(?),显然,??(?)的前M-1个值发生了混叠,不等于?2(?与?移?(?)勺卷积。把??4?的前M-1个值舍去,保留?私?没有发生混叠的后N个值,形成序列??(?= ?不??,M-1<n<L-1, ?<?= 0,其他。最后输出序列 y(n) = E+?=_oo?(?- ? ?- 1)(2.9)3 .程序代码实现3.
16、1 程序流程分析要实现基于重叠保留法的圆周卷积,假设有两个长度分别为N,M N>M的序列??(?),?(?)要求做??(?和??(?用圆周卷积。首先要对长序列序列??(?进行分段,分段的长度选圆周卷积的长度L,形成的分段序列:?皿?= ? ? ?- 1),0 <n < L- 10,其他(3.1)然后将??(??逐一和各分段??(??进行圆周卷积,得到?(?= ?(n) © ?Wn)?-1=. ?(?) ?(? ?2)l RL(n)?=0(3.2)最后输出序列y(n) = U?私?? ? ?- 1)(3.3)这样即完成了基于重叠保留法的圆周卷积的实现其流程图如下:3.
17、2 程序代码设计首先编写基于重叠保留法的圆周卷积的主函数。这个主函数的功能应当是计算出两个序列 xn和hn的长度N、M将长序列进行分段,然后再将短序列和长序列的各个分段分别进行 圆周卷积,将分段卷积的的结果序列的前 M-1个值舍去,将各个结果合并到一个序列中去, 输出这个新序列,程序功能基本完成。主函数的编写过程如下定义主函数:function yn = dupconv( xn,hn )计算两个序列的长度:M=length(hn);N=length(xn);将长序列按照重叠保留法进行分段,将其平均分成4段则每段表示为:xn1=zeros(1,M-1),xn(1:floor(N/4);xn2=x
18、n(floor(N/4)-M+2):floor(N/2);xn3=xn(floor(N/2)-M+2):floor(N*3/4);xn4=xn(floor(N*3/4)-M+2):N);将短序列和长序列的各分段进行圆周卷积,这里是通过调用圆周卷积函数实现的,圆周卷 积函数将在后面定义出。代码如下:n1=length(xn1);n2=length(xn2);n3=length(xn3);n4=length(xn4);yn1=timecirconv(xn1,hn,n1);yn2=timecirconv(xn2,hn,n2);yn3=timecirconv(xn3,hn,n3);yn4=timeci
19、rconv(xn4,hn,n4);将分段圆周卷积的结果序列舍去前 M-1个值,yn1=yn1(M:n1);yn2=yn2(M:n2);yn3=yn3(M:n3);yn4=yn4(M:n4);将各个分段序列按顺序合起来,yn=yn1 yn2 yn3 yn4;函数结束,end由于圆周卷积是通过调用圆周卷积函数来实现的,所以现在要编写一个能实现圆周卷积功 能的函数。将函数名命名为timecirconv ,代码如下:定义圆周卷积函数: function yn = timecirconv( xn,hn,N )计算两序列的长度,并和N进行比较,如果N小于两个序列的长,则输出错误:len1=length(x
20、n);len2=length(hn);if len1>N | len2>Nerror('N must biger than length of xn and hn')end将两个序列延长成长度为N的序列,不足的补零:xn=xn zeros(1,N-len1);hn=hn zeros(1,N-len2);将hn进行沿纵坐标翻转后进行圆周移位,并将其存入一个N行N列的矩阵x中m=0:N-1;x=zeros(N,N);for n=0:N-1x(n+1,:)=hn(mod(n-m),N)+1);end将xn和矩阵x相乘,最终的得到圆周卷积的结果:yn=xn*x;4 .用Ma
21、tlab验证程序结果假设有这样的两个序列,序列 1?(?= n(0 <n < 15),序列2?(?= ?+ 1, (0 < n <3) 要求这两个序列基于重叠保留法的的圆周卷积。分析知序列1长度N=16,序列2长度M=4将长序列分段:x11=0 0 0 0 1 2 3x12=1 2 3 4 5 6 7x13=5 6 7 8 9 10 11x14=9 10 11 12 13 14 15将x1的各分段和x2=1 2 3 4 0 0 0进行圆周卷积,得到Y11=x11Ox2=0 4 11 20 14 8 3Y12=x12O x2=30 40 50 60 42 31 27Y13
22、=x13O x2=70 80 90 100 82 71 67Y14=x143 x2=110 120 130 140 122 111 107将每个分段卷积后的序列的前4-1个值舍去,再按顺序将序列合并,得到序列:yn=20 14 8 3 60 42 31 27 00 82 71 67 140 122 111 107下面用程序来验证。在MATLA呻输入代码,建立.m文件,输入主函数dupconv,并调用子函数timecirconv 计 算卷积。口郦炳熏®p 诧萧 lU3Ef5WEiHiFrMorPU5ktO!pV>OCWMeflt5MATlA趴dupcmu用名除人InHcirsME
23、如兴孙孙+5 盘IfTinetiwi jm wri,/山摘2 -length (hn>,3 -Wlcnrrhiin):* -wnL= i*ro-i (lj lh 1) jj rn.( :f 1 ox (1/D J ,写-小¥wHf "0 £ (1 -K-2)tfloer :!/:>>& -am sm f I'f 1 电”( V21:f) or Cjf*3/41:",aui4=m( (flaoE (SS/O-K+at 才剧 .& -ri=lenfth 'mfli );9 -nj=l#TthiKn3):10
24、J-lEneih *r3i ;11 射:13 =yiil=i Ln$c Wc env xnl. M 011 口13 一jm iftec re flnv b'm2F 鹏 目 21 U =y311n 5 . w we eny txfd hn. M;15 一3Hi4=i ineei rc nnv h,xn4p Im, nJ ),_1A 一yni=yril I.M: n.1 > ;17 灯2=yn2厢膜,;13 yn3=jTi3 I.H: n3 1;19 一RI二yjd,风 till ;90 ”1=卬1 尹2 JTi: TrtJ-i21 -ejid图4.1主函数代码祚.C: iiUiei
25、i Ad mil kEfa EDrDeiktDpDojn-tfe-nliAT-AB di rretir com -rn*: -timearcDnvjm* . | dupcanu'-ni*+U dyp'CCMTw.a&tf 幻 dU0OCHME或1Linct _an yn s t in.匚i_rltcjitt 1 mt hn. 15Ti -Icnl=lerith fxn):.tinrrKirccfnvsvm -1 tiEtcir召fiy.e''4 -if len>l 11 led 却3 eiror CK nuot bic4e than lineTh
26、rf xn an? )fl -and工口hm rerosHjiNl'mn:y hnIkn z«ecelLj Bhltnlr9 -“觥1;10 -工=总£,陋,蛉;11 -_ fiL tL=01Jl- L12 一黑(h+Ia : '-hri'Mod t tn-ii*, K +J':13 -end1.4 -L;的七电八=图4.2子函数代码在comand window中输入 >> xn=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;>> hn=1,2,3,4;>> yn = dupc
27、onv( xn,hn )图4.3输入参数得到的结果为:yn=20 14 8 3 60 42 31 27 100 82 71 67 140 122 111 107图4.4输出结果显然,计算结果和程序运行结果相同。仿真正确。5.原理分析对于一个长序列??(?)和一个短序列??(?),长度分别为N, M,圆周卷积的长度为L,在长 序列的前面加上M-1个零,然后对长序列进行分段,使得每段的长度为L,不足的用零补。且前一分段的后M-1个抽样值和后一分段的前 M-1个抽样值相同。这样形成的分段序列 为:?(?= ? ? ?- 1),0 <n < L- 10,其他(5.1)分成的段数为:?+ ?
28、- 2?(5.2)然后计算??(??与各个分段之间的圆周卷积,_ _ _ _ _ _?(?= ?(n) © ?彷?n)?(?, M - 1 < n <L- 1?(n) = 0,其他(5.3)(5.4)显然,??(?的前M-1个值发生了混叠,不等于??(??与?的圆周卷积,把??(??的前M-1个值舍去,保留没发生混叠后的后 N个值,形成序列?(?, M - 1 < n <L- 1?枷)=";甘,0,其他最后将各段相加就可以得到最终的结果:+OOy(n)=工 ?我?0 ? ?- 1)? = - 8(5.5)(5.6)6.心得体会在本次课程设计中,让我知
29、道了以前所学信号与系统与数字信号处理的结合, 同时我也充分认识到MATLAB勺强大作用。MATLA定是日前工程界流行最广的科学计算语言,在电信工程中的电路、信号与系统、 数字信号处理、自动控制等方面有着广泛的应用。除此之外,对程序的编译不是一蹴而就 的,而是经过多次的编译与调试。以前用MATLA就是简单的输入,可以说都不是自己的劳 动成果,但这次不一样,课程设计没有别人给你编好,而是自己写,出错率就大大提高了, 但这是过程,学习就是在过程中进行的,经过自己几天的脑力劳动,再加上同学们的帮助, 不仅对读程序有了很大提高,而且自己的编译水平也上了一个新台阶, 更加熟系了 MATLAB 的应用,也对其中的函数如zeros ()、floor ()等有了更深的理解,也学会了对子函数的 调用。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,这次课程设计终于顺 利完成了。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到 要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做 成想做的事,收获喜悦。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只 有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来, 从理论中得出结论, 才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。1罗建军.MATLAB教
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运营咨询顾问合同协议
- 月结货款协议书
- 汽车分伙协议书
- 《晚期肺癌持续治疗策略》课件
- 遗产协议书范本
- 软件制图交易合同协议
- 手车位买卖协议书
- 旧船买卖协议书
- 追偿纠纷和解协议书模板
- 教育咨询员服务合同书
- 福州一号线盾构法地铁工程整体施工组织设计
- 公务员考试-经济基础知识模拟题-计量经济学-协整与误差修正模型
- 资源与运营管理-第一次形考任务-国开-参考资料
- 五年级下册数学教案 - 8.1《复式条形统计图》 北师大版
- 2025年二建《建筑工程管理与实务》考前必刷必练题库500题(含真题、重点题)
- 2025云南师范大学辅导员考试题库
- 学生健康档案管理制度
- 4.2《 依法履行义务》教学设计 -2024-2025学年统编版道德与法治八年级下册
- 学生常见病预防
- 中国糖尿病防治指南(2024版)解读
- 协力安全管理
评论
0/150
提交评论