实验2 用MATLAB描述常见信号

  • 格式:pdf
  • 大小:440.06 KB
  • 文档页数:7

实验二用MATLAB描述常用信号
一. 实验目的
熟悉Matlab软件平台,掌握利用Matlab来显示常用信号波形。

掌握利用Matlab来实现信号的时域变换和时域运算。

二. 实验内容
在MATLAB中通常有两种方法来表示信号,一种是用向量来表示信号,另一种是用符号运算的方法来表示信号。

用适当的MATLAB语句表示出信号后,就可以利用MATLAB的绘图命令绘制出直观的信号波形。

1.连续时间信号
连续时间信号,是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干不连续点以外,信号都有确定的值与之对应的信号。

从严格意义上来讲,MATLAB并不能处理连续信号,在MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。

在MATLAB中连续信号可用向量或符号运算功能来表示。

(1) 向量表示法
对于连续时间信号f(t)可以用两个行向量表示。

第一个行向量是用来定义自变量t的,t=t1:d:t2其中t1为初始值,d为步长,t2为终止值。

第二个行向量f为连续信号f(t)在向量t所定义的时间上的样值。

例1:用Matlab表示()sin()
=,并绘制出相应波形。

f t t
程序:
执行结果:
说明:程序可在命令窗口直接输入执行,也可创建m文件执行,具体操做见matlab 基础知识。

(2) 符号运算表示法
如果信号可以用符号表达式来表示它,则可用ezplot命令绘制出信号的波形。

-t/2并绘出其波形。

例2. 用Matlab表示连续信号f(t)= e
程序
执行结果
2.离散时间信号
离散时间信号用f(k)表示,其中变量k为整数,代表离散的采样时间点。

f(k)可表示为:
f(k)={...f(-2),f(-1),f(0),f(1),f(2)…}
↑k=0
在MATLAB中,用一个向量f即可表示一个有限长度的序列。

但是,这样的向量并没有包含其对应的序号信息。

所以,要完整地表示一个离散信号需要用两个向量。

如序列:f(k)={1,2,-1,3,2,4,-1}
↑k=0
在MATLAB中应表示为:
k=[-3,-2,-1,0,1,2,3]或是k=-3:3;f= [1, 2,-1, 3, 2, 4,-1]
在用MATLAB表示离散序列并将其可视化时,需注意以下几点:第一,与连续时间信号不同,离散时间信号无法用符号运算来表示;第二,由于在MATLAB 中,矩阵的元素个数是有限的,因此,MATLAB无法表示无限序列;第三,在绘制离散信号波形时,要使用专门绘制离散数据的stem命令,而不是plot命令。

例3.用Matlab表示离散序列
2()(),5
N
x n R n N
==,并绘制图形。

程序
执行结果
实验任务
1. 用MATLAB 表示连续信号0.45,010t e t -££,
sin()
(),1010t sa t t t
=
-££;离散信号()k d ,{}
()1,2,8,6,3f k -=并绘出其波形。

说明:MATLAB 提供了许多数学函数,自然指数函数用exp(t)表示,抽样函数用sinc(t)表示。

3. 连续信号的时域变换与时域运算 (1)信号的移位
对于连续信号f (t ),若有常数t 0>0,延时信号f (t -t 0)是将原信号沿正t 轴方向平移时间t 0,而f (t +t 0)是将原信号沿负t 轴方向移动时间t 0。

我们可用下面的命令来实现连续信号的平移及其结果可视化,其中f 是用符号表达式表示的连续时间信号,t 是符号变量,subs 命令则将连续信号中的时间变量t 用t -t 0替换:
y=subs(f,t,t-t0); ezplot(y) (2)信号的反折
连续信号的反折,是指将信号以纵坐标为轴反折,即将信号f(t)中的自变量t 换为-t 。

实现如下: y=subs(f,t,-t); ezplot(y) (3) 信号的尺度变换
连续信号的尺度变换,是指将信号的横坐标进行展宽或压缩变换,即将信号f (t )中的自变量t 换为at ,当a >1时,信号f (at )以原点为基准,沿横轴压缩到原来的1/a ;当0<a <1时,就展宽至原来的1/a 倍。

实现如下: y=subs(f,t,a*t); ezplot(y)
(4)信号的相加与相乘
两连续信号的相加与相乘,可看做是两个有限维数的矩阵进行加法和点乘运算,当然两矩阵的维数必须相同。

例4. 用matlab描述信号log10(t), log10(t-1), log10(-t)。

程序:
运行结果:
4.离散信号的时域运算和时域变换
离散信号的相加与相乘与连续信号类似,对两个有限长序列相加或点乘,若维数不同,可对短序列后面补零。

对于有限长离散信号时域变换更为简单。

例5.用matlab 描述序列()(1)2(2)f k k k d d =-+-,(2),()f k f k --。

程序:
运行结果:
实验任务2. 完成例4、例5的实验内容。

思考题:
1.MATLAB处理连续信号时,为什么要对它离散化后作为离散序列来处理?
注意:
由于篇幅的需要缩小了图形框,如果看不清楚标注等,则选择“视图”中的“缩放”,改变显示比例。