东华理工大学软件学院 信号与系统课程设计报告
课程设计题目:不使用conv函数实现两个连续函
数的卷积
学生姓名:严锗辉 学 号:08113225 专 业:信息工程 班 级:081132 指导教师:李金萍
2011 年 1 月 6日
信号与系统课程设计报告
目 录
实验目的………………………………………………………2 实验原理………………………………………………………2 实验步骤………………………………………………………3 程序代码………………………………………………………4 实验效果图……………………………………………………7 心得体会………………………………………………………9 参考文献………………………………………………………10 附录……………………………………………………………11
- 1 -
信号与系统课程设计报告
一、实验目的
1、通过实验前对MATLAB软件的学习,更好的掌握MATLAB
软件的使用;
2、理解并掌握信号系统中的卷积定义及其应用; 3、学习并掌握在MATLAB中不使用conv函数求解卷积
积分。
二、实验原理
1、卷积的定义:数学中关于两个函数的一种无穷积分运算。
2、采用把信号进行抽样离散化形成序列的方法,把积分转化为求和运算,使得问题化为两个序列的卷积和,然后运用MATLAB软件实现它的运算。 3、MATLAB的强大的运算功能使得卷积的运算及其图像的显示变为现实。
- 2 -
信号与系统课程设计报告
三、实验步骤
1、运用conv函数实现两个连续信号函数的卷积运算,conv计算卷积的方法是:在MATLAB中写出两个函数的表达式f1、f2,然后在用conv(f1、f2)就可以的出两个函数的卷积;
2、在MATLAB中查看conv的原始代码,其代码为: X = fft([x zeros(1,length(y)-1)]) and
Y = fft([y zeros(1,length(x)-1)]) then conv(x,y) = ifft(X.*Y);
3、编写一个自编函数juanji1用来代替conv函数,并实现一些其他的功能,juanji1的具体代码见(第五部分);
4、利用自编函数进行对两个连续信号函数的卷积运算并查看结果及其结果图(其结果因长达数十页故不列出),结果图见(第六部分); 5、用自编函数卷积的结果和conv函数卷积的结果进行对照,验证自编函数是否成功。由两种方法求出来的结果图完全一样,所以,所编写的自编函数求实现了所需要的功;
6、课程设计内容结束,打印实验报告。
- 3 -
信号与系统课程设计报告
四、程序代码:
1、自编函数juanji1的代码及其注释: function [f,k]=juanji1(f1,f2,k1,k2,p) % 用自编函数求解f1,f2的卷积
%f:卷积积分f(t)的对应的非零样值向量; %k:f(t)对应时间向量 ?:f1(t) 非零样值向量; ò:f2(t) 非零样值向量; %k1:f(1) 对应时间向量 %k2:f(2) 对应时间向量 %p:取样时间间隔
F1= fft([f1 zeros(1,length(f2)-1)]) ?:f1对应的傅里叶变换函数 F2= fft([f2 zeros(1,length(f1)-1)]) ò:f2对应的傅里叶变换函数 f=ifft(F1.*F2)
%f:利用两个函数的傅里叶变换函数的逆变换求得原两个函数进行的卷积的变换 k0 = k1(1)+k2(1); %k0:卷积f下限
k3 = length(f1)+length(f2)-2;
- 4 -