常见信号的MATLAB表示及运算

常见信号的MATLAB表示及运算

实验一:信号发生器

一.实验目的

1.熟悉常见信号的意义、特性及波形

2.学会使用MATLAB表示信号的方法并绘制信号波形

3. 掌握使用MATLAB进行信号基本运算的指令

4. 熟悉用MATLAB实现卷积积分的方法

二.实验原理

信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用

v2-f87629c27100a6484004fb7f3aa29ac5_b.jpg

v2-5b7cd7d0294a5e3cb4b7255299780723_b.jpg

来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。

根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB表示及其波形绘制方法。

1.连续时间信号

所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续信号可用向量或符号运算功能来表示。

⑴ 向量表示法

对于连续时间信号

v2-f87629c27100a6484004fb7f3aa29ac5_b.jpg

,可以用两个行向量ft来表示,其中向量t是用形如

v2-c0d1468b66fc20ca7b64fb9bfe210a1b_b.jpg

的命令定义的时间范围向量,其中,

v2-ccf0d1bf282f5967bcc596c79f622eec_b.jpg

为信号起始时间,

v2-ac6d8bfc30d0cc690347720811707766_b.jpg

为终止时间,p为时间间隔。向量f为连续信号

v2-f87629c27100a6484004fb7f3aa29ac5_b.jpg

在向量t所定义的时间点上的样值。

说明: plot是常用的绘制连续信号波形的函数。

严格说来,MATLAB不能表示连续信号,所以,在用plot( )命令绘制波形时,要对自变量t进行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t的取样间隔。t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。

在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。

⑵ 符号运算表示法

如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。

⑶ 常见信号的MATLAB表示

对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号(t)、符号函数sgn(t)等,在MATLAB中这些信号都有专门的表示方法。

单位阶跃信号

单位阶跃信号的定义为:

v2-ca8730b61a19754e2f45c2270b4c31b5_b.jpg

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

v2-517ce499d41333a5391d7f88fb566fa5_b.jpg


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

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

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

首先定义函数Heaviside(t) 的m函数文件,该文件名应与函数名同名即Heaviside.m。%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y

function y= Heaviside(t)

y=(t>0); %定义函数体,即函数所执行指令

%此处定义t>0时y=1,t<=0时y=0,注意与实际阶跃信号定义的区别。

方法二:数值计算法

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

v2-dde4ff54d6d80b03b0bb5946d6db5134_b.jpg

。其调用格式为: stepfun(t,t0)

其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列

v2-509b0dae6e57675711b99072bb5caf0d_b.jpg

,这只要将自变量以及取样间隔设定为整数即可。有关单位阶跃序列

v2-509b0dae6e57675711b99072bb5caf0d_b.jpg

的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。

符号函数

符号函数的定义为:

v2-70e29bf6a39d962a0a556175f6c9ac4c_b.jpg

在MATLAB中有专门用于表示符号函数的函数sign() ,由于单位阶跃信号(t)和符号函数两者之间存在以下关系:

v2-115d5a0029b66266d04c6b4fd3988519_b.jpg

,因此,利用这个函数就可以很容易地生成单位阶跃信号。下面举个例子来说明如何利用sign()函数生成单位阶跃信号,并同时绘制其波形。

2.离散时间信号

离散时间信号又叫离散时间序列,一般用

v2-5b7a744d036c302b1ff1fd54ed62332e_b.jpg

表示,其中变量k为整数,代表离散的采样时间点(采样次数)。


三.实验内容

1.分别用MATLAB的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形:

(2)

v2-4946838e94671fe89ce7165fad5918d0_b.jpg


syms t;

f=sym('cos(t)*pi*t/2*[heaviside(t)-heaviside(t-4)]');

ezplot(f,[-2,8]);


v2-56264547ba4f849843581aab11ab02cc_b.jpg


(4)

v2-2b3cd869d23683b38b6f86948ef122cf_b.jpg

syms t;

f=sym('2/3*t*heaviside(t+2)');

ezplot(f,[-4,8]);


v2-dc621e1ba4da98632c648bc9013695fe_b.jpg


2.分别用MATLAB表示并绘出下列离散时间信号的波形:

(2)

v2-69edd389367b9cc283529c4ef0801df7_b.jpg


t=0:8;

t1=-10:15;

f=[zeros(1,10),t,zeros(1,7)];

stem(t1,f)

axis([-10,15,0,10])


v2-37d06b42e0e37774bff2e0b2cbc84be0_b.jpg


(4)

v2-84de2bbf5766a5896069a8f3ca748cd0_b.jpg

t=-20:10;

f=[ones(1,23),zeros(1,8)];

stem(t,f)

stem(t,f)


v2-47f921c51456e7a38688394e50564660_b.jpg



v2-ebf4ff7b1ce9178998ce69933f87ba9d_b.jpg

3.已知信号f(t)的波形如下图所示,试用MATLAB绘出满足下列要求的信号波形。

(2)

v2-c22a6b75688c26ba360ca145d994bc2b_b.jpg


t=-1:0.01:4;

t0=0;

t1=1;

t2=2;

ut=2*stepfun(t,t0)-2*stepfun(t,t1)+stepfun(t,t1)-stepfun(t,t2);

plot(t-2,ut)

axis([-3,2,0,3])


v2-bbb1442430d7ee546deda631592c13c0_b.jpg


(4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值