不用conv函数求解连续函数的卷积1.docx
《不用conv函数求解连续函数的卷积1.docx》由会员分享,可在线阅读,更多相关《不用conv函数求解连续函数的卷积1.docx(9页珍藏版)》请在冰豆网上搜索。
不用conv函数求解连续函数的卷积1
东华理工大学软件学院
信号与系统课程设计报告
课程设计题目:
不使用conv函数实现两个连续函数的卷积
********
学号:
******25
专业:
信息工程
班级:
081132
********
2011年1月6日
实验目的………………………………………………………2
实验原理………………………………………………………2
实验步骤………………………………………………………3
程序代码………………………………………………………4
实验效果图……………………………………………………7
心得体会………………………………………………………9
参考文献………………………………………………………10
附录……………………………………………………………11
一、实验目的
1、通过实验前对MATLAB软件的学习,更好的掌握MATLAB软件的使用;
2、理解并掌握信号系统中的卷积定义及其应用;
3、学习并掌握在MATLAB中不使用conv函数求解卷积积分。
二、实验原理
1、卷积的定义:
数学中关于两个函数的一种无穷积分运算。
2、采用把信号进行抽样离散化形成序列的方法,把积分转化为求和运算,使得问题化为两个序列的卷积和,然后运用MATLAB软件实现它的运算。
3、MATLAB的强大的运算功能使得卷积的运算及其图像的显示变为现实。
三、实验步骤
1、运用conv函数实现两个连续信号函数的卷积运算,conv计算卷积的方法是:
在MATLAB中写出两个函数的表达式f1、f2,然后在用conv(f1、f2)就可以的出两个函数的卷积;
2、在MATLAB中查看conv的原始代码,其代码为:
X=fft([xzeros(1,length(y)-1)])
and
Y=fft([yzeros(1,length(x)-1)])
thenconv(x,y)=ifft(X.*Y);
3、编写一个自编函数juanji1用来代替conv函数,并实现一些其他的功能,juanji1的具体代码见(第五部分);
4、利用自编函数进行对两个连续信号函数的卷积运算并查看结果及其结果图(其结果因长达数十页故不列出),结果图见(第六部分);
5、用自编函数卷积的结果和conv函数卷积的结果进行对照,验证自编函数是否成功。
由两种方法求出来的结果图完全一样,所以,所编写的自编函数求实现了所需要的功;
6、课程设计内容结束,打印实验报告。
四、程序代码:
1、自编函数juanji1的代码及其注释:
function[f,k]=juanji1(f1,f2,k1,k2,p)
%用自编函数求解f1,f2的卷积
%f:
卷积积分f(t)的对应的非零样值向量;
%k:
f(t)对应时间向量
%f1:
f1(t)非零样值向量;
%f2:
f2(t)非零样值向量;
%k1:
f
(1)对应时间向量
%k2:
f
(2)对应时间向量
%p:
取样时间间隔
F1=fft([f1zeros(1,length(f2)-1)])
%F1:
f1对应的傅里叶变换函数
F2=fft([f2zeros(1,length(f1)-1)])
%F2:
f2对应的傅里叶变换函数
f=ifft(F1.*F2)
%f:
利用两个函数的傅里叶变换函数的逆变换求得原两个函数进行的卷积的变换
k0=k1
(1)+k2
(1);
%k0:
卷积f下限
k3=length(f1)+length(f2)-2;
%k3:
卷积上限
k=k0:
p:
k3*p;
%k:
卷积的范围
%以下属于画图范围,不做详细解释
subplot311;
plot(k1,f1);
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot312
plot(k2,f2)
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot313
plot(k,f)
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position');
title('f(t)=f1(t)*f2(t)');
xlabel('t')
ylabel('f(t)')
2、源程序代码及其注释:
t1=0:
0.01:
2;
%函数f1的函数区间范围及其取样间隔
t2=t1;
f1=(1/2)*t1;
%原函数的关于变量t的表达式
f2=f1;
[f,t]=juanji1(f1,f2,t1,t2,0.01)
%运用自编函数求解两个函数的卷积
五、实验效果图:
1、conv函数
2、juanji1函数
图解:
第一个图有一个波形,为两个连续信号的卷积结果波形;
第二个图中共有三个个波形,其中第一、二个为原始信号波形,第三个为变换后卷积函数的波形;
由上图可知两者的图形一样,juanji1函数实现了conv函数的功能。
六、心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。
通过这两天的课程设计,和之前几周对MATLAB的不断学习和理解,让我对MATLAB这个软件在认识上有了很大的认识。
它的计算能力和灵活性,让我们实现连续函数的卷积的图像变为了现实。
正是如此,使得我们对本学期学的信号系统专业课程有了更清晰的了解及掌握。
回顾起此次信号与系统课程设计,至今我仍感慨颇多,的确,从理论到实践,在整整一个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学的知识,而且学到了很多课本上没有的东西。
通过这次课程设计使我懂得了理论知识与实践相结合是很重要的,只用理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
七、参考文献
1、参考资料:
《信号与系统实验》(PDF文件)
《信号与系统》(第二版)
《信号与系统(第二版)习题全解与实验指导》
《信号与系统——MATLAB综合实验》
《基于MATLAB7.x的系统分析与设计》
2、参考网站:
;
八、附录
东华理工大学软件学院
课程设计评分表
姓名:
严锗辉班级:
******学号:
********
课程设计题目:
不使用conv函数求连续信号的卷积运算
项目内容
满分
实评
选
题
能结合所学课程知识、有一定的能力训练。
符合选题要求
(5人一题)
10
工作量适中,难易度合理
10
能
力
水
平
能熟练应用所学知识,有一定查阅文献及运用文献资料能力
10
理论依据充分,数据准确,公式推导正确
10
能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等
10
能体现创造性思维,或有独特见解
10
成
果
质
量
总体设计正确、合理,各项技术指标符合要求。
10
说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰
10
设计说明书栏目齐全、合理,符号统一、编号齐全。
格式、绘图、表格、插图等规范准确,符合国家标准
10
有一定篇幅,字符数不少于5000
10
总分
100
指导教师评语:
指导教师签名:
年月日