实验二 连续时间信号在MATLAB中的运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息工程系实验报告
课程名称:信号与系统
实验项目名称:连续时间信号在MATLAB 中的运算 实验时间:2013-11-22
班级:电信112班 姓名: 学号:
一、实 验 目 的:
1、学会运用MATLAB 进行连续信号的时移、反折和尺度变换;
2、学会运用MATLAB 进行连续信号的相加、相乘运算;
3、学会运用MATLAB 数值计算方法求连续信号的卷积。
二、实 验 环 境:
1、Windows 7
2、MATLAB 7.1
三、实 验 原 理:
2.1信号的时移、反折和尺度变换
信号的时移、反折和尺度变换是针对自变量时间而言的,其数学表达式与波形变换之间
存在一定的变换规律。
信号()f t 的时移就是将信号数学表达式中的t 用0t t ±替换,其中0t 为正实数。因此,
波形的时移变换是将原来的()f t 波形在时间轴上向左或者向右移动。0()f t t +为()f t 波形向左移动0t ;0()f t t -为()f t 波形向右移动0t 。信号()f t 的反折就是将表达式中的自变量
t 用t -替换,即变换后的波形是原波形的y 轴镜像。信号()f t 的尺度变换就是将表达式中
的自变量t 用at 替换,其中,a 为正实数。对应于波形的变换,则是将原来的()f t 的波形以原点为基准压缩(1a >)至原来的1/a ,或者扩展(01a <<)至原来的1/a 。
上述可以推广到0()f at t ±的情况。
2.2 MATLAB 数值计算法求连续时间信号的卷积
用MATLAB 分析连续时间信号,可以通过时间间隔取足够小的离散时间信号的数值计算
方法来实现。可调用MATLAB 中的conv( )函数近似地数值求解连续信号的卷积积分。如果对连续时间信号1()f t 和2()f t 进行等时间间隔t ∆均匀抽样,则1()f t 和2()f t 分别变为离散序列1()f m t ∆和2()f m t ∆。其中m 为整数。当t ∆足够小时,1()f m t ∆和2()f m t ∆即为连续时间信号1()f t 和2()f t 。因此连续信号的卷积积分运算转化为:
1212()()*()()()f t f t f t f f t d τττ∞
-∞
==
-⎰
120
lim
()()t m f m t f t m t t ∞
∆→=-∞
=∆⋅-∆⋅∆∑
采用数值计算法,只求当t n t =∆时卷积积分()f t 的值()f n t ∆,其中,n 为整数,即
12()()()m f n t f m t f n t m t t ∞
=-∞∆=
∆⋅∆-∆⋅∆∑
12()[()]m t
f m t f n m t ∞
=-∞
=∆∆⋅-∆∑
其中,
12()[()]m f m t f n m t ∞
=-∞
∆⋅-∆∑
实际就是离散序列1()f m t ∆和2()f m t ∆的卷积和。当t
∆足够小时,()f n t ∆就是卷积积分的结果,从而连续时间信号
12()()[()*()]f t f n t f n f n ≈∆=∆
上式表明通过MATLAB 实现连续信号1()f t 和2()f t 的卷积,可以利用各自抽样后的离散
时间序列的卷积再乘上抽样间隔t ∆。抽样间隔t ∆越小,误差也就越小。
四、实 验 内 容 及 结 果 分 析:
4.1 试用MATLAB 命令绘制信号/2
()sin(10)sin(9)t
t f t e t e t ππ--=+的波形图。
解:为画出/2
()sin(10)sin(9)t
t f t e t e t ππ--=+连续信号的波形图编写如下程序代码:
clear; clc; t = -1:0.001:3;
ft = exp(-t).*sin(10*pi*t)+exp(-t/2).*sin(9*pi*t); plot(t,ft); grid on ; axis([-1,3,-2.5,2.5]);
把编写好程序以sye41.m 为文件名保存,并执行此文件,然后在窗口中可看到
/2()sin(10)sin(9)t t f t e t e t ππ--=+连续信号的波形如图1所示:
图
1
/2()sin(10)sin(9)t t f t e t e t ππ--=+连续信号的波形
4.2 已知信号()()(1)(1)[(1)()]f t u t u t t u t u t =--+-+-,画出()f t 、(2)f t +、()f t -、
(21)f t -+的波形。
解:(1)先在MATLAB 的工作目录下创建uCT 的M 文件,其MATLAB 源文件为: function f = uCT(t)
f = (t>=0);
(2)然后建立()f t 函数文件,即在MATLAB 的工作目录下创建funct1.m 文件,MATLAB 源程序为: function f = funct1(t)
f=uCT(t)-uCT(t-1)+(t-1).*(uCT(t+1)-uCT(t));
(3)调用上述函数来绘制所求的信号波形。程序运行完,产生如图2所示的波形。MATLAB 源程序为: clear;clc; t=-2:0.001:4; ft1=funct42(t); ft2=funct42(t+2); ft3=funct42(-t); ft4=funct42(-2*t+1);
subplot(2,2,1) plot(t,ft1); grid on ; title('f(t)'); axis([-2 2 -2 2]);
subplot(2,2,2) plot(t,ft2); grid on ; title('f(t+2)'); axis([-2 2 -1 2]); subplot(2,2,3) plot(t,ft3);
grid on ; title('f(-t)'); axis([-2 4 -2 2]); subplot(2,2,4) plot(t,ft4);
grid on ; title('f(-2*t+1)'); axis([-2 4 -2 2]);