信号与系统实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信号与系统》实验指导书
科技学院电气与信息工程学院
2014年3月
目录
实验一连续时间信号的MATLAB表示
实验二连续时间LTI系统的时域分析
实验三连续时间LTI系统的频率特性及频域分析实验四连续时间LTI系统的零极点分析
实验五典型离散信号及其MATLAB实现
实验一连时间信号的MATLAB表示
实验目的
1.掌握MATLAB语言的基本操作,学习基本的编程功能;
2.掌握MATLAB产生常用连续时间信号的编程方法;
3.观察并熟悉常用连续时间信号的波形和特性。
实验原理
1. 连续信号MATLAB实现原理
从严格意义上讲,MATLAB数值计算的方法并不能处理连续时间信号。然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。
MATLAB提供了大量生成基本信号的函数。比如常用的指数信号、正余弦信号等都是MATLAB 的部函数。为了表示连续时间信号,需定义某一时间或自变量的围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。
2. 典型信号的MATLAB表示
(1) 实指数信号:()at
,式中K,a为实数。在MATLAB中可以利用exp()函数实现,
f t Ke
其语句格式为:y=K*exp(a*t)。
(2) 正弦信号:()sin()f t K t ωϕ=+或()cos()f t K t ωϕ=+,其中K 为振幅,ω是角频率;φ是初相位。在MATLAB 中可以利用sin()或cos()函数实现,其语句格式为K *sin(ω*t+phi),K *cos(ω*t+phi)。
(3) 单位阶跃信号:单位阶跃信号定义为()()10()00t t t ε>⎧⎪=⎨<⎪⎩,单位阶跃信号在MATLAB 中用
“( t >=0)”产生。MATLAB 表达式“y = ( t >=0)”的含义就是t ≥ 0时y =1,而当t < 0时y =0。
此外,也可在MATLAB 的work 目录下创建uCT 的M 文件,其MATLAB 源程序为
function f=uCT(t)
f=(t>=0);
保存为uCT.m 后,就可以调用该函数。 自定义函数
注意,在此定义的uCT 函数是阶跃信号数值表示方法,因此在数值计算中我们将调用uCT 函数。而在MATLAB 的MAPLE 核中,将Heaviside 函数定义为阶跃信号符号表达式,在符号运算过程中,若要调用它必须用sym 定义后,才能实现。
(4) 复指数信号:()()cos()sin()st j t t t f t Ke Ke
Ke t jKe t σωσσωω+===+,其中,s =σ+j ω是复变量;σ、ω为实数。在MATLAB 中可以利用exp()函数表示复指数信号,MATLAB 中默认变量i 为虚部单位,求取实部用real()函数,求取虚部用imag()函数,求取模用abs()函数,求取相角用angle()函数。
(5) 抽样信号:()sin()/Sa t t t =,在MATLAB 中用与Sa(t )类似的sinc (t )函数表示,定义为sin ()sin()/()c t t t ππ=。
(6) 矩形脉冲信号:()()
1/2()0/2t g t t τττ⎧<⎪=⎨>⎪⎩在MATLAB 中可用rectpuls()函数产生,其语句格式为y=rectpuls(t,width),该函数用于产生一个幅度为1、宽度为width ,且以t=0为对称轴的矩形脉冲信号,width 的默认值为1。
周期性矩形波信号或方波在MATLAB 中可用square 函数产生,其语句格式为
square(t,DUTY)。该函数用于产生一个周期为2π、幅值为1±的周期性方波信号,其中,DUTY参数用来表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。占空比默认值为0.5。
(7) 三角波脉冲信号:在MATLAB中可用tripuls()函数产生,其语句格式为y=tripuls(t,width,skew),该函数用于产生一个幅度为1、宽度为width,且以t=0为中心左右各展开width/2大小、斜度为skew的三角波。width的默认值为1,skew的取值围在-1~+1之间。一般最大幅度1出现在t=(width/2)×skew的横坐标位置,默认时skew=0,此时产生对称三角波。
(8) 下面的函数也可以产生特定的信号
y=fliplr(t)——信号的翻转;
y=sawtooth(t,width)——产生锯齿波信号。
实验容
1. 实例分析与验证
根据以上典型信号的MATLAB函数,分析与验证下列典型信号MATLAB程序,并实现各信号波形图的显示,连续信号的图形显示使用连续二维图函数plot()。
(1) 正弦信号:用MATLAB命令产生正弦信号2sin(2/4)
ππ+,并会出时间0≤t≤3的波形图。
程序如下:
K=2;w=2*pi ;phi=pi/4;
t=0:0.01:3;
ft=K*sin(w*t+phi);
plot(t,ft),grid on;
axis([0,3,-2.2,2.2])
title('正弦信号')
(2) 抽样信号:用MATLAB 中的sinc(t)函数命令产生抽样信号Sa(t),并会出时间为66t ππ-≤≤的波形图。
程序如下:
t=-6*pi:pi/100:6*pi;
ft=sinc(t/pi);
plot(t,ft),grid on;
axis([-20,20,-0.5,1.2])
title('抽样信号')
(3) 矩形脉冲信号:用MATLAB 中y=rectpuls(t,width)函数命令画出下列矩形脉冲信号的波形图
2(01)()0
(0,1)t f t t t ≤≤⎧=⎨<>⎩
程序如下:
t=-0.5:0.01:3;
t0=0.5;width=1;
ft=2*rectpuls(t-t0,width);
plot(t,ft),grid on;
axis([-0.5,3,-0.2,2.2])
title('矩形脉冲信号') (4) 单位阶跃信号:用MATLAB 命令“y=(t>=0)”绘出-1≤ t ≤ 5单位阶跃信号ε(t )。
程序如下:
t=-1:0.01:5;
ft=(t>=0);