连续时间信号卷积运算地MATLAB实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
连续时间信号卷积运算的MATLAB 实现
一、实验目的
(1) 理解掌握卷积的概念及物理意义。 (2) 理解单位冲击响应的概念及物理意义。 二、实验原理
根据前述知识,连续信号卷积运算定义为
1212()()()()()f t f t f t f f t d τττ∞
-∞
=*=-⎰
卷积计算可以通过信号分段求和来实现,即
1212120
()()()()()lim
()()k f t f t f t f f t d f k f t k τττ∞
∞
-∞
∆→=-∞
=*=-=ƥ-ƥƷ
⎰
如果只求当t n =∆(n 为整数)时()f t 的值()f n ∆,则由上式可得
1212()()()()[()]k k f n f k f n k f k f n k ∞
∞
=-∞
=-∞
∆=∆•
∆•∆-∆=∆•
ƥ-Ʒ
∑
上式中的
12()[()]k f k f n k ∞
=-∞
ƥ-Ʒ
实际上就是连续信号1()f t 和2()f t 经等时间间隔∆均
匀抽样的离散序列1()f k ∆和2()f k ∆的卷积和。当∆足够小时,()f n ∆就是卷积积分的结果——连续时间信号()f t 的较好的数值近似。
例题:1()t t-1f t εε=()-(),21
()()t t-22
f t R t εε=
*【()-()】
,利用matlab 绘出其卷积波形; 理论分析如下:
当0t <时,12()()()0f t f t f t =*=
当01t <<时,2
120()()()1()24
t
t
t f t f t f t dt τ-=*=•-
=⎰ 当12t <<时,1
120
1
()()()1()2
24
t
t f t f t f t dt τ-=*=
•-
=
-⎰
当23t <<时,21
12t-23()()()1()2424
t
t t f t f t f t dt τ-=*=•-
=-++⎰ 当3t >时,12()()()0f t f t f t =*= 手工绘图如下:
三、仿真
1、源程序
调用函数sconv编辑如下:
调用函数heaviside编辑如下:
主函数编辑如下:
2、图形
运行matlab后,图形如下:
四、结论
通过本次实验理解掌握了卷积的概念及物理意义。运用基本的matlab语言即可编写成功。整体思路是这样的:首先是要对函数进行离散化处理,编写sconv()函数与heaviside (),然后再在主函数中调用sconv()函数与heaviside()。在编写程序其间,掌握了
matlab的一些基本语言,学会了试用matlab对卷积进行仿真,收获很大。
例题
9-2 设信号()(1)(2)(2)2
t
f t t t εε=++-【-】,试用
MATLAB 求解
(2)()(2)()f t f t f t f t +-、、、-,画出相应的波形。
所用MATLAB 命令如下:
首先利用下列语句创建函数文件heaviside.m
然后再建立下列主程序hsys.m 并运行,结果如下图所示。
例9-4 已知两个连续时间信号图形如下:试用MATLAB 求12()()()f t f t f t =*,并绘出()f t 的时域波形图。
编辑主函数如下:
得到题目所给的图形,当p 足够小的时候函数sconv ()的计算结果就是连续时间卷积
12()()()f t f t f t =*的较好的数值近似,因而取p=0.01。得到图形如下:
可见,当抽样时间p 足够小时,函数sconv ()的计算结果就是连续卷积12()()()f t f t f t =*的较好的数值近似。