matlab在信号与系统中的应用实验.docx
- 文档编号:3745703
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:45
- 大小:273.38KB
matlab在信号与系统中的应用实验.docx
《matlab在信号与系统中的应用实验.docx》由会员分享,可在线阅读,更多相关《matlab在信号与系统中的应用实验.docx(45页珍藏版)》请在冰豆网上搜索。
matlab在信号与系统中的应用实验
信号与系统实验
实验一 常见信号的MATLAB表示及运算
一、实验目的
1.熟悉常见信号的意义、特性及波形
2.学会使用MATLAB表示信号的方法并绘制信号波形
3.掌握使用MATLAB进行信号基本运算的指令
4.熟悉用MATLAB实现卷积积分的方法
二、实验原理
信号一般是随时间而变化的某些物理量。
按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用
和
来表示。
若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。
MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。
根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。
在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。
下面分别介绍连续时间信号和离散时间信号的MATLAB表示及其波形绘制方法。
1.连续时间信号
所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。
从严格意义上讲,MATLAB并不能处理连续信号。
在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。
在MATLAB中连续信号可用向量或符号运算功能来表示。
⑴向量表示法
对于连续时间信号
,可以用两个行向量f和t来表示,其中向量t是用形如
的命令定义的时间范围向量,其中,
为信号起始时间,
为终止时间,p为时间间隔。
向量f为连续信号
在向量t所定义的时间点上的样值。
例如:
对于连续信号
,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。
其程序如下:
t1=-10:
0.5:
10; %定义时间t的取值范围:
-10~10,取样间隔为0.5,
%则t1是一个维数为41的行向量
f1=sin(t1)./t1; %定义信号表达式,求出对应采样点上的样值,
%同时生成与向量t1维数相同的行向量f1
figure
(1); %打开图形窗口1
plot(t1,f1); %以t1为横坐标,f1为纵坐标绘制f1的波形
t2=-10:
0.1:
10; %定义时间t的取值范围:
-10~10,取样间隔为0.1,
%则t2是一个维数为201的行向量
f2=sin(t2)./t2; %定义信号表达式,求出对应采样点上的样值
%同时生成与向量t2维数相同的行向量f2
figure
(2); %打开图形窗口2
plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形
运行结果如下:
图1-1图1-2
说明:
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()等函数来绘出信号的波形。
例如:
对于连续信号
,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。
其MATLAB程序如下:
symst ; %符号变量说明
f=sin(t)/t; %定义函数表达式
ezplot(f,[-10,10]); %绘制波形,并且设置坐标轴显示范围
运行结果如下:
图1-3
⑶常见信号的MATLAB表示
对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号(t)、符号函数sgn(t)等,在MATLAB中这些信号都有专门的表示方法。
单位阶跃信号
单位阶跃信号的定义为:
,单位阶跃信号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。
例如:
可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即:
在MATLAB中,可通过多种方法得到单位阶跃信号,下面分别介绍。
方法一:
调用Heaviside(t)函数
在MATLAB的SymbolicMathToolbox中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。
首先定义函数Heaviside(t)的m函数文件,该文件名应与函数名同名即Heaviside.m。
%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为y
functiony=Heaviside(t)
y=(t>0);%定义函数体,即函数所执行指令
%此处定义t>0时y=1,t<=0时y=0,注意与实际的阶跃信号定义的区别。
例①用MATLAB画出单位阶跃信号的波形,其程序如下:
ut=sym('Heaviside(t)'); %定义单位阶跃信号(要用符号函数定义法)
ezplot(ut,[-2,10]) %绘制单位阶跃信号在-2~10范围之间的波形
运行结果如下:
例②用MATLAB画出信号
的波形
其程序如下:
f=sym('Heaviside(t+2)-3*Heaviside(t-5)'); %定义函数表达式
ezplot(f,[-4,20]) %绘制函数在-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中有专门用于表示符号函数的函数sign(),由于单位阶跃信号(t)和符号函数两者之间存在以下关系: ,因此,利用这个函数就可以很容易地生成单位阶跃信号。 下面举个例子来说明如何利用sign()函数生成单位阶跃信号,并同时绘制其波形。 举例: 利用sign()函数生成单位阶跃信号,并分别绘出两者的波形 MATLAB程序如下: t=-5: 0.01: 5; %定义自变量取值范围及间隔,生成行向量t f=sign(t); %定义符号信号表达式,生成行向量f figure (1); %打开图形窗口1 plot(t,f), %绘制符号函数的波形 axis([-5,5,-1.5,1.5]) %定义坐标轴显示范围 s=1/2+1/2*f; %生成单位阶跃信号 figure (2); %打开图形窗口2 plot(t,s), axis([-5,5,-0.5,1.5]) %定义坐标轴显示范围 运行结果如下: 2.离散时间信号 离散时间信号又叫离散时间序列,一般用 表示,其中变量k为整数,代表离散的采样时间点(采样次数)。 在MATLAB中,离散信号的表示方法与连续信号不同,它无法用符号运算法来表示,而只能采用数值计算法表示,由于MATLAB中元素的个数是有限的,因此,MATLAB无法表示无限序列;另外,在绘制离散信号时必须使用专门绘制离散数据的命令,即stem()函数,而不能用plot()函数。 下面通过一些常用离散信号来说明如何用MATLAB来实现离散信号的表示,以及可视化。 单位序列(k) 单位序列(k)的定义为 下面是用MATLAB绘制单位序列(k)的MATLAB程序: k1=-5;k2=5; %定义自变量的取值范围 k=k1: k2; %定义自变量的取值范围及取样间隔(默认为1),并生成行向量 n=length(k); %取向量的维数 f=zeros(1,n); %生成与向量k的维数相同地零矩阵,给函数赋值 f(1,6)=1; %在k=0时刻,信号赋值为1 stem(k,f,'filled') %绘制波形 %'filled'定义点的形状,可通过help文件查询其它形状的描述 axis([k1,k2,0,1.5]) %定义坐标轴显示范围 运行结果如下: 如果要绘制移位的单位序列(k+k0)的波形,只要将以上程序略加修改即可,例如要绘制信号(k+2)的图形,可将以上程序改为: k1=-5;k2=5; %定义自变量的取值范围 k0=3; %定义平移量 k=k1: k2; %定义自变量的取值范围及取样间隔(默认为1),并生成行向量 n=length(k); %取向量的维数 f=zeros(1,n); %生成与向量k的维数相同的零矩阵,给函数赋值 f(1,-k0-k1+1)=1; %在k=k0时刻,信号赋值为1 stem(k,f,'filled') %绘制波形 axis([k1,k2,0,1.5]) %定义坐标轴显示范围 单位阶跃序列(k) 单位阶跃序列(k)的定义为 下面是绘制单位阶跃序列(k+k0)的MATLAB程序: k1=-3;k2=10;k0=0; %定义起止时刻和跃变时刻 k=k1: -k0-1; kk=-k0: k2; n=length(k); %取k=k0点以前向量的维数 nn=length(kk); %取k=k0点以后(含k=k0点)向量的维数 u=zeros(1,n); %在k=k0以前,信号赋值为0 uu=ones(1,nn); %在k=k0以后,信号赋值为1 stem(k,u,'filled') %绘制k=k0以前信号的波形 holdon %保持图形窗口,以便在同一图形窗口绘制多个图形 stem(kk,uu,'filled') %绘制k=k0以后(含k=k0点)信号的波形 holdoff %图形窗口解冻 axis([k1,k2,0,1.5]) %设置坐标轴显示范围 运行结果如下: 注意: 以上介绍了几个常用的绘图命令: plot,ezplot,stairs,stem,其中,绘制连续信号得到光滑的曲线时用plot命令;显示连续信号中的不连续点时用stairs命令较好;绘制离散信号波形用stem命令;当绘制用MATLAB符号表达式表达的信号时要用ezplot命令。 3.卷积积分 信号的卷积是数学上的一种积分运算,两个信号的卷积定义为: 信号的卷积运算在系统分析中主要用于求解系统的零状态响应。 一般情况,卷积积分的运算比较困难,但在MATLAB中则变得十分简单,MATLAB中是利用conv函数来实现卷积的。 功能: 实现两个函数 和 的卷积。 格式: g=conv(f1,f2) 说明: f1=f1(t),f2=f2(t) 表示两个函数,g=g(t)表示两个函数的卷积结果。 例题: 已知两信号 , ,求卷积 。 MATLAB程序如下: t1=1: 0.01: 2;t2=2: 0.01: 3; t3=3: 0.01: 5;%两信号卷积结果自变量t区间应为: [两信号起始时刻之%和~两信号终止时刻之和]请自行推导该结论 f1=ones(size(t1));%高度为一的门函数,时间从t=1到t=2 f2=ones(size(t2)); %高度为一的门函数,时间从t=2到t=3 g=conv(f1,f2); %对f1和f2进行卷积 subplot(3,1,1),plot(t1,f1); %画f1的波形 subplot(3,1,2),plot(t2,f2); %画f2的波形 subplot(3,1,3),plot(t3,g); %grid on; 画g的波形 三、信号的时域变换 信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 我们就分别介绍连续时间信号和离散时间信号的各种时域变换[11]。 1、连续信号的时域变换 MATLAB可以有两种方法来表示连续信号。 用这两种方法均可实现连续信号的时域变换,但用符号运算的方法则较为简便。 (1)移位 对于连续信号f(t),若有常数t0>0,延时信号f(t-t0)是将原信号沿正t轴方向平移时间t0,而f(t+t0)是将原信号沿负t轴方向移动时间t0。 我们可用下面的命令来实现连续信号的平移及其结果可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量,subs命令则将连续信号中的时间变量t用t-t0替换: y=subs(f,t,t-t0);ezplot(y) (2)反折 连续信号的反折,是指将信号以纵坐标为轴反折,即将信号f(t)中的自变量t换为-t。 实现如下: y=subs(f,t,-t);ezplot(y) (3)尺度变换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 信号 系统 中的 应用 实验