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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

信号与系统实验.docx

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

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

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

4、:0.1:10;%定义时间t的取值范围及取样间隔(p=0.1),t2是一个维数为201的行向量f2=sin(t2). /t2;%定义信号表达式,求出对应采样点上的样值,同时生成与向量t2维数相同的行向%量f2figure(2); %打开图形窗口2plot(t2,f2);%以t2为横坐标,f2为纵坐标绘制f2的波形运行结果如下:图1-1图1-2说明: plot是常用的绘制连续信号波形的函数。 严格说来,MATLAB不能表示连续信号,所以,在用plot()命令绘制波形时,要对自变量t进行取值,MATLAB会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此

5、,绘制的只是近似波形,而且,其精度取决于t的取样间隔。t的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。 在上面的f=sin(t). /t语句中,必须用点除符号,以表示是两个函数对应点上的值相除。 符号运算表示法如果一个信号或函数可以用符号表达式来表示,那么我们就可以用前面介绍的符号函数专用绘图命令ezplot()等函数来绘出信号的波形。例如:对于连续信号,我们也可以用符号表达式来表示它,同时用ezplot()命令绘出其波形。其M

6、ATLAB程序如下: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)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。例用MATLAB画出单位阶跃信号的波形,其程序如下:ut=sym(Heaviside(t); %定义单位阶跃信号(要用符号函数定义法)ezplot(ut,-2,10) %绘制单位阶跃信号在-210范围之间的波形运行结果如下:例用M

8、ATLAB画出信号的波形其程序如下:f=sym(Heaviside(t+2)-3*Heaviside(t-5); %定义函数表达式ezplot(f,-4,20) %绘制函数在-210范围之间的波形运行结果如下: 方法二:数值计算法在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数。其调用格式为:stepfun(t,t0) 其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及取样间隔设定为整数即可达到。有关单位阶跃序列

9、的表示方法,我们后面有专门论述,下面通过一个例子来说明如何调用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

10、=2; %指定信号发生突变的时刻u2=stepfun(t,t2); %产生右移位的阶跃信号(t-2)g=u1-u2; %表示门函数plot(t,g) %绘制门函数的波形axis(-4,4,-0.5,1.5) %设定坐标轴范围-4x4 ,-0.5y=0)-(nf=1); % 序列f(n)的值nh=0:p:2; % h(t)对应的时间向量h=(nh=0)-(nh=2); % 序列h(n)的值y,k=sconv(f,h,nf,nh,p); % 计算y(t)=f(t)*h(t)subplot(3,1,1),stairs(nf,f); % 绘制f(t)的波形 title(f(t);axis(0 3 0

11、2.1);subplot(3,1,2),stairs(nh,h); % 绘制h(t)的波形title(h(t);axis(0 3 0 1.1);subplot(3,1,3),plot(k,y); % 绘制y(t)=f(t)*h(t)的波形title(y(t)=f(t)*h(t);axis(0 3 0 2.1);子程序 sconv.m% 此函数用于计算连续信号的卷积y(t)=f(t)*h(t) function y,k=sconv(f,h,nf,nh,p) % y:卷积积分y(t)对应的非零样值向量 % k:y(t)对应的时间向量 % f:f(t)对应的非零样值向量 % nf:f(t)对应的时间

12、向量 % h:h(t)对应的非零样值向量 % nh:h(t)对应的时间向量 % p:取样时间间隔 y=conv(f,h); % 计算序列f(n)与h(n)的卷积和y(n) y=y*p; % y(n)变成y(t)left=nf(1)+nh(1) % 计算序列y(n)非零样值的起点位置 right=length(nf)+length(nh)-2 % 计算序列y(n)非零样值的终点位置k=p*(left:right); % 确定卷积和y(n)非零样值的时间向量2.3 实现卷积,其中: m22.mp=0.01; % 取样时间间隔 nf=0:p:2; % f(t)对应的时间向量f=2*(nf=0)-(n

13、f=2); % 序列f(n)的值nh=0:p:4; % h(t)对应的时间向量h=exp(-nh); % 序列h(n)的值y,k=sconv(f,h,nf,nh,p); % 计算y(t)=f(t)*h(t)subplot(3,1,1),stairs(nf,f); % 绘制f(t)的波形 title(f(t);axis(0 6 0 2.1);subplot(3,1,2),plot(nh,h); % 绘制h(t)的波形title(h(t);axis(0 6 0 1.1);subplot(3,1,3),plot(k,y); % 绘制y(t)=f(t)*h(t)的波形title(y(t)=f(t)*h

14、(t);axis(0 6 0 2.1);运行结果:三、 实验内容1已知两信号,求卷积,并与例题比较。2. 已知两信号,求卷积。四、 实验报告要求1 简述实验目的和原理。 4 记录实验结果。2 理论上计算信号的卷积积分。 5. 收获与建议3 写出程序清单。实验三 连续时间信号的频域分析一、实验目的1 熟悉傅里叶变换的性质2 熟悉常见信号的傅里叶变换3 了解傅里叶变换的MATLAB实现方法二、实验原理傅里叶变换是信号分析的最重要的内容之一。从已知信号求出相应的频谱函数的数学表示为:的傅里叶变换存在的充分条件是在无限区间内绝对可积,即满足下式:但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之

15、后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。 傅里叶反变换的定义为:。在这一部分的学习中,大家都体会到了这种数学运算的麻烦。在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。在MATLAB中实现傅里叶变换的方法有两种,一种是利用MATLAB中的Symbolic Math Toolbox提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法。下面分别介绍这两种实现方法的原理。1、直接调用专用函数法在MATLAB中实现傅里叶变换的函数为: F=fourier( f ) 对f(t)进行傅里叶变换,其结果为F

16、(w)傅里叶反变换 f=ifourier( F ) 对F(w)进行傅里叶反变换,其结果为f(x) 由于MATLAB中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp命令。如在命令窗口键入:mhelp fourier回车,则会得到fourier的意义和用法。注意:(1) 在调用函数fourier( )及ifourier( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对fourier( )中的f及ifourier( )中的F也要用符号定义符sym将其说明为符号表达式。(2) 采用fourier( )及fourier( )得到

17、的返回函数,仍然为符号表达式。在对其作图时要用ezplot( )函数,而不能用plot()函数。(3) fourier( )及ifourier( )函数的应用有很多局限性,如果在返回函数中含有()等函数,则ezplot( )函数也无法作出图来。另外,在用fourier( )函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了。这是fourier( )函数的一个局限。另一个局限是在很多场合,尽管原时间信号f(t)是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值

18、。例:求门函数的傅里叶变换,并画出幅度频谱图MATLAB程序如下:syms t w %定义两个符号变量t,wGt=sym(Heaviside(t+1)-Heaviside(t-1); %产生门宽为2的门函数Fw=fourier(Gt,t,w); %对门函数作傅氏变换求F(jw)FFw=maple(convert,Fw,piecewise);%数据类型转换,调用函数convert,将Fw转换为piecewiseFFP=abs(FFw); %求振幅频谱| F(jw)|ezplot(FFP,-10*pi 10*pi);grid; %绘制函数图形,并加网格axis(-10*pi 10*pi 0 2.2) %限定坐标轴范围运行结果:例:求函数的傅里叶反变换f(t) MATLAB程序如下:syms t w

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

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