连续时间信号卷积运算的MATLAB实现课程设计.docx
- 文档编号:2330954
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:7
- 大小:71.24KB
连续时间信号卷积运算的MATLAB实现课程设计.docx
《连续时间信号卷积运算的MATLAB实现课程设计.docx》由会员分享,可在线阅读,更多相关《连续时间信号卷积运算的MATLAB实现课程设计.docx(7页珍藏版)》请在冰豆网上搜索。
连续时间信号卷积运算的MATLAB实现课程设计
信号与通信综合设计项目
题目:
连续时间信号的卷积运算
学院:
电子与信息工程学院
专业:
通信工程
班级:
姓名:
学号:
联系方式:
指导教师:
报告成绩:
摘要
卷积积分是信号与系统的时域分析的重要方法之一。
为了对其计算进行一定的简化,本文运用MATLAB的数值计算法通过实例计算,验证了函数的有效性,并且展示了MATLAB在卷积积分方面的优越性。
关键词:
MATLAB;卷积积分;信号与系统
Abstract
Convolutionisoneofthemostimportantmethodsoftimedomainanalysisofsignalsandsystems.Inordertosimplifyitscalculation,thispaperusesMATLAB'snumericalcalculationmethodtoverifythevalidityofthefunctionbyexamplecalculation,andshowstheadvantagesofMATLABinconvolutionintegral.
Keywords:
MATLAB;Convolutionpoints;Signalsandsystems
一、设计任务及要求
1.1课程设计目的
(1)进一步熟悉常用MATLAB命令;
(2)提高综合运用所学的理论知识,独立分析和解决问题的能力;
(3)进一步熟悉MATLAB的正确使用方法。
1.2设计要求
(1)每组三人,结合所学理论知识,利用MATLAB软件做出两个信号的卷积,并展示结果图形。
(2)做出两种不同方案的信号的卷积,并做出图形,观察是否光滑连续。
1.3应解决问题
(1)对于MATLAB中卷积函数的用法以及抽样时间间隔P的取值,做出图形并分析函数。
(2)通过理论计算与MATLAB函数计算相比较,分析MATLAB函数的优势。
二、卷积定义以及原理
连续信号卷积运算定义为
卷积计算可以通过信号分段求和来实现,即
如果只求当t=n△(n为整数)时f(t)的值f(n△),则由上式可得
上式中对两个函数的求和实际上就是连续信号f(t1)和f(t2)经等时间间隔均匀抽样的离散序列f(k1△)和f(k2△)的卷积和。
当△足够小时,f(n△)就是卷积积分的结果——连续时间信号f(t)的较好的数值近似。
三、MATLAB设计卷积仿真
3.1思路
整体思路是这样的:
首先是要对函数进行离散化处理,编写sconv()函数与heaviside(),然后再在主函数中调用sconv()函数与heaviside()。
3.2步骤
先编写卷积函数sconv()和阶跃函数,最后编写主函数并得到图形。
四、卷积的MATLAB设计源程序
4.1方案一
步骤一:
函数sconv编辑如下:
function[f,k]=sconv(f1,f2,k1,k2,p)
f=conv(f1,f2);
f=f*p;
k0=k1
(1)+k2
(1);
k3=length(f1)+length(f2)-2;
k=0:
p:
k3*p;
subplot(2,2,1)
plot(k1,f1)
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot(2,2,2)
plot(k2,f2)
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot(2,2,3)
plot(k,f);
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h)
title('f(t)=f1(t)*f2(t)')
xlabel('t')
ylabel('f(t)')
end
步骤二:
定义阶跃函数heaviside
functionf=heaviside(t)
f=(t>=0);
plot(t,f)
axis([-1,3,-0,2,1,2])
步骤三:
定义主函数
p=0.01;
k1=0:
p:
2;
f1=heaviside(k1)-heaviside(k1-1);
f2=0.5*k1;
k2=k1;
[f,k]=sconv(f1,f2,k1,k2,p);
步骤四:
结果运行MATLAB后,图形如下:
图1结果
4.2方案二
已知两个连续时间信号如图2:
试用MATLAB求,并绘出的时域波形图。
编辑主函数如下:
p=0.5;
k1=0:
p:
2;
f1=0.5*k1;
k2=k1;
f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p);
图2结果
得到题目所给的图形,当p足够小的时候函数sconv()的计算结果就是连续时间卷积的较好的数值近似,因而取p=0.01。
编译的主函数和得到图形如下:
p=0.01;
k1=0:
p:
2;
f1=0.5*k1;
k2=k1;
f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p);
图3结果
可见,当抽样时间p(时间间隔)足够小时,函数sconv()的计算结果就是连续卷积的较好的数值近似。
五、总结
本次数字信号处理实训,我受益匪浅。
本次实训为期两周,分为选题,程序编写等几个阶段。
由于本次实训的时间较短而且选题的局限性大,要选到个好的题目较难。
经过深思熟虑后,我决定选择用 MATLAB实现两信号的卷积这一题目。
确定了题目后,首先就是方案的确定。
经过翻阅相关资料,我了解到要实现两信号的卷积,可以通过定义来实现,也可以通过 DFT 来计算线性卷积。
对于有限长序列,存在两种形式的卷积:
线性卷积与周卷机。
由于圆周卷积可以采用 DFT 的快速算法快速傅里叶变换进行运算,运算速度上有很大的优越性。
然而实际问题一般都是线性化积运算。
对于MATLAB语言程序的编程,形式上很像 C 语言的编程算法,虽然在 MATLAB运用高级语言来编译的,也比较人性化,是在 C 语言的影响下着实让我感到有些困难,此在此次的卷积程序编程中,应用的就是 C 语言编程思路,过之后的学习与复习, MATLAB 语言的基本语句都能运用自如了,以编起程序来就很容易入手。
确定题目之后的检查中就已经编好了大部分的程序,随后的时向中,经过不断的完善,终于在第二次进度检查之前完成了最后的编译,且实现了多重卷积的功能。
通过这次实训,我对线性卷积的定义、原理,以及实现方法都有了深入的认识。
也对 MATLA B软件产生了更加浓厚的兴趣。
并且检验了自己的能力,加强了逻辑思维的能力,不过我也发现了一些问题,比如在 MATLAB 软件的应用上还有很多不成熟不理解的地方,但是在以后的学习生活中我可以很好的与予改正,取得更好的成绩,也希望日后老师能够指导我,给予我更大的支持。
参考文献
【1】刘泉,江雪梅,信号与系统[ M ].北京:
高等教育出版社,200646~51
【2】吴大正.信号与线性系统分析[ M ]北京高等教育出版社,2005.8
【3】程佩青,数字信号处理教程北京:
清华人学出版社,2000
【4】袁俊泉,龚享结.MATLA6, x 信号处理国[M]北京:
清华大学出版社,2002.5
【5】王宏编.MATLAB 6.5及其在信号处理中的应用[M],北京:
清华大学出版社,2004
【6】宋兆基,徐流美等,MATLAB6.5在科学计算中的应用[ M ].北京:
清华出版社,2005.1
【7】黄永安,马路,刘慧敏等.MATLAB 7.0/ Simulink 6.0建模仿真开发与高级工程应用[M].清华大学出版社,2005
谢辞
转眼间这次实训就结束了,想想两周时间中每天不上在电脑旁努力的这段时间不禁让我感慨万千。
在其中所碰到的问题和难题确实让我受到了一次洗礼,但是首先还是非常感谢学院给我们安排了这次数字信号处理实训实习的机会。
学院为了这次实训,可谓用心良苦,提供良好的实验环境,还有三位优秀的指导老师在悉心指导着我们,放弃休息时间,每天早上八点准时到实验室给我们指点迷津,为我们答疑解惑,这不光使我们的理论知识加强了,还进一步提高了我们的实践能力。
在此特别感谢老师,她们在实训期间给了我很多的指导与帮助,全面的为我们讲解实训中的一些注意事项,然后在整个实操过程中对我们提出的种种问题都能耐心的解答。
最后,再次衷心的感谢所有关心、支持、帮助过我的老师、同学和亲友!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 连续 时间 信号 卷积 运算 MATLAB 实现 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)