第三章-matlab的simulink建模与仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章matlab的simulink建模与仿真3.1绪论一、系统与模型1、系统系统是指具有某些特定功能,相互联系、相互作用的元素集合。系统的两个基本特征:整体性、相关性对系统的研究从以下三个方面入手:1)实体:组成系统的元素,对象2)属性:实体的特征3)活动:系统状态变化的过程系统仿真是研究系统的一种重要手段,而系统模型是仿真所研究的直接对象。2、系统模型实体模型:根据相似性建立模型数学模型:原始系统数学模型;仿真系统数学模型动态模型:描述系统动态变化过程静态模型:平衡状态下系统特性值之间的关系二、计算机仿真1、仿真的概念以相似性原理、控制理论、信息技术及相关领域的有关知识为基础,以计算机和各种专用物理设备为工具,借助系统模型对真实系统进行实验研究的一门综合性技术。2、仿真分类实物仿真:建造实体模型数学模型:将数学语言编制成计算机程序半实体模型:数学物理仿真实时仿真:需要专用的实时仿真硬件欠实时仿真:比实际时钟慢超实时仿真:比实际时钟快3、计算机仿真根据相似性原理,利用计算机逼真模拟研究对象。模拟机、模拟数字机、数字通用机、仿真专用机。三、仿真的作用1)优化系统设计2)系统故障再现3)验证系统设计的正确性4)对系统,子系统进行性能评估5)训练系统操作员3)为管理、技术决策提供支持四、仿真软件仿真软件是一类面向仿真用途的专用软件,它可以是面向通用的仿真,也可能是面向某个领域的仿真。功能:1)为仿真提供算法支持2)模型描述,建立计算机仿真模型3)仿真实验的执行、控制4)仿真数据的记录、分析5)仿真数据管理仿真软件的三个层次:1)仿真程序库:由一组完成特定功能的程序组成的集合,专门面向某一问题或一个领域。2)仿真语言:在高级语言的基础上,为面向专门问题而开发的。3)集成仿真环境五、计算机仿真的一般过程仿真问题和仿真目的描述确定仿真方案系统描述建立系统数学模型建立仿真数学模型编写仿真程序验证模型是否符合要求进行仿真研究修改方案修改模型修改程序是否符合要求是否符合要求是否符合要求3.2simulink与matlab仿真一、simulink仿真对动态系统进行建模、仿真的软件包。功能:1、交互式、图形化建模环境2、交互式仿真环境3、专用模块库(blocksets)simulink的专用软件工具包dspfixed-pointpowersystemdials&gaugescommunicationsCDMAreferencenonlinearcontrolmotorola(TI)DSPdeveloper’skitToolboxesMATLABcompilerBlocksetsimulinkRTWStateflowcoder4、提供仿真库的扩充和定制功能5、应用领域通信与卫星系统航空航天生物系统船舶系统汽车系统金融系统3、simulink在matlab家族中的位置二、matlab函数仿真与simulink仿真的区别1、数据流仿真按照数据流的顺序,依次执行,即处理的数据首先通过一个运算阶后在激活下一个运算阶。例如:m=13;n=15;k=11;fc=10000;fd=1000;fs=100000;msg=randint(k*100,1);code=encode(msg,n,k,'bch');modu=dmod(code,fc,fd,fs,'qask',m);modu_noise=modu+randn(length(modu),1);demo=ddemod(modu_noise,fc,fd,fs,'qask',m);msg_r=decode(demo,n,k,'bch');rate=biterr(msg,msg_r);2、时间流仿真所有模块在同一时间步长上同时执行。信号发生差错控制编码数字调制差错控制译码信宿时间数据3.3系统的simulink描述一、简单系统的simulink描述例如:对y=u20u1u1/2u1U=0:0.1:10;ForI=1:length(u)ifu(I)1y(I)=u(I).^2;elsey(I)=sqrt(U(I));endEndPlot(u,y);grid二、离散系统的simulink描述例:y(1)=3;u(1)=0;fori=2:11u(i)=2*i;y(i)=u(i).^2+2*u(i-1)+2*y(i-1);endplot(u,y);grid;三、连续系统模型表示例:t=0:0.1:5;ut=t+sin(t);utdot=1+cos(t);yt=ut+utdot;plot(yt);grid;四、混合系统混合系统一般都是由系统各部分输入与输出间的数学方程所共同描述的。例:一混合系统:输入为一离散变量u(n),n=1,2,3…系统由离散、连续系统串联而成,其中离散系统输出经过一个零阶保持器后作为连续系统的输入。其中离散系统的输入输出方程为y(n)=u(n)+1,u(n)=n/2,系统采样时间为Ts=1s.连续系统的输入输出方程为:u(t)与y(n)的数学关系为:整个系统的方程描述:)(sin)()(tututyTsntnTsnytu)1(),()(1)),(sin()()(,1)()(...3,2,1,2/)(ntnnynytynunynnnuSimulink描述为:t=1:0.1:99.9;n=1:100;un=0.5*n;yn=un+1;fori=1:length(n)-1forj=1:length(t)ift(j)=n(i)&t(j)n(i+1)y(j)=sqrt(yn(n(i)))+sin(yn(n(i)));endendendplot(t,y);grid;3.4创建simulink模型(简单入门)一、启用simulink并建立系统模型启动simulink:(1)用命令方式:simulink(2)二、simulink模块库简介1、simulink公共模块库Continuous(连续系统)连续信号数值积分输入信号连续时间积分单步积分延迟,输出为前一输入线性连续系统的状态空间描述线性连续系统传递函数描述对输入信号进行固定时间延迟对输入信号进行可变时间延迟线性连续系统的零极点模型Discrete(离散系统)线性离散系统的传递函数描述线性离散系统的零极点模型描述线性离散系统的滤波器描述线性离散系统的状态空间描述离散时间积分器离散信号的一阶保持器单位延迟离散信号的零阶保持器Function&Tables(函数与表库)表数据选择器(从表中选择数据)求取输入信号的数学函数值对输入信号进行内插运算输入信号的一维线性内插输入信号的二维线性内插输入信号的n维线性内插M函数(对输入进行运算输出结果)多项式求值查找输入信号所在范围S-函数模块S-函数生成器Math(数学运算库)求信号绝对值输出强制系统输入为零的代数状态按位逻辑运算逻辑真值查找输出输入复数的幅值与相位输出系统输入的的实部或需部点乘运算信号增益信号逻辑运算幅值与相位转化为复数形式特定的一些数学函数矩阵增益求输入的最小、大值乘法或除法器从输入实部与虚部构造复数关系运算器求整运算器符号运算渐变增益对输入求和或差三角与双曲函数Nonlinear(非线性系统模块库)死区间歇库仑粘贴信号死区信号双输出选择器(手动)多端口输出选择器量化器信号上升、下降速率控制器信号延迟器饱和信号三路选择器(根据输入2控制输出)Signal&System(信号和系统模块)Goto模块标记控制器将信号与特定的偏移值比较初始化信号矩阵串联器合并输入信号为一个输出模块控制信息信号组合器信号探测器信号维数改变器选择或重组信号信号属性修改输入信号宽度对信号进行分配由输入产生总线信号总线信号选择器用户定义的数据存储区从数据存储区中读取数据向数据存储区写数据数据类型选择器信号分解器从goto模块中获得信号函数调用发生器向goto模块传递信号Sinks(系统输出模块库)以数值形式显示输入信号悬浮信号显示器为子系统或模型提供输出端口信号显示器当输入非零时停止仿真中断输出信号将仿真数据写入.mat文件将仿真数据输出到matlab工作空间使用matlab图形显示器Source(信号源模块库)有限带宽白噪声输出频率随时间线性变换的正弦信号输出当前仿真时间常数输入以固定速率输出当前仿真时间从matlab工作空间中输入数据从.mat文件中输入数据接地信号为子系统或其它模型提供输入端口输入脉冲信号输入斜坡信号输入服从高司分布的随机信号输入周期信号信号发生器正弦信号初始器输入阶跃信号输入服从高司分布的随机信号Subsystem(子系统模块库)可配置子系统原子子系统使能子系统使能触发For循环函数调用If条件条件执行子系统通用子系统Switch-case子系统Switch-case动作子系统触发子系统当型循环子系统2、simulink专业模块库三、建立simulink框图1、选择模块2、模块连接3、信号组合与分支3、运行仿真四、simulink子系统介绍1、子系统生成在已有的系统模型中建立子系统先建立空的子系统2、建立复杂系统模型自下向上的设计思路自顶向下的设计思路3.5simulink与matlab的接口设计一、使用工作空间变量设置系统模块参数二、将信号输出到workspace三、从workspace中产生信号源四、向量与矩阵五、matlabfunction与function模块Fcn:用于实现简单函数关系输入总表示成u(可是一向量)输出是一标量MatlabFcn:用于调用matlab函数实现某一功能所调用函数只能有一个输出(可以是一个向量)单输入函数只需要使用函数名,多输入需引用相应的元素在每个仿真步长内都需要调用matlab解释器例:信号平方运算3.6simulink子系统技术一、回顾1、通用子系统的生成2、子系统的基本操作子系统的命名子系统的编辑子系统的输入子系统的输出子系统的参数设置二、simulink高级子系统技术使能子系统触发子系统函数调用子系统1、条件子系统的建立方法在enabledsubsystemtriggeredsubsystemenabledandtriggeredsubsystem中。1)早期simulink版本中,enable和triggered信号需要从signal&system中调用。2)simulink后期版本中,在上述模块中含这两个信号。3)一个系统中不能含多个enable和triggered信号。4)其它子系统可看成某种形式的条件执行子系统。2、使能子系统Reset:执行时,系held:统中的状态被重新设置为初始参Held:执行时,系统的状态保持不变3、触发子系统4、触发使能子系统5、原子子系统虚子系统:对通用子系统与使能子系统1)子系统只是系统模型中某些模块组的图形表示2)子系统中的模块在执行时与其上一级模块统一被排序,不受子系统限制。3)在一个仿真时间步长内,simulink可以多次进出一个子系统。原子子系统:1)子系统作为一个“实际”的模块,需顺序连续执行。2)子系统作为整体进行仿真。3)子系统中的模块在子系统中被排序执行。建立原子子系统:1)先建立一空的原子子系统。2)先建立子系统,再强制转换成原子子系统。Edit/blockparameters3、其它子系统可配置子系统,代表用户定义库中的任意模块,只能在用户定义库中使用。函数调用子系统。for循环while循环选择表达式执行子系统三、simulink的子系统封装技术封装子系统的特点:1)自定义系统模块及图表2)用户双击子系统图表将弹出参数设置框3)可自定义子系统的帮助文件4)拥有自己的工作区使用子系统封装技术的优点:1)向子系统模块中传递参数2)“隐藏”子系统中不需要过多展现的内容3)保护子系统中的内容,防止模块实现被随意篡改。1、封装编辑器之图表编辑对话框首先封装后,再选中子系统图表,执行edit/editmask。封装类型子系统模块图表绘制命令图表显示界面控制参数1)封转类型:对封装后的子系统进行简短的说明2)图表显示界面控制参数iconfram:设置图表边框为

1 / 67
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功