信号与系统实验一:连续信号的时域分析

一、实验目的

1、学会运用MATLAB表示常用连续时间信号的方法;

2、观察并熟悉这些信号的波形和特性。

二、实验原理及实例分析

1、连续信号的MATLAB表示

MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。

2、MATLAB提供了大量生成基本信号的函数。如:

(1)指数信号:K*exp(a*t);

(2)正弦信号:K*sin(w*t+phi)和 K*cos(w*t+phi);

(3)矩形脉冲信号:rectpuls(t,width);

(4)周期矩形脉冲信号:square(t,DUTY),其中DUTY参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。占空比默认为0.5;

(5)三角波脉冲信号:tripuls(t, width, skew),其中skew取值范围在-1~1之间;

(6)单位阶跃信号:y=(t>=0)。

三、实验内容

1.画出的各基本信号的波形图:

(1)指数信号:K*exp(a*t);

实验代码: 

t=-3:0.1:4;

ft1 = exp(t); ft2 = exp(2*t); ft3 = 2*exp(-t); ft4 = 2*exp(-2*t);

subplot(2, 1, 1)

plot(t,ft1, t, ft2,'.-'), legend('exp(t)', 'exp(2*t)');

xlabel('t'), grid on, axis([-1, 4, -1, 40]);

subplot(2, 1, 2)

plot(t,ft3, t, ft4,'.-'), legend('exp(-t)', 'exp(-2*t)');

xlabel('t'), grid on, axis([-3, 1, -1, 40]);

suptitle('指数信号:K*exp(a*t)');

实验图像:

(2)正弦信号:K*sin(w*t+phi);

实验代码: 

t=-2*pi:0.1:2*pi;

ft1 = 2*sin(t); ft2 = 2*sin(2*t); ft3 = 3*cos(-t); ft4 = 3*cos(-t + pi/3);

subplot(2, 1, 1)

plot(t,ft1, t, ft2,'.-'), legend('2*sin(t)', '2*sin(2*t)');

xlabel('t'), grid on, axis([-2*pi, 2*pi, -2, 2]);

subplot(2, 1, 2)

plot(t,ft3, t, ft4,'.-'), legend('3*cos(-t)', '3*cos(-t + pi/3)');

xlabel('t'), grid on, axis([-2*pi, 2*pi, -3, 3]);

suptitle('正弦信号:K*sin(w*t+phi)');

实验图像:

(3)矩形脉冲信号:rectpuls(t, width);

实验代码: 

t=-4:0.1:4; ft = rectpuls(t, 2);

plot(t,ft); xlabel('t'), ylabel('rectpuls(t, 2)');

grid on, axis([-4, 4, -1, 1.5]); title('矩形脉冲信号:rectpuls(t, width)');

实验图像:

(4)周期矩形脉冲信号:square(t,DUTY);

实验代码: 

t=-10:0.1:10; ft = square(t, 50);

plot(t, ft); xlabel('t'), ylabel('square(t, 50)');

grid on, axis([-10, 10, -1.5, 1.5]); title('周期矩形脉冲信号:square(t, DUTY)');

实验图像:

(5)三角波脉冲信号:tripuls(t, width, skew)

实验代码: 

t=-5:0.1:5; ft = tripuls(t, 2, 1);

plot(t,ft); xlabel('t'), ylabel('tripuls(t, 2, 1)');

grid on, axis([-3, 3, -0.2, 1.2]); 

title('三角波脉冲信号:tripuls(t, width, skew)');

实验图像:

(6)单位阶跃信号:y=(t>=0)

实验代码: 


t=-2:0.1:5; ft = (t>=0);

plot(t,ft); xlabel('t'), ylabel('u(t)');

grid on, axis([-2, 5, -0.3, 1.2]); title('单位阶跃信号:y=u(t)');

实验图像:

单位阶跃信号

2.作出指定信号图像

已知信号,画出的波形图:

实验代码:

t=-20:0.1:20;

y1 = (2-exp(-2*2*t)).*(2*t>=0);

y2 = (2-exp(-2.*(2-t))).*((2-t)>=0);

subplot(2, 1, 1)

plot(t,y1); xlabel('t'), ylabel('f(2t)');

grid on, axis([-20, 20, -1, 3]);

subplot(2, 1, 2)

plot(t,y2); xlabel('t'), ylabel('f(t-2)');

grid on, axis([-20, 20, -1, 3]);

suptitle('f(2t)与f(2-t)的波形图');

实验图像:

四、实验总结

通过此次实验,直观地观察到了各个基本波形的图形,同时对信号与系统地认识也更进一步,用好MATLAB这一强大的工具能够让我们的学习效率有显著提高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值