第5章 simulink建模与仿真1 (1)_第1页
第5章 simulink建模与仿真1 (1)_第2页
第5章 simulink建模与仿真1 (1)_第3页
第5章 simulink建模与仿真1 (1)_第4页
第5章 simulink建模与仿真1 (1)_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章 Simulink建模与仿真第五章 Simulink建模与仿真5.1绪论一一、系统与模型、系统与模型1 1、系统、系统系统是指具有某些特定功能,相互联系、相互作系统是指具有某些特定功能,相互联系、相互作用的元素集合。用的元素集合。系统的两个基本特征:整体性、相关性系统的两个基本特征:整体性、相关性对系统的研究从以下三个方面入手:对系统的研究从以下三个方面入手:1 1)实体:组成系统的元素,对象)实体:组成系统的元素,对象2 2)属性:实体的特征)属性:实体的特征3 3)活动:系统状态变化的过程)活动:系统状态变化的过程系统仿真是研究系统的一种重要手段,而系统模系统仿真是研究系统的一种重要

2、手段,而系统模型是仿真所研究的直接对象。型是仿真所研究的直接对象。2 2、系统模型、系统模型实体模型:根据相似性建立实体模型:根据相似性建立模型模型数学模型数学模型: :原始系统数学模型;仿真系统数学模型原始系统数学模型;仿真系统数学模型动态模型:描述系统动态变化过程动态模型:描述系统动态变化过程静态模型:平衡状态下系统特性值之间的关系静态模型:平衡状态下系统特性值之间的关系二、计算机仿真二、计算机仿真1 1、仿真的概念、仿真的概念以相似性原理、控制理论、信息技术及相关领域以相似性原理、控制理论、信息技术及相关领域的有关知识为基础,以计算机和各种专用物理设备为工的有关知识为基础,以计算机和各种

3、专用物理设备为工具,借助系统模型对真实系统进行实验研究的一门综合具,借助系统模型对真实系统进行实验研究的一门综合性技术。性技术。2 2、仿真分类、仿真分类实物仿真:建造实体模型实物仿真:建造实体模型数学模型:将数学语言编制成计算机程序数学模型:将数学语言编制成计算机程序半实体模型:数学物理仿真半实体模型:数学物理仿真实时仿真:需要专用的实时仿真硬件实时仿真:需要专用的实时仿真硬件欠实时仿真:比实际时钟慢欠实时仿真:比实际时钟慢超实时仿真:比实际时钟快超实时仿真:比实际时钟快3 3、计算机仿真、计算机仿真根据相似性原理,利用计算机逼真模拟研究对象。根据相似性原理,利用计算机逼真模拟研究对象。模拟

4、机、模拟数字机、数字通用机、仿真专用机。模拟机、模拟数字机、数字通用机、仿真专用机。三、仿真的作用三、仿真的作用1 1)优化系统设计)优化系统设计2 2)系统故障再现)系统故障再现3 3)验证系统设计的正确性)验证系统设计的正确性4 4)对系统,子系统进行性能评估)对系统,子系统进行性能评估5 5)训练系统操作员)训练系统操作员6 6)为管理、技术决策提供支持)为管理、技术决策提供支持四、仿真软件四、仿真软件仿真软件是一类面向仿真用途的专用软件,它可仿真软件是一类面向仿真用途的专用软件,它可以是面向通用的仿真,也可能是面向某个领域的仿真。以是面向通用的仿真,也可能是面向某个领域的仿真。功能:功

5、能:1 1)为仿真提供算法支持)为仿真提供算法支持2 2)模型描述,建立计算机仿真模型)模型描述,建立计算机仿真模型3 3)仿真实验的执行、控制)仿真实验的执行、控制4 4)仿真数据的记录、分析)仿真数据的记录、分析5 5)仿真数据管理)仿真数据管理仿真软件的三个层次:仿真软件的三个层次:1 1)仿真程序库:由一组完成特定功能的程序组成)仿真程序库:由一组完成特定功能的程序组成的集合,专门面向某一问题或一个领域。的集合,专门面向某一问题或一个领域。2 2)仿真语言:在高级语言的基础上,为面向专门)仿真语言:在高级语言的基础上,为面向专门问题而开发的。问题而开发的。3 3)集成仿真环境)集成仿真

6、环境五、计算机仿真的一般过程五、计算机仿真的一般过程仿真问题和仿真目的描述确定仿真方案系统描述建立系统数学模型建立仿真数学模型编写仿真程序验证模型是否符合要求进行仿真研究修改方案修改模型修改程序是否符合要求是否符合要求是否符合要求5.2 simulink与matlab仿真一、一、simulinksimulink仿真仿真对动态系统进行建模、仿真的软件包。功能:对动态系统进行建模、仿真的软件包。功能:1 1、交互式、图形化建模环境、交互式、图形化建模环境2 2、专用模块库(、专用模块库(blocksetsblocksets)simulinksimulink的专用软件工具包的专用软件工具包dspds

7、pfixed-pointfixed-pointpowersystempowersystemdials&gaugesdials&gaugescommunicationscommunicationsCDMA referenceCDMA referencenonlinear controlnonlinear controlmotorola(TI) DSP developers kit motorola(TI) DSP developers kit Toolboxes MATLAB compilerBlockset simulink RTWStateflow coder3 3、提供仿真

8、库的扩充和定制功能、提供仿真库的扩充和定制功能4 4、应用领域应用领域通信与卫星系统通信与卫星系统航空航天航空航天生物系统生物系统船舶系统船舶系统汽车系统汽车系统金融系统金融系统5 5、simulinksimulink在在matlabmatlab家族中的位置家族中的位置二、二、matlabmatlab函数仿真与函数仿真与simulinksimulink仿真的区别仿真的区别1 1、数据流仿真、数据流仿真按照数据流的顺序,依次执行,即处理的数据首按照数据流的顺序,依次执行,即处理的数据首先通过一个运算阶后在激活下一个运算阶。先通过一个运算阶后在激活下一个运算阶。例如:例如:m=16;m=16;n=

9、15;n=15;k=11;k=11;fc=10000;fc=10000;fd=1000;fd=1000;fs=100000;fs=100000;msg=randint(kmsg=randint(k* *100,1);100,1);code=encode(msg,n,k,bch);code=encode(msg,n,k,bch);modu=dmod(code,fc,fd,fs,qask,m);modu=dmod(code,fc,fd,fs,qask,m);modu_noise=modu+randn(length(modu),1);modu_noise=modu+randn(length(modu

10、),1);demo=ddemod(modu_noise,fc,fd,fs,qask,m);demo=ddemod(modu_noise,fc,fd,fs,qask,m);msg_r=decode(demo,n,k,bch);msg_r=decode(demo,n,k,bch);rate=biterr(msg,msg_r);rate=biterr(msg,msg_r);2 2、时间流仿真时间流仿真所有模块在同一时间步长上同时执行。所有模块在同一时间步长上同时执行。信号发生差错控制编码数字调制差错控制译码信宿时间数据5.3 simulink窗口环境简介标题栏菜单栏5.4 基于simulink的一个

11、简单仿真系统信源系统信宿模块介绍5.6 simulink的基本模块库1 1、simulinksimulink公共模块库公共模块库信源模块(信源模块(SourceSource)信宿模块(信宿模块(SinksSinks)信号路由(信号路由(Signal RoutingSignal Routing)数学运算模块库数学运算模块库(Math operationsMath operations)端口及子系统库(端口及子系统库(Ports and SubsystemsPorts and Subsystems)连续模块库(连续模块库(ContinuousContinuous)离散模块库(离散模块库(Discr

12、eteDiscrete)查表模块库(查表模块库(Look-Up TableLook-Up Table)用户定义函数模块(用户定义函数模块(User-Defined FunctionsUser-Defined Functions)非线性模块库(非线性模块库(DiscontinuitiesDiscontinuities)信源模块(信源模块(SourceSource)有限带宽白噪声输出频率随时间线性变换的正弦信号输出当前仿真时间常数输入以固定速率输出当前仿真时间从matlab工作空间中输入数据从.mat文件中输入数据接地信号为子系统或其它模型提供输入端口输入脉冲信号输入斜坡信号输入服从高司分布的随机

13、信号输入周期信号信号发生器信号产生正弦信号初始器输入阶跃信号输入服从高司分布的随机信号信宿模块(信宿模块(SinksSinks)以数值形式显示输入信号悬浮信号显示器为子系统或模型提供输出端口信号显示器当输入非零时停止仿真中断输出信号将仿真数据写入.mat文件将仿真数据输出到matlab工作空间使用matlab图形显示器信号路由(信号路由(Signal RoutingSignal Routing)Goto模块标记控制器将信号与特定的偏移值比较初始化信号矩阵串联器合并输入信号为一个输出模块控制信息信号组合器信号探测器信号维数改变器选择或重组信号信号属性修改输入信号宽度对信号进行分配由输入产生总线信

14、号总线信号选择器用户定义的数据存储区从数据存储区中读取数据向数据存储区写数据数据类型选择器信号分解器从goto模块中获得信号函数调用发生器向goto模块传递信号数学运算模块库数学运算模块库(Math operationsMath operations)求信号绝对值输出强制系统输入为零的代数状态按位逻辑运算逻辑真值查找输出输入复数的幅值与相位输出系统输入的的实部或需部点乘运算信号增益信号逻辑运算幅值与相位转化为复数形式特定的一些数学函数矩阵增益求输入的最小、大值乘法或除法器从输入实部与虚部构造复数关系运算器求整运算器符号运算渐变增益对输入求和或差三角与双曲函数端口及子系统库(端口及子系统库(Po

15、rts and SubsystemsPorts and Subsystems)可配置子系统原子子系统使能子系统使能触发For循环函数调用If条件条件执行子系统子系统输入子系统输出通用子系统Switch-case子系统Switch-case动作子系统上升沿触发触发子系统当型循环子系统连续信号数值积分输入信号连续时间积分线性连续系统的状态空间描述线性连续系统传递函数描述对输入信号进行固定时间延迟对输入信号进行可变时间延迟线性连续系统的零极点模型连续模块库(连续模块库(ContinuousContinuous)离散模块库(离散模块库(DiscreteDiscrete) 线性离散系统的传递函数描述线性

16、离散系统的零极点模型描述线性离散系统的滤波器描述线性离散系统的状态空间描述离散时间积分器离散信号的一阶保持器单步积分延迟,输出为前一输入单位延迟离散信号的零阶保持器表数据选择器(从表中选择数据)对输入信号进行内插运算输入信号的一维线性内插输入信号的二维线性内插输入信号的n维线性内插查找输入信号所在范围查表模块库(查表模块库(Look-Up TableLook-Up Table)求取输入信号的数学函数值M函数(对输入进行运算输出结果)S-函数模块S-函数生成器用户定义函数模块(用户定义函数模块(User-Defined FunctionsUser-Defined Functions)非线性模块库

17、(非线性模块库(DiscontinuitiesDiscontinuities)死区间歇库仑粘贴信号死区信号双输出选择器(手动)多端口输出选择器量化器信号上升、下降速率控制器信号延迟器饱和信号三路选择器(根据输入2控制输出)2 2、simulinksimulink专业模块库专业模块库5.7 仿真参数设置解算器仿真时间仿真解法误差容忍度输出设置仿真解法仿真解法变步长解法变步长解法定步长解法定步长解法discrere:针对无连续状态系统的特殊解法ode45:基于Dormand-Prince 4-5阶的Runge-Kutta公式ode23:基于Bogachi-Shampine 2-3阶的Runge-K

18、utta公式ode113:变阶次Adams-Bashforth-Moulton解法ode15s :钢性系统的变阶次多步解法ode23s :钢性系统的固定阶次单步解法discrere:针对无连续状态系统的特殊解法ode5: ode45确定步长的函数解法ode4:使用固定步长的经典4阶的Runge-Kutta公式的函数解法ode3: ode25的确定步长的函数解法ode2 :使用固定步长的经典2阶的Runge-Kutta公式的函数解法ode1 :固定步长的Euler解法输出选项输出选项Refine outputProduce additional outputProduce specified o

19、utput only5.8 子系统 建立子系统有助于简化系统结构,提高系统设建立子系统有助于简化系统结构,提高系统设计的层次性。计的层次性。一、子系统的概念一、子系统的概念 是系统构成的一部分,表现形式为具有几个输是系统构成的一部分,表现形式为具有几个输入输出端口的模块,内部结构在系统中不表现出来。入输出端口的模块,内部结构在系统中不表现出来。二、子系统分类二、子系统分类 无条件子系统无条件子系统 条件执行子系统条件执行子系统1 1、使能子系统、使能子系统2 2、触发子系统、触发子系统3 3、函数调用子系统、函数调用子系统 v建立子系统的方法:建立子系统的方法: 直接选中已有模块,形成子系统

20、添加一个Subsystem模块到模型中,然后进行编辑1 1、使能子系统、使能子系统 需要添加使能端,在使能信号为所需要状态时,系统才会激活运行使能子系统及对应内部结构v一个系统中不能含多个一个系统中不能含多个enableenable和和triggeredtriggered信号信号例题5-1:2 2、触发子系统、触发子系统 存在一个出发端,通过触发事件是否发生来控制子系统是否执行。 例题5-2:使能触发子系统及对应内部结构3 3、使能触发子系统、使能触发子系统4 4、其它子系统、其它子系统 端口和模块库中有很多类型的子系统,其建立方式也各不相同,有兴趣的同学可以自己查阅三、子系统的封装三、子系统

21、的封装封装子系统的特点:封装子系统的特点:1 1)自定义系统模块及图表)自定义系统模块及图表2 2)用户双击子系统图表将弹出参数设置框)用户双击子系统图表将弹出参数设置框3 3)可自定义子系统的帮助文件)可自定义子系统的帮助文件4 4)拥有自己的工作区)拥有自己的工作区使用子系统封装技术的优点:使用子系统封装技术的优点:1 1)向子系统模块中传递参数)向子系统模块中传递参数2 2)“隐藏隐藏”子系统中不需要过多展现的内容子系统中不需要过多展现的内容3 3)保护子系统中的内容,防止模块实现被随意篡改。)保护子系统中的内容,防止模块实现被随意篡改。1 1、封装编辑器之图表编辑对话框、封装编辑器之图

22、表编辑对话框首先封装后,再选中子系统图表,执行首先封装后,再选中子系统图表,执行edit/edit mask edit/edit mask 。图表显示界面控制参数子系统模块图表绘制命令1 1)图表显示界面控制参数)图表显示界面控制参数 icon framicon fram:设置图表边框为可见或不可见设置图表边框为可见或不可见 icon transparency:icon transparency:设置图表为透明或不透明设置图表为透明或不透明 icon rotation:icon rotation:设置图表为固定或可旋转显示设置图表为固定或可旋转显示 drawing coordinates:dr

23、awing coordinates:设置图表绘制命令所使用的坐设置图表绘制命令所使用的坐标系单位标系单位2 2)图表绘制命令栏)图表绘制命令栏2 2、封装编辑器之参数设置对话框、封装编辑器之参数设置对话框参数设置控制参数描述参数对应变量参数设置列表1 1)参数控制设置)参数控制设置2 2)参数描述:对模块输入的参数作简单的说明)参数描述:对模块输入的参数作简单的说明3 3)参数对应变量:键入的参数值将传递给封装后的子系统工)参数对应变量:键入的参数值将传递给封装后的子系统工作空间中相对应的变量,因此要求此处的变量名应和子系统中作空间中相对应的变量,因此要求此处的变量名应和子系统中所使用的变量具

24、有相同的名称所使用的变量具有相同的名称4 4)参数设置描述)参数设置描述 control typecontrol type:editedit:需要用户键入参数值需要用户键入参数值 checkbox:checkbox:复选框复选框 popuppopup:参数选项(用参数选项(用| |隔开)隔开) assignmentassignment:参数分配类型(参数分配类型(evaluate:evaluate:求值字符串求值字符串 literalliteral:普通文字)普通文字)3 3、封装编辑器之初始化设置对话框、封装编辑器之初始化设置对话框初始化命令 initialization commandsi

25、nitialization commands(初始化命令栏)初始化命令栏)一般为一般为matlabmatlab命令,在此可定义封装后子系统工作空间命令,在此可定义封装后子系统工作空间中的各种变量,这些变量可以被封装子系统模块图标绘制命令、中的各种变量,这些变量可以被封装子系统模块图标绘制命令、其它初始化命令或子系统中的模块使用。其它初始化命令或子系统中的模块使用。当出现以下情况时,初始化命令被执行:当出现以下情况时,初始化命令被执行: 模型文件被载入模型文件被载入 框图被更新或模块被旋转框图被更新或模块被旋转 绘制封装子系统模块图标时绘制封装子系统模块图标时4 4、封装编辑器之文档对话框、封装

26、编辑器之文档对话框封装类型帮助封装描述1 1)封装类型:对封装后的子系统进行简短的说明,用)封装类型:对封装后的子系统进行简短的说明,用于标志该子系统于标志该子系统2 2)封装描述:用于设定描述信息)封装描述:用于设定描述信息3 3)帮助)帮助例题5-35.9 建立私有模块库步骤:步骤:1 1)在)在simulinksimulink中执行中执行ile/new/libraryile/new/library2 2)将用户定义的模块或是其它模块库将用户定义的模块或是其它模块库中的模块移动到新的模块库中。中的模块移动到新的模块库中。3 3)保存新的模块库)保存新的模块库一、建立复杂系统模型一、建立复杂

27、系统模型自下向上的设计思路自下向上的设计思路自顶向下的设计思路自顶向下的设计思路补补 充充二、使用工作空间变量设置系统模块参数二、使用工作空间变量设置系统模块参数三、将信号输出到三、将信号输出到workspaceworkspace四、从四、从workspaceworkspace中产生信号源中产生信号源五、向量与矩阵五、向量与矩阵.8 . 0, 0,)(10)(,81. 9,15)(00vvhwhendttvthggdttvtt结果如下:上图为v(t), 下图为h(t).第七章第七章SimulinkSimulink建模和仿真建模和仿真 7.4 系统仿真举系统仿真举例例n7.4.1非线性系统的模拟

28、非线性系统的模拟n例7.4.1 汽车行驶如图7.4.1所示的斜坡上通过受力分析可知在平行于斜面的方向上有三个力作用于汽车上:发动机的力、空气阻力和重力沿斜面的分量下滑力。设计汽车控制系统并进行仿真。xeFwFhF图图7.4.1 7.4.1 斜坡上的汽车斜坡上的汽车 由牛顿第二定律,汽车的运动方程为:hweFFFxm eFKgFe100,10002000汽车的质量为假设其中m代表汽车的质量,x为汽车的位移。 在实际系统中总会有下界和上界,上界为发动机的最大推动力,下界为刹车时的最大制动力。第七章第七章SimulinkSimulink建模和仿真建模和仿真 7.4 系统仿真举例系统仿真举例n空气阻力

29、的值为阻力系数,汽车前截面积A和动力学压力P三项的乘积。其中n其中,表示空气的密度,表示汽车速度与风速之和。n假设n且风速以下式的规律变化:n因此,空气阻力可以近似为:n下面假设马路的斜角于位移的变化率符合规律:n则下滑力为:n用简单的比例控制法来控制车速:n其中, 为驱动力, 为期望速度值, 为反馈增益。这样驱动力正比于速度误差。实际中的驱动力是在上面所设的上下界中变化。于是选 。此系统的Simulink模型如图7.4.2所示,仿真时间为1000s。22VP001.02ACDtVw011.0sin102011. 0sin20001. 0txFwx0001.0sin0093.0 xFh0001

30、.0sin30 xxKFdesiredeccFdesiredx eK50eK第七章第七章SimulinkSimulink建模和仿真建模和仿真 7.4 系统仿真举例系统仿真举例比例控制器的输入为汽车的期望速度值,它由一个滑块增益模块(Slider Gain)外加一个常数输入模块(Constant)组成。比例控制器由一个用来计算速度误差的求和模块(Sum)和一个增益模块Ke组成。发动机输出力的上界和下界由两个最值模块来实现(也可以用非线性模块库中的饱和模块来实现)。 图图7.4.2 7.4.2 比例速比例速度控制度控制的汽车的汽车模型模型第七章第七章SimulinkSimulink建模和仿真建模和仿真 7.4 系统仿真举例系统仿真举例n非线性的下滑力和空气阻力分别由函数模块来计算。其中标签为Aero Force 的函数模块的对话框中的【Expression】区中应填写0。001*(u1+20*sin(0.01*u2)2,标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论