?单位阶跃信号

单位阶跃信号的定义为:???????

单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:

在MATLAB中,可通过多种方法得到单位阶跃信号,下面分别介绍主要的几种。

方法一:?调用Heaviside(t)函数

在MATLAB的Symbolic Math Toolbox?中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。

例①.用MATLAB画出单位阶跃信号的波形,其程序如下:

ut=sym('Heaviside(t)');????? %定义单位阶跃信号(要用符号函数定义法)

ezplot(ut,[-2,10])?????????? %绘制单位阶跃信号在范围之间的波形

运行结果如下:

例②.用MATLAB画出信号的波形

其程序如下:

f=sym('Heaviside(t+2)-3*Heaviside(t-5)');?? %定义函数表达式

ezplot(f,[-4,20])??????????????????????? %绘制函数在范围之间的波形

运行结果如下:????????????????????????????????????????????????????????????????????

方法二:数值计算法

在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数。其调用格式为:

stepfun(t,t0)?????其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。

有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可达到。下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。

例①:用stepfun( )函数表示单位阶跃信号,并绘出其波形

程序如下:

t=-1:0.01:4;??????????????? %定义时间样本向量

t0=0;???????????????????? %指定信号发生突变的时刻

ut=stepfun(t,t0);??????????? %产生单位阶跃信号

plot(t,ut)????????????????? %绘制波形

axis([-1,4,-0.5,1.5])???????? %设定坐标轴范围

运行结果如下:

例②:绘出门函数的波形

程序如下:

???? t=-4:0.01:4;???????????? %定义时间样本向量

t1=-2;?????????????????? %指定信号发生突变的时刻

u1=stepfun(t,t1);????????? %产生左移位的阶跃信号?(t+2)

t2=2;?????????????????? %指定信号发生突变的时刻

u2=stepfun(t,t2);????????? %产生右移位的阶跃信号?(t-2)

g=u1-u2; ???????????????%表示门函数

plot(t,g)???????????????? %绘制门函数的波形

axis([-4,4,-0.5,1.5])??????? %设定坐标轴范围-4

运行结果如下:

方法三: 定义matlab函数u.m为

function y = u(n)

y = (n>=0);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐