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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

MATLAB实验SIMULINK仿真.doc

1、实验九 SIMULINK 仿真一、实验目的SIMULINK 是一个对动态系统(包括连续系统、离散系统和混合系统)进行建模、仿真和综合分析的集成软件包,是 MATLAB 的一个附加组件,其特点是模块化操作、易学易用,而且能够使用 MATLAB 提供的丰富的仿真资源。在 SIMULINK 环境中,用户不仅可以观察现实世界中非线性因素和各种随机因素对系统行为的影响,而且也可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。因此 SIMULINK 已然成为目前控制工程界的通用软件,而且在许多其他的领域,如通信、信号处理、DSP、电力、金融、生物系统等,也获得重要应用。对于信息类专业的学生来说,

2、无论是学习专业课程或者相关课程设计还是在今后的工作中,掌握 SIMULINK,就等于是有了一把利器。本次实验的目的就是通过上机训练,掌握利用 SIMULINK 对一些工程技术问题(例如数字电路)进行建模、仿真和分析的基本方法。二、实验预备知识1. SIMULINK 快速入门在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入计算机,对其进行进一步的分析与仿真。1990 年,Math Works 软件公司为 MATLAB 提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件

3、进入了模型化图形组态阶段。但因其名字与当时比较著名的软件 SIMULA 类似,所以 1992 年正式将该软件更名为 SIMULINK。SIMULINK 的出现,给控制系统分析与设计带来了福音。顾名思义,该软件的名称表明了该系统的两个主要功能:Simu(仿真)和 Link(连接) ,即该软件可以利用系统提供的各种功能模块并通过信号线连接各个模块从而创建出所需要的控制系统模型,然后利用 SIMULINK 提供的功能来对系统进行仿真和分析。 SIMULINK 的启动首先启动 MATLAB,然后在 MATLAB 主界面中单击上面的 Simulink 按钮 或在命令窗口中输入 simulink 命令。命

4、令执行之后将弹出 simulink 的模块库浏览器,如图 1 所示。 SIMULINK 的模块库Simulink 的模块库有两部分组成:基本模块和各种应用工具箱。 系统提供的应用工具箱有:Communications Blockset(通信模块集) Control System Toolbox(控制系统工具箱)Dials t=t;u=sin(t),cos(t);xInitial=0 1;后运行上述模型即可从 Matlab 的工作空间获得信号输入与结果输出。(2)Initial state:用来设置系统状态变量的初始值。初始值 xInitial 可为列向量。注意:使用 xInitial stat

5、e 所设置的状态变量初始值会自动覆盖系统模块中的设置。 仿真结果输出到 MATLAB 的工作空间(Save to workspace)此选项可以将系统的仿真结果、系统仿真时刻、系统中的状态或指定的信号输出到MATLAB 的工作空间中,以便用户对其进行定量分析,如下所述:(1)Time:输出系统仿真时刻。(2)States:输出系统模型中的所有状态变量。(3)Output:输出系统模型中的所有由 Output 模块(即 Out1 模块)表示的信号。(4)Final state:输出系统模型中的状态变量的最终取值,即最后仿真时刻处的状态值。 存储选项(Save option)(1)Limit da

6、ta points to last:表示输出数据的长度(从信号的最后数据点记起) 。对于向量而言即其维数,对于矩阵而言即其秩。(2)Format:表示输出数据类型。共有三种形式:Structure with Time(带有仿真时间变量的结构体) 、Structure(不带仿真时间变量的结构体) 、Array(信号数组) 。(3)Decimation: 设定了一个亚采样因子,它的缺省值为 1,也就是对每一个仿真时间点产生值都保存,而若为 2,则是每隔一个仿真时刻才保存一个值。(4)Output options:输出选项,包含3个可选项 Refine output(细化输出):可以增加输出数据的点

7、数,使得输出数据更加平滑。一般当仿真输出太稀松时,使用此选项。与该选项配套的参数设置是 refine factor(细化因子) ,若细化因子定为 2,则输出数据点数加倍,若为 3 则输出 3倍的数据点数,依次类推,默认值是 1。通常要产生更光滑的输出曲线,通过改变精细因子比减小仿真步长更有效。精细输出只能在变步长模式中才能使用,并且在 ode45 效果最好。 Produce additional output:它允许用户直接指定产生输出的时间点。一旦选择了该项,则在它的右边出现一个 output times 编辑框,在这里用户指定额外的仿真输出点,它既可以是一个时间向量,也可以是表达式。与精细

8、因子相比,这个选项会改变仿真的步长。 Produce specified output only:它的意思是让 simulink 只在指定的时间点上产生输出。为此解法器要调整仿真步长以使之和指定的时间点重合。这个选项在比较不同的仿真时可以确保它们在相同的时间输出。5. 启动仿真设置仿真参数和选择解法器之后,就可以启动仿真而运行。方法: 选择 Simulink 菜单下的 start 选项来启动仿真,如果模型中有些参数没有定义,则会出现错误信息提示框。如果一切设置无误,则开始仿真运行。下面给出一个实际的建模仿真的例子。例 2:一个生长在罐中的细菌的简单模型假定细菌的出生率和当前细菌的总数成正比,死

9、亡率和当前的总数的平方成正比。若以 x 代表当前细菌的总数,则细菌的出生率可表示为:birth_rate = bx细菌的死亡率可表示为:death_rate = px2细菌总数的总变化率可表示为出生率与死亡率之差。因此系统可用如下微分方程表示: (1)xbp假定,b=1/hour;p= 0.5/hour,当前细菌的总数为 100,计算一个小时后罐中的细菌总数。模型分析: 首先,这是一个一阶系统,因此用一个解微分方程的积分模块是必要的。积分模块的输入为 (也即 1 式的右边项) ,输出为 x:x其次,需要一个乘法模块(Product)以实现 x2,需要 2 个增益模块(Gain)来实现 px2

10、和bx(即分别将 x2 和 x 增益 p 和 b 倍) ,需要一个求和模块( Sum)实现 bx- px2。最后需要一个示波器模块(Scope)用于显示输出。所需各模块如下图所示:Sum ScopeProduct1sIntegrator1Gain21Gain1步骤一:新建模型窗口依次单击 simulink 库浏览器的“File”菜单New Model,建立一个新的模型窗口;步骤二:选择功能模块从连续系统模块库(Continuous)中拖放一个积分模块到模型窗口,从数学库(Math )中分别拖放一个乘法模块、一个增益模块、一个求和模块到模型窗口;最后从显示输出库(Sinks)拖放一个示波器模块到

11、模型窗口。在模型窗口中选中增益模块(Gain) ,按住 Ctrl 键的同时拖动鼠标,在适当的位置释放,即可复制出第二个增益模块。 最后将以上各模块进行合理布局,如上图所示。步骤三:信号线连接按照前述的方法将各模块之间连接起来,如下图所示:Sum ScopeProduct1sIntegrator1Gain21Gain1步骤四:模块参数的设置按下图所示设置模块的运行参数:其它的仿真参数采用系统默认值即可。仿真的起始时间默认为 0,终止时间默认为10.0。若需要改变仿真时间,可打开仿真参数设置对话框(SimulationConfiguration Parameters) ,设置 【Star time

12、】和【Stop time 】即可。步骤五:保存模型步骤六:运行仿真点击模型窗口中的 按钮,运行仿真。仿真结束后,双击示波器模块,可观察到仿真的结果曲线,如右图示。6. 模型的注释使用模型注释可以使模型更易读懂,其效果如同 MATLAB 程序中的注释行一样。对于经常使用 Simulink 的用户,养成经常使用注释的习惯是非常重要的。 增加注释的方法在模型窗口中的任何想要注释的部位上双击鼠标,将会出现一个编辑框,在该框内输入想要注释的内容即可。 改变注释字体要改变注释内容的字体,先选中注释,选择模型窗口菜单中的【Format Font】选项,就会出现一个字体选择的对话框,选中认为合适的字体,然后按

13、【OK 】 。7. 模型拷贝到Word文档在simulink中创建的模型要想复制到word文档,可依次点击模型窗口下的菜单EditCopy Model to Clipboard,然后在word 文档中粘贴即可。三、实验内容本次实验任务是学习使用Simulink对数字电路进行仿真和设计8线3线编码器的设计。所谓8线3线编码器是指有8个信号输入端和3个输出端的编码器,其功能是对输入的8个信号进行编码,输出3个二进制数。8线3线编码器的真值表如下:表一: 8线3线编码器真值表输入信号 输出信号J0 J1 J2 J3 J4 J5 J6 J7 Y0 Y1 Y20111111110111111110111

14、111110111111110111111110111111110111111110000011110011001101010101根据真值表写出输入输出间的逻辑函数如下: Y0J4567123下面使用Simulink来实现这个数字电路系统,一共分三个步骤:步骤一:添加模块首先按照前述方法建立新的模型窗口,然后将本次仿真需要的模块添加到模型中。这里一共需要三种模块: 逻辑运算模块与非门(3个),用于实现编码器输入信号间的逻辑运算功能; 离散脉冲源(8个),用于8个端口的脉冲信号输入; 示波器(3个),用于显示输出的信号;上述各模块在simulink 模块库中的位置:与非门模块(即Logical

15、 Operator):simulink模块库Logic and Bit Operations子库;离散脉冲源模块(Pulse Generator ):simulink 模块库Sources子库;示波器模块(Scope):simulink 模块库Sinks子库;按照上述位置,找到相应模块,将其复制到模型窗口当中,如下图所示:下面将模块的数量凑齐。(a) 单击逻辑运算模块(Logical Operator)的名称,将其更名为Y0,以方便识别,接着选中该模块,按住Ctrl键,同时拖动鼠标到新的位置释放,此时将复制出一个名为 Y1的逻辑模块,按照此法,再复制出Y2;(b) 将脉冲源的名字改为J0,按后

16、按住 Ctrl键拖动7次,可得到8个离散脉冲源,名字分别是J0、J1 、J7 ;最后依次法将示波器复制3个,这样所需的模块数量都已备齐。再将这些模块适当布局,如下图所示:步骤二:修改模块参数(a) 首先双击逻辑模块Y0,打开模块参数设置对话框,如下图所示。将参数Operator修改为“NAND(与非)”,输入节点数(Number of input ports)修改为4,然后单击OK;其它两个逻辑模块Y1和Y2也做同样修改。(b) 双击示波器模块Scope1,在打开一个界面中,点击Parameter图标(如左下图所示),可以打开示波器的参数设置对话框,将坐标轴的数目(Number of axes

17、)修改为3,这样做的目的是同时显示3幅图形(即3个与非门的输出信号波形)。同样地,将另外两个示波器Scope2和Scope3的坐标轴数目修改为4。(c) 最后修改脉冲源的属性。双击脉冲源 J0,弹出模块的参数设置对话框,如图所示。选择脉冲类型(Pulse type )为“基于采样(Sample based)”。接下来有5个参数需要设置,分别解释如下:Amplitude 脉冲信号的幅度Period 脉冲信号的周期(以样本数为单位)Pulse width 脉冲宽度(即电平为1的时间,以样本数为单位)Pulse delay 相位延迟(以样本数为单位)Sample time 采样时间长度观察本例的真值

18、表,注意到信号J0J7的长度为8,且J0到J7依次为低电平,所以将J0到J7的周期设为8,脉冲宽度设为7,相位延迟依次设为-7到 0,脉冲幅度和采样时间使用默认值。这样在零时刻,J0为低电平,其余输入为高电平;经过一个采样时间后,J1变为低电平,如此持续下去,到第7个采样时间,J7就变为低电平,实现了设计要求。点击该图标步骤三:连线及仿真根据逻辑表达式,J4、J5、J6、J7连接到Y0的输入端,J2、J3、J6、J7连接到Y1的输入端,J1 、J3 、 J5、J7连接到 Y2的输入端,然后用示波器Scope1监视Y2、Y1 、Y0的输出;另外将J0J3连接到 Scope2、J4J7连接到Scope3,以监视J0J7这8个波形,结果如下图所示:连接完成后,即可运行仿真(仿真参数采用默认设置即可)。仿真结束后,双击Scope1Scope3观察波形结果,如下所示。上图是编码器的输出波形,图中可以看出,输出的三位二进制码(Y2Y1Y0)依次是:000、001、010、011、100、101、110、111,实现了编码的功能。Scope2显示J0J3的输入波形:Scope3显示J4J7的输入波形:从上面2个图可以看到,J0J7以8为周期,依次出现0电平。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报