为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 叫你一声老公.doc

叫你一声老公.doc

2018-08-11 13页 doc 85KB 56阅读

用户头像

is_654168

暂无简介

举报
叫你一声老公.doc叫你一声老公.doc 实验二 连续信号时域分析的MATLAB实现 一. 实验目的 1. 熟悉MATLAB软件平台; 2. 掌握MATLAB编程方法、常用语句和可视化绘图技术; 3. 编程实现常用信号及其运算MATLAB实现方法。 二. 实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用和来表示。若对信号进行时域分析,就需要绘制ft()fk() 其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功...
叫你一声老公.doc
叫你一声老公.doc 实验二 连续信号时域分析的MATLAB实现 一. 实验目的 1. 熟悉MATLAB软件平台; 2. 掌握MATLAB编程方法、常用语句和可视化绘图技术; 3. 编程实现常用信号及其运算MATLAB实现方法。 二. 实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用和来示。若对信号进行时域分析,就需要绘制ft()fk() 其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据MATLAB的数值计算功能和符号运算功能,在MATLAB中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB语句表示出信号后,就可以利用MATLAB中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB表示及其波形绘制方法。 1.连续时间信号 所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB并不能处理连续信号。在MATLAB中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB中连续信号可用向量或符号运算功能来表示。 ? 向量表示法 对于连续时间信号,可以用两个行向量f和t来表示,其中向量t是用形如ft()ttpt,::12的命令定义的时间范围向量,其中,为信号起始时间,为终止时间,p为时间间隔。向量tt21 f为连续信号ft()在向量t所定义的时间点上的样值。例如:对于连续信号 sin()t ,我们可以将它表示成行向量形式,同时用绘图命令plot()函数绘制其ftSat()(),,t 波形。其程序如下: t1=-10:0.5:10; %定义时间t的取值范围:-10~10,取样间隔为0.5, %则t1是一个维数为41的行向量 f1=sin(t1)./t1; %定义信号表达式,求出对应采样点上的样值, %同时生成与向量t1维数相同的行向量f1 figure(1); %打开图形窗口1 48 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 说明: 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语句中,必须用点除符号,以表示是两个函数对应点上的值相除。 ? 符号运算表示法 如果一个信号或函数可以用符号表达式来表示,那么我们就可以用符号函数专用绘图命 sin()t令ezplot()等函数来绘出信号的波形。例如:对于连续信号,我们也可ftSat()(),,t以用符号表达式来表示它,同时用ezplot()命令绘出其波形。其MATLAB程序如下: syms t; %符号变量说明 f=sin(t)/t; %定义函数表达式 ezplot(f,[-10,10]); %绘制波形,并且设置坐标轴显示范围 运行结果如下: 49 图2 ? 常见信号的MATLAB表示 对于普通的信号,应用以上介绍的两种方法即可完成计算函数值或绘制波形,但是对于一些比较特殊的信号,比如单位阶跃信号、符号函数sgn(t)等,在MATLAB中这些信号,()t 都有专门的表示方法。 单位阶跃信号 10t,,单位阶跃信号的定义为: ,单位阶跃信号是信号分析的基本信号之一,,()t,,00t,, 在信号与系统分析中有着非常重要的作用,通常,我们用它来表示信号的定义域,简化信号的时域表示形式。例如:可以用两个不同延时的单位阶跃信号来表示一个矩形门信号,即: Gttt()(1)(1),,,,,,2 在MATLAB中,可通过多种方法得到单位阶跃信号,下面分别介绍。 方法一: 调用Heaviside(t)函数 在MATLAB的Symbolic Math Toolbox 中,有专门用于表示单位阶跃信号的函数,即Heaviside(t)函数,用它即可方便地表示出单位阶跃信号以及延时的单位阶跃信号,并且可以方便地参加有关的各种运算过程。 首先定义函数Heaviside(t) 的m函数文件,该文件名应与函数名同名即Heaviside.m。 function y=Heaviside(t) y=(t>0); 例? 用MATLAB画出单位阶跃信号的波形,其程序如下: ut=sym('Heaviside(t)'); %定义单位阶跃信号(要用符号函数定义法) ezplot(ut,[-2,10]) %绘制单位阶跃信号在-2,10范围之间的波形 运行结果如下: 50 图3 例? 用MATLAB画出信号的波形 fttt()(2)3(5),,,,,, 其程序如下: f=sym('Heaviside(t+2)-3*Heaviside(t-5)'); %定义函数表达式 ezplot(f,[-4,20]) %绘制函数在-4,20范围之间的波形 运行结果如下: 图4 方法二:数值计算法 在MATLAB中,有一个专门用于表示单位阶跃信号的函数,即stepfun( )函数,它是用数值计算法表示的单位阶跃函数。其调用格式为: ,()t stepfun(t,t0) 其中,t是以向量形式表示的变量,t0表示信号发生突变的时刻,在t0以前,函数值小于零,t0以后函数值大于零。有趣的是它同时还可以表示单位阶跃序列,这只要将自变量以及,()k取样间隔设定为整数即可。有关单位阶跃序列的表示方法,我们后面有专门论述,下面,()k 通过一个例子来说明如何调用stepfun( )函数来表示单位阶跃函数。 例? 用stepfun( )函数表示单位阶跃信号,并绘出其波形 程序如下: t=-1:0.01:4; %定义时间样本向量 t0=0; %指定信号发生突变的时刻 ut=stepfun(t,t0); %产生单位阶跃信号 plot(t,ut) %绘制波形 axis([-1,4,-0.5,1.5]) %设定坐标轴范围 运行结果如下: 图5 51 例? 绘出门函数的波形 fttt()(2)(2),,,,,, 程序如下: 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
/
本文档为【叫你一声老公.doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索