ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:273.38KB ,
资源ID:3745703      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3745703.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab在信号与系统中的应用实验.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

matlab在信号与系统中的应用实验.docx

1、matlab在信号与系统中的应用实验信号与系统实验实验一常见信号的MATLAB表示及运算一、实验目的1熟悉常见信号的意义、特性及波形2学会使用MATLAB表示信号的方法并绘制信号波形3. 掌握使用MATLAB进行信号基本运算的指令4. 熟悉用MATLAB实现卷积积分的方法二、实验原理信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用和来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。根据MA

2、TLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB表示及其波形绘制方法。1.连续时间信号所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似

3、出连续信号。在MATLAB中连续信号可用向量或符号运算功能来表示。 向量表示法对于连续时间信号,可以用两个行向量f和t来表示,其中向量t是用形如的命令定义的时间范围向量,其中,为信号起始时间,为终止时间,p为时间间隔。向量f为连续信号在向量t所定义的时间点上的样值。例如:对于连续信号,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其波形。其程序如下:t1=-10:0.5:10; %定义时间t的取值范围:-1010,取样间隔为0.5, %则t1是一个维数为41的行向量f1=sin(t1). /t1; %定义信号表达式,求出对应采样点上的样值, %同时生成与向量t1维数相同的行向

4、量f1figure(1); %打开图形窗口1plot(t1,f1); %以t1为横坐标,f1为纵坐标绘制f1的波形t2=-10:0.1:10; %定义时间t的取值范围:-1010,取样间隔为0.1, %则t2是一个维数为201的行向量f2=sin(t2). /t2; %定义信号表达式,求出对应采样点上的样值 %同时生成与向量t2维数相同的行向量f2figure(2); %打开图形窗口2plot(t2,f2); %以t2为横坐标,f2为纵坐标绘制f2的波形运行结果如下: 图1-1 图1-2说明: plot是常用的绘制连续信号波形的函数。 严格说来,MATLAB不能表示连续信号,所以,在用plot

5、( )命令绘制波形时,要对自变量t进行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t的取样间隔。t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。 在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号

6、函数专用绘图命令ezplot()等函数来绘出信号的波形。例如:对于连续信号,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。其MATLAB程序如下:syms t; %符号变量说明f=sin(t)/t ; %定义函数表达式ezplot(f,-10,10); %绘制波形,并且设置坐标轴显示范围运行结果如下:图1-3 常见信号的MATLAB表示对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号 (t)、符号函数sgn(t)等,在MATLAB中这些信号都有专门的表示方法。 单位阶跃信号单位阶跃信号的定义为:,单位阶跃信

7、号是信号分析的基本信号之一,在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即: 在MATLAB中,可通过多种方法得到单位阶跃信号,下面分别介绍。方法一: 调用Heaviside(t)函数在MATLAB的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。首先定义函数Heaviside(t) 的m函数文件,该文件名应与函数名同名即He

8、aviside.m。%定义函数文件,函数名为Heaviside,输入变量为x,输出变量为yfunction y= Heaviside(t) y=(t0); %定义函数体,即函数所执行指令%此处定义t0时y=1,t=0时y=0,注意与实际的阶跃信号定义的区别。例 用MATLAB画出单位阶跃信号的波形,其程序如下:ut=sym(Heaviside(t); %定义单位阶跃信号(要用符号函数定义法)ezplot(ut,-2,10) %绘制单位阶跃信号在-210范围之间的波形运行结果如下:例 用MATLAB画出信号的波形其程序如下:f=sym(Heaviside(t+2)-3*Heaviside(t-5

9、); %定义函数表达式ezplot(f,-4,20) %绘制函数在-420范围之间的波形运行结果如下: 方法二:数值计算法在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数。其调用格式为:stepfun(t,t0) 其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可。有关单位阶跃序列的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。例 用

10、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

11、-u2; %表示门函数plot(t,g) %绘制门函数的波形axis(-4,4,-0.5,1.5) %设定坐标轴范围-4x4 ,-0.5y0,延时信号f(t-t0)是将原信号沿正t轴方向平移时间t0,而f(t+t0)是将原信号沿负t轴方向移动时间t0。我们可用下面的命令来实现连续信号的平移及其结果可视化,其中f是用符号表达式表示的连续时间信号,t是符号变量,subs命令则将连续信号中的时间变量t用tt0替换:y=subs(f,t,t-t0); ezplot(y)(2)反折连续信号的反折,是指将信号以纵坐标为轴反折,即将信号f(t)中的自变量t换为t。实现如下:y=subs(f,t,-t); e

12、zplot(y)(3)尺度变换连续信号的尺度变换,是指将信号的横坐标进行展宽或压缩变换,即将信号f(t)中的自变量t换为at,当a1时,信号f(at)以原点为基准,沿横轴压缩到原来的1/a;当0a1时,就展宽至原来的1/a倍。实现如下:y=subs(f,t,*t); ezplot(y)(4)倒相连续信号的倒相是指将信号f(t)以横轴为对称轴对折得到f(t)。实现如下:y=-f; ezplot(y)对于以上的命令,可在画图命令之后加入坐标轴的调整的命令(即加入axis( )命令),以使画出的图形更清晰、直观。2、离散时间序列的时域变换 与连续信号不同的是,在MATLAB中,离散序列的时域变换不能

13、用符号运算来实现,而必须用向量表示的方法,即在MATLAB中离散序列的变换需表示成两个向量的变换。(1)离散序列反折离散序列的反折,即是将表示离散序列的两向量以零时刻的取值为基准点,以纵轴为对称轴反折,向量的反折可用MATLABA中的fliplr函数来实现,具体实现如下:function f,k=lsfz(f1,k1)f=fliplr(f1);k=-fliplr(k1); %调用此函数实现向量f1和k1的反折stem(k,f,filled)axis(min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5)(2)离散序列的平移离散序列的平移可看作是将离散序列的时间序号向量

14、平移,而表示对应时间序号点的序列样值不变,当序列向左移动k0个单位时,所以时间序号向量都减小k0个单位,反之则增加k0个单位。实现如下:function f,k=lsyw(ff,kk,k0)k=kk+k0;f=ff;stem(k,f,filled)axis(min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5)(3)离散序列的倒相离散序列的倒相可看作是将表示序列样值的向量取反,而对应的时间序号向量不变,得到的离散时间序列。实现如下:function f,k=lsdx(ff,kk)f=-ff;k=kk;stem(k,f,filled)axis(min(k)-1,max(

15、k)+1,min(f)-0.5,max(f)+0.5)这些时域变换,我们可以把我们在第一节中描述过的信号带入其中,来看看信号时域变换的结果如何。除此以外,我们通过时域变换也可以锻炼我们描述信号的能力,一些复杂信号,往往都是一些简单信号经过一系列的时域变换得到。三、实验内容1.分别用MATLAB的向量表示法和符号运算功能,表示并绘出下列连续时间信号的波形: 2.分别用MATLAB表示并绘出下列离散时间信号的波形: 3.已知信号f(t)的波形如下图所示,试用MATLAB绘出满足下列要求的信号波形。 (其中a的值分别为a0.5和a2) 4.已知两信号,求卷积积分,并与例题比较。5.已知两信号,求卷积

16、积分。6.已知,求两序列的卷积和 。实验二 LTI系统的响应一、实验目的1.熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2.熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3.熟悉应用MATLAB实现求解系统响应的方法二、实验原理1.连续时间系统对于连续的LTI系统,当系统输入为f(t),输出为y(t),则输入与输出之间满足如下的线性常系数微分方程:,当系统输入为单位冲激信号(t)时产生的零状态响应称为系统的单位冲激响应,用h(t)表示。若输入为单位阶跃信号(t)时,系统产生的零状态响应则称为系统的单位阶跃响应,记为g(t),如下图所示。系统的单位冲激响应h(t)包含了系统的

17、固有特性,它是由系统本身的结构及参数所决定的,与系统的输入无关。我们只要知道了系统的冲激响应,即可求得系统在不同激励下产生的响应。因此,求解系统的冲激响应h(t)对我们进行连续系统的分析具有非常重要的意义。在MATLAB中有专门用于求解连续系统冲激响应和阶跃响应, 并绘制其时域波形的函数impulse( ) 和step( )。如果系统输入为f(t),冲激响应为h(t),系统的零状态响应为y(t),则有:。若已知系统的输入信号及初始状态,我们便可以用微分方程的经典时域求解方法,求出系统的响应。但是对于高阶系统,手工计算这一问题的过程非常困难和繁琐。在MATLAB中,应用lsim( )函数很容易就

18、能对上述微分方程所描述的系统的响应进行仿真,求出系统在任意激励信号作用下的响应。lsim( )函数不仅能够求出连续系统在指定的任意时间范围内系统响应的数值解,而且还能同时绘制出系统响应的时域波形图。以上各函数的调用格式如下: impulse( ) 函数 函数impulse( )将绘制出由向量a和b所表示的连续系统在指定时间范围内的单位冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。 impulse(b,a) 以默认方式绘出由向量a和b所定义的连续系统的冲激响应的时域波形。 impulse(b,a ,t0) 绘出由向量a和b所定义的连续系统在0 t0时间范围内冲激响应的时域

19、波形。 impulse(b,a,t1:p:t2) 绘出由向量a和b所定义的连续系统在t1 t2时间范围内,并且以时间间隔p均匀取样的冲激响应的时域波形。 y=impulse(b,a,t1:p:t2) 只求出由向量a和b所定义的连续系统在t1 t2时间范围内,并且以时间间隔p均匀取样的冲激响应的数值解,但不绘出其相应波形。 step( ) 函数函数step( )将绘制出由向量a和b所表示的连续系统的阶跃响应,在指定的时间范围内的波形图,并且求出数值解。和impulse( )函数一样,step( )也有如下四种调用格式:step( b,a)step(b,a,t0)step(b,a,t1:p:t2)y=step(b,a,t1:p:t2) 上述调用格式的功能和impulse( )函数完全相同,所不同只是所绘制(求解)的是系统的阶跃响应g(t),而不是冲激响应h(t)。 lsim( )函数根据系统有无初始状态,lsim( )函数有如下两种调用格式:系统无初态时,调用lsim( )函数可求出系统的零状态响应,其格式如下: lsim(

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1