发布时间 : 星期日 文章实验四 信号与系统仿真—连续信号在Matlab中的表示更新完毕开始阅读
电子信息工程系实验报告
课程名称: 计算机仿真技术
成 绩: 实验项目名称:实验四 信号与系统仿真—连续信号在Matlab中的表示
指导教师(签名): 实验时间:2011-11-1 班级:电信092 姓名:XXX 学号:910706201
一、实 验 目 的:
学会运用MATLAB表示常用连续时间信号的方法;观察并熟悉这些信号的波形和特性。
二、实 验 环 境:
硬件:PC机,PII以上 CPU,内存1G; 软件:Matlab7.1
三、实 验 原 理:
在某一时间区间内,除若干个不连续点外,如果任意时刻都可以给出确定的函数值,则称该信号为连续时间信号,简称为连续信号。从严格意义上讲,MATLAB数值计算的方法并不能处理连续时间信号。然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。
MATLAB提供了大量生成基本信号的函数。比如常用的指数信号、正余弦信号等都是MATLAB的内部函数。为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。
四、实 验 内 容 及 过 程:
1、利用MATLAB命令画出下列连续信号的波形图。 (1)2cos(3t??/4)
为画出2cos(3t??/4)连续信号的波形图编写如下程序代码:
clear;clc;
K=2;w=3;phi=pi/4; t=0:0.01:3;
ft = K.*cos(w.*t+phi); plot(t,ft);grid on axis([0,3,-2.2,2.2]); title('余弦信号');
(2)(2?e)u(t)
先在MATLAB的工作目录下创建uCT的M文件,其MATLAB源文件为:
function f = uCT(t) f = (t>=0);
保存后,就可调用该函数
第 1 页 共 5 页
?t
为画出(2?e?t)u(t)连续信号的波形图编写如下程序代码:
clc;clear; K = -1; a = -1; t = 0:0.01:3;
ft = [2+K*exp(a*t)].*uCT(t); plot(t,ft);grid on axis([0,3,0,2.2]);
title('(2-exp(-t))u(t)信号');
(3)t[u(t)?u(t?1)]
为画出(2?e?t)u(t)连续信号的波形图编写如下程序代码:
clear;clc; t = -3: 0.01:3;
ft = [uCT(t)-uCT(t-1)].*t; plot(t,ft);grid on axis([-3,3 -0.2,1.2]); title('t[u(t)-u(t-1)]信号');
(4)[1?cos(?t)][u(t)?u(t?2)]
为画出[1?cos(?t)][u(t)?u(t?2)]连续信号的波形图编写如下程序代码:
clear;clc; t = -3: 0.01: 3;
ft = [uCT(t)-uCT(t-2)].*[1+cos(pi.*t)]; plot(t,ft);grid on axis([-3,3 -0.2,2]);
title('[1+cos(pi*t)]*[u(t)-u(t-2)]信号');
2、利用MATLAB命令产生幅度为1、周期为1、占空比为0.5的一个周期矩形脉冲信号。
解:根据所定义的矩形脉冲信号,f(t)定义的矩形脉冲宽度为0.5,幅度为1,以t=0为对称轴的矩形脉冲信号,因此,其MATLAB源程序为:
clear;clc; t = -1: 0.01: 1; width = 0.5;
ft = rectpuls(t, width); plot(t,ft);grid on axis([-1,1,-0.2,1.2]); title('矩形脉冲信号');
3、利用MATLAB命令画出如下信号的实部、虚部、模和幅角。
jt2?e4?f(t)?jt?e2?
第 2 页 共 5 页
(1)为画出f(t)信号的实部与时间的关系,编写如下代码:
clear;clc; t=-10:0.01:10;
ft=2+exp(j*pi/4.*t)+exp(j*pi/2.*t); real(ft);
plot(t,ans);grid on axis([-10,10 -0.2,5]); title('f(t)信号的实部图形');
(2)为画出f(t)信号的虚部与时间的关系,编写如下代码:
clear;clc; t=-10:0.01:10;
ft=2+exp(j*pi/4.*t)+exp(j*pi/2.*t); imag(ft);
plot(t,ans);grid on axis([-10,10 -2,2]); title('f(t)信号的虚部图形');
(3)为画出f(t)信号的模与时间的关系,编写如下代码:
clear;clc; t=-10:0.01:10;
ft=2+exp(j*pi/4.*t)+exp(j*pi/2.*t); abs(ft);
plot(t,ans);grid on axis([-10,10 -0.2,5]); title('f(t)信号的模图形');
(4)为画出f(t)信号的幅角与时间的关系,编写如下代码:
clear;clc; t=-10:0.01:10;
ft=2+exp(j*pi/4.*t)+exp(j*pi/2.*t); angle(ft);
plot(t,ans);grid on axis([-10,10 -0.2,5]); title('f(t)信号的幅角图形');
五、实 验 结 果 及 分 析:
题1.1、把编写好程序以ti11.m为文件名保存,然后在命令窗口中输入ti11执行此文件,然后在窗口中可看到2cos(3t??/4)连续信号的波形如图1所示:
第 3 页 共 5 页
图1 2cos(3t??/4)连续信号的波形 图2 (2?e?t)u(t)连续信号的波形
题1.2、把编写好程序以ti12.m为文件名保存,然后在命令窗口中输入ti12执行此文件,然后在窗口中可看到(2?e?t)u(t)连续信号的波形如图2所示:
题1.3、把编写好程序以ti13.m为文件名保存,然后在命令窗口中输入ti13执行此文件,然后在窗口中可看到t[u(t)?u(t?1)]连续信号的波形如图3所示:
图3 t[u(t)?u(t?1)]连续信号的波形 图4 [1?cos(?t)][u(t)?u(t?2)]连续信号的波形 题1.4、把编写好程序以ti14.m为文件名保存,然后在命令窗口中输入ti14执行此文件,然后在窗口中可看到[1?cos(?t)][u(t)?u(t?2)]连续信号的波形如图4所示:
题2、把编写好的程序以ti2.m为文件名保存,然后在命令窗口中输入ti2执行此文件,然后在窗口中可看到矩形脉冲信号的波形如图5所示:
第 4 页 共 5 页
图5 矩形脉冲信号的波形图
题3、a、把编写好的程序以ti31.m为文件名保存,然后在命令窗口中输入ti31执行此文件,然后在窗口中可看到f(t)信号实部的波形如图6所示:
图6 f(t)信号实部的波形 图7 f(t)信号虚部的波形
b、把编写好的程序以ti32.m为文件名保存,然后在命令窗口中输入ti32执行此文件,然后在窗口中可看到f(t)信号虚部的波形如图7所示:
c、把编写好的程序以ti33.m为文件名保存,然后在命令窗口中输入ti33行此文件,然后在窗口中可看到f(t)信号模的波形如图8所示:
图8 f(t)信号模的波形 图9 f(t)信号幅角的波形
d、把编写好的程序以ti34.m为文件名保存,然后在命令窗口中输入ti34执行此文件,然后在窗口中可看到f(t)信号幅角的波形如图9所示:
六、问 题 与 思 考:
1、阶跃信号函数中语句ft = (t >=0 )的含义。
答:阶跃信号函数中语句ft = (t >=0 )的含义是当某个t时刻,如果它大于等于0,则输出为1;否则为0。
第 5 页 共 5 页