信号与系统第一次试验:连续时间信号的MATLAB表示及运算

前言

为了帮助同学们完成痛苦的实验课程设计,本作者将其作出的实验结果及代码贴至CSDN中,供同学们学习参考。如有不足或描述不完善之处,敬请各位指出,欢迎各位的斧正!

一、实验目的

  1. 熟悉常见连续信号波形
  2. 学会使用 MATLAB 表示信号的方法并绘制信号波形
  3. 掌握使用 MATLAB 进行信号基本运算的指令

二、实验原理

信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用f(t)和f(k)来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。
1.信号表示
所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续信号可用向量或符号运算功能来表示。
Matlab提供了大量生成基本信号的函数。如:
(1)指数信号:K*exp(a*t)
(2)正弦信号:K*sin(w*t+phi)K*cos(w*t+phi)
(3)复指数信号:K*exp((a+i*b)*t)
(4)抽样信号:sin(t*pi)
注意:在Matlab中用与Sa(t)类似的sinc(t)函数表示,定义为:sinc(t)=sin(pi*t)/(pi*t)
(5)矩形脉冲信号:rectpuls(t,width)
(6)单位阶跃信号:heaviside(t)stepfun(t,t0),其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻。
2.信号运算
信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。
我们也可用命令subs(f,t,t-t0)来实现连续信号的平移,其中f是用符号表达式表示的连续时间信号, t是符号变量,subs命令则将连续信号中的时间变量t用t-t0替换;用命令subs(f,t,-t)实现连续信号的反折;用命令subs(f,t,a*t) 实现连续信号的尺度变换。

三、实验环境

硬件:装有Windows 10系统的PC机
软件:MATLAB 2018b

四、实验内容和步骤及实验数据

实验内容1 利用MATLAB命令画出下面波形
(1) ( 2 − e − t ) ε ( t ) (2-e^{-t})ε(t) (2et)ε(t)
(2) 2 c o s ( 3 t + π / 4 ) 2cos(3t+π /4) 2cos(3t+π/4)
(3) ε ( t + 2 ) − ε ( t ) ε(t+2)-ε(t) ε(t+2)ε(t)

实验内容2 已知信号 f(t)的波形如下图所示,试用MATLAB绘出满足下列要求的信号波形。
(1)f(-t) (2) f(t-2) (3) f(2t) (4) f(0.5t+1)
代码及图案如下

%(1) (2-e^(-t))ε(t)
clear;clc;
t=0:0.01:3;
ft=2-exp(-t);
plot(t,ft);
grid on;
axis([-0.5,3.5,0.75,2.25]);
title('y=(2-exp(-t))ε(t)');

在这里插入图片描述

%(2) 2cos(3t+pi/4)
clear;clc;
t=0:0.01:3;
gt=2*cos(3*t+pi/4);
plot(t,gt);grid on
axis([-0.5,3.5,-2.5,2.5]);
title('y=2cos(3t+pi/4)');

在这里插入图片描述

(t+2)(t-2)
t=-3:0.01:4;
y=heaviside(t+2);
z=heaviside(t-2);
plot(t,y-z);grid on
axis([-3,4,-0.5,1.5]);
title('y=?(t+2)-?(t-2)');

在这里插入图片描述

%2. f(t)
clear;clc;
t=-1:0.01:3;
y=heaviside(t)-heaviside(t-1)+heaviside(t)-heaviside(t-2);
plot(t,y);grid on
axis([-0.5,3,-0.5,2.5]);
title('y=f(t)');

在这里插入图片描述

%2. f(-t)
clear;clc;
t=-3:0.01:3;
f=heaviside(t)-heaviside(t-1)+heaviside(t)-heaviside(t-2);
plot(-t,f);grid on
axis([-3,3,-0.5,2.5]);
title('y=f(-t)');

在这里插入图片描述

%2. f(t-2)
clear;clc;
t=-2:0.01:5;
y=heaviside(t)-heaviside(t-1)+heaviside(t)-heaviside(t-2);
plot(t+2,y);grid on
axis([1.5,5,-0.5,2.5]);
title('y=f(t-2)');

在这里插入图片描述

%2. f(2t)
clear;clc;
t=-2:0.01:4;
y=heaviside(t)-heaviside(t-1)+heaviside(t)-heaviside(t-2);
plot(0.5*t,y);grid on
axis([-1,2,-0.5,2.5]);
title('y=f(2t)');

在这里插入图片描述

%2. f(0.5t+1)
clear;clc;
t=-1:0.01:3;
y=heaviside(t)-heaviside(t-1)+heaviside(t)-heaviside(t-2);
plot((t-1)*2,y);grid on
axis([-3,3,-0.5,2.5]);
title('y=f(0.5t+1)');

在这里插入图片描述

五、实验结论

信号的平移、反转和尺度变换是针对自变量时间而言的,其数学表达式和波形变换中存在着一定的变化规律。从数学表达式上来看,信号的上述所有计算都是自变量的替换过程。所以在使用Matlab进行连续时间信号的运算时,只需要进行相应的变量代换即可完成相关工作。

六、实验总结

(1)指数信号:K*exp(a*t)
(2)正弦信号:K*sin(w*t+phi)K*cos(w*t+phi)
(3)复指数信号:K*exp((a+i*b)*t)
(4)抽样信号:sin(t*pi)
注意:在Matlab中用与Sa(t)类似的sinc(t)函数表示,定义为:sinc(t)=sin(pi*t)/(pi*t)
(5)矩形脉冲信号:rectpuls(t,width)
(6)单位阶跃信号:heaviside(t)stepfun(t,t0),其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻。
在遇到问题时,多使用doc函数进行查询

  • 12
    点赞
  • 143
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Knight_V_Schumacher

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值