欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    实验二用MATLAB建立传递函数模型Word文档格式.docx

    • 资源ID:19479558       资源大小:1,005.10KB        全文页数:74页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    实验二用MATLAB建立传递函数模型Word文档格式.docx

    1、 图1-3(2) 模拟电路图:如图1-4所示。图1-4系统的开环传函为: 系统的特征方程为: (4) 实验内容实验前由Routh判断得Routh行列式为:S3 S2 S1 S0 为了保证系统稳定,第一列各值应为正数,因此可以确定 系统稳定 K值的范围 系统临界稳定K 系统不稳定K值的范围四、实验步骤1)将信号源单元的“ST”端插针与“S”端插针用“短路块”短接。由于每个运放单元均设置了锁零场效应管,所以运放具有锁零功能。将开关分别设在“方波”档和“500ms12s”档,调节调幅和调频电位器,使得“OUT”端输出的方波幅值为1V,周期为10s左右。2.)典型二阶系统瞬态性能指标的测试(1) 按模

    2、拟电路图1-2接线,将1中的方波信号接至输入端,取R = 10K。(2) 用示波器观察系统响应曲线C(t),测量并记录超调MP、峰值时间tp和调节时间tS。(3) 分别按R = 20K;40K;100K;改变系统开环增益,观察响应曲线C(t),测量并记录性能指标MP、tp和tS,及系统的稳定性。并将测量值和计算值进行比较 (实验前必须按公式计算出)。将实验结果填入表1-1中。3)典型三阶系统的性能(1) 按图1-4接线,将1中的方波信号接至输入端,取R = 30K。(2) 观察系统的响应曲线,并记录波形。(3) 减小开环增益 (R = 41.7K;100K),观察响应曲线,并将实验结果填入表1

    3、-3中。表1-3中已填入了一组参考测量值,供参照。五、实验现象分析1)典型二阶系统瞬态性能指标实验测试值表1-1参数项目R(K)KnC(tp)()MP (%)tP (s)tS (s)响应情况理论值测量0 1过阻尼200其中 ,2)典型三阶系统在不同开环增益下的响应情况表1-2R(K)开环增益K稳定性表1330167不稳定发散41 .712临界稳定等幅振荡1005稳定衰减收敛注意:在做实验前一定要进行对象整定,否则将会导致理论值和实际测量值相差较大。实验二 用MATLAB建立传递函数模型(1)熟悉MATLAB实验环境,掌握MATLAB命令窗口的基本操作;(2)掌握MATLAB建立控制系统数学模型

    4、的命令及模型相互转换的方法;(3)掌握使用MATLAB命令化简模型基本连接的方法;(4)学会使用Simulink模型结构图化简复杂控制系统模型的方法。二、实验原理及内容控制系统常用的数学模型有四种:传递函数模型(tf对象)、零极点增益模型(zpk对象)、结构框图模型和状态空间模型(ss对象)。经典控制理论中数学模型一般使用前三种模型,状态空间模型属于现代控制理论范畴。1、有理函数模型线性连续系统的传递函数模型可一般地表示为: (1)将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变量和,就可以轻易地将传递函数模型输入到MATLAB环境中。命令格式为:; (2) (3)用函数tf

    5、 ( ) 来建立控制系统的传递函数模型,该函数的调用格式为:Gtf(num,den); (4)例1一个简单的传递函数模型:可以由下面的命令输入到MATLAB工作空间中去。num=1,2;den=1,2,3,4,5;G=tf(num,den)运行结果:Transfer function: s + 2-s4 + 2 s3 + 3 s2 + 4 s + 5这时对象G可以用来描述给定的传递函数模型,作为其它函数调用的变量。例2一个稍微复杂一些的传递函数模型: num=6*1,5; den=conv(conv(1,3,1,1,3,1),1,6); tf(num,den)运行结果 6 s + 30-s5

    6、+ 12 s4 + 47 s3 + 72 s2 + 37 s + 6其中conv()函数(标准的MATLAB函数)用来计算两个向量的卷积,多项式乘法也可以用这个函数来计算。该函数允许任意地多层嵌套,从而表示复杂的计算。【自我实践1】建立控制系统的传递函数模型:2、零极点模型线性系统的传递函数还可以写成极点的形式:将系统增益K、零点-zi和极点-pj以向量的形式输入给三个变量、Z和P,命令格式为: (6) (7) (8)用函数命令zpk ( ) 来建立系统的零极点增益模型,其函数调用格式为:G=zpk(Z,P,KGain) (9)例3某系统的零极点模型为: KGain=6;z=-1.9294;-

    7、0.0353+0.9287j;-0.0353-0.9287j;p=-0.9567+1.2272j;-0.9567-1.2272j;0.0433+0.6412j;0.0433-0.6412j;G=zpk(z,p,KGain)运行结果:Zero/pole/gain: 6 (s+1.929) (s2 + 0.0706s + 0.8637)-(s2 - 0.0866s + 0.413) (s2 + 1.913s + 2.421)对于单变量系统,其零极点均是用列向量来表示的,故z、p向量中各项均用分号(;)隔开。【自我实践2】建立控制系统的零极点模型:3、控制系统模型间的相互转换零极点模型转换为传递函数

    8、模型:num , den = zp2tf ( z, p, k ) 传递函数模型转化为零极点模型:z , p , k = tf2zp ( num, den ) 例4 给定系统传递函数为:对应的零极点模型可由下面的命令得出num=6.8, 61.2, 95.2;den=1, 7.5, 22, 19.5, 0;G=tf(num,den);G1=zpk(G)显示结果: 6.8 (s+7) (s+2)-s (s+1.5) (s2 + 6s + 13)可见,在系统的零极点模型中若出现复数值,则在显示时将以二阶因子的形式表示相应的共轭复数对。例5给定零极点模型:可以用下面的MATLAB命令立即得出其等效的传

    9、递函数模型。输入程序时要注意大小写。Z=-2,-7;P=0,-3-2j,-3+2j,-1.5;K=6.8;G=zpk(Z,P,K);G1=tf(G)结果显示: 6.8 s2 + 61.2 s + 95.2-s4 + 7.5 s3 + 22 s2 + 19.5 s【自我实践3】已知系统传递函数,求其等效的零极点模型。【自我实践4】建立控制系统的多项式模型:4、反馈系统结构图模型设反馈系统结构图如图2- 1所示。图2-1反馈系统结构图两个环节反馈连接后,其等效传递函数可用feedback ( ) 函数求得,其调用格式为:sys = feedback(G1, G2, sign)其中sign是反馈极性

    10、,sign缺省时,默认为负反馈,sign-1;正反馈时,sign1;单位反馈时,G21,且不能省略。series( )函数:实现两个模型的串联;多于两个必须嵌套使用。parallel( )函数:实现两个模型的并联;例6若反馈系统如图2-1中的两个传递函数分别为: ,则反馈系统的传递函数: G1=tf(1,1,2,1); G2=tf(1,1,1); G=feedback(G1,G2) s + 1-s3 + 3 s2 + 3 s + 2若采用正反馈连接结构输入命令 G=feedback(G1,G2,1)则得出如下结果:-s3 + 3 s2 + 3 s例7若反馈系统为更复杂的结构如图2- 2所示。图

    11、2- 2复杂反馈系统则闭环系统的传递函数:G1=tf(1,7,24,24,1,10,35,50,24);G2=tf(10,5,1,0);H=tf(1,0.01,1);G_a=feedback(G1*G2,H)结果为: 0.1 s5 + 10.75 s4 + 77.75 s3 + 278.6 s2 + 361.2 s + 120-0.01 s6 + 1.1 s5 + 20.35 s4 + 110.5 s3 + 325.2 s2 + 384 s + 120【自我实践5】已知系统前向通道的传递函数,求其单位负反馈闭环传递函数。5、Simulink建模方法在一些实际应用中,如果系统的结构过于复杂,不适

    12、合用前面介绍的方法建模。在这种情况下,功能完善的Simulink程序可以用来建立新的数学模型。Simulink是由Math Works 软件公司1990年为MATLAB提供的新的控制系统模型图形输入仿真工具。它具有两个显著的功能:Simul(仿真)与Link(连接),即可以利用鼠标在模型窗口上“画”出所需的控制系统模型。然后利用SIMULINK提供的功能来对系统进行仿真或线性化分析。与MATLAB中逐行输入命令相比,输入更容易,分析更直观。下面简单介绍SIMULINK建立系统模型的基本步骤:(1) SIMULINK的启动:在MATLAB命令窗口的工具栏中单击按钮或者在命令提示符下键入simul

    13、ink命令,回车后即可启动Simulink程序。启动后软件自动打开Simullink模型库窗口,如图2-3所示。这一模型库中含有许多子模型库,如Sources(输入源模块库)、Sinks(输出显示模块库)、Nonlinear(非线性环节)等。若想建立一个控制系统结构框图,则应该选择File| New菜单中的Model选项,或选择工具栏上new Model按钮,打开一个空白的模型编辑窗口如图2- 4所示。图2- 3 simulink 模型库 图2- 4模型编辑窗口(2) 画出系统的各个模块:打开相应的子模块库,选择所需要的元素,用鼠标左键点中后拖到模型编辑窗口的合适位置。(3) 给出各个模块参数

    14、:由于选中的各个模块只包含默认的模型参数,如默认的传递函数模型为1/(s+1)的简单格式,必须通过修改得到实际的模块参数。要修改模块的参数,可以用鼠标双击该模块图标,则会出现一个相应对话框,提示用户修改模块参数。(4) 画出连接线:当所有的模块都画出来之后,可以再画出模块间所需要的连线,构成完整的系统。模块间连线的画法很简单,只需要用鼠标点按起始模块的输出端(三角符号),再拖动鼠标,到终止模块的输入端释放鼠标键,系统会自动地在两个模块间画出带箭头的连线。若需要从连线中引出节点,可在鼠标点击起始节点时按住Ctrl键,再将鼠标拖动到目的模块。(5) 指定输入和输出端子:在Simulink下允许有两

    15、类输入输出信号,第一类是仿真信号,可从source(输入源模块库)图标中取出相应的输入信号端子,从Sink(输出显示模块库)图标中取出相应输出端子即可。第二类是要提取系统线性模型,则需打开Connection(连接模块库)图标,从中选取相应的输入输出端子。例8 典型二阶系统的结构图如图2- 5所示。用SIMULINK对系统进行仿真分析。图2- 5 典型二阶系统结构图按前面步骤,启动simulink并打开一个空白的模型编辑窗口。(1) 画出所需模块,并给出正确的参数: 在sources子模块库中选中阶跃输入(step)图标,将其拖入编辑窗口,并用鼠标左键双击该图标,打开参数设定的对话框,将参数s

    16、tep time(阶跃时刻)设为0。 在Math(数学)子模块库中选中加法器(sum)图标,拖到编辑窗口中,并双击该图标将参数List of signs(符号列表)设为|+-(表示输入为正,反馈为负)。 在continuous(连续)子模块库中、选积分器(Integrator)和传递函数(Transfer Fcn)图标拖到编辑窗口中,并将传递函数分子(Numerator)改为900,分母(Denominator)改为1,9。 在sinks(输出)子模块库中选择scope(示波器)和Out1(输出端口模块)图标并将之拖到编辑窗口中。(3)将画出的所有模块按图 25用鼠标连接起来,构成一个原系统的

    17、框图描述如图2- 6所示。(4)选择仿真算法和仿真控制参数,启动仿真过程。 在编辑窗口中点击Simulation|Simulation parameters菜单,出现参数对话框,在solver模板中设置响应的仿真范围StartTime(开始时间)和StopTime(终止时间),仿真步长范围Maxinum step size(最大步长)和Mininum step size(最小步长)。对于本例,StopTime可设置为2。最后点击Simulation|Start菜单或点击相应的热键启动仿真。双击示波器,在弹出的图形上会“实时地”显示出仿真结果。输出结果如图2- 7所示。图2- 6 二阶系统的si

    18、mulink实现 图2- 7仿真结果示波器显示 图2- 8 MATLAB命令得出的系统响应曲线命令窗口中键入whos命令,会发现工作空间中增加了两个变量tout和yout,这是因为Simulink中的Out1 模块自动将结果写到了MATLAB的工作空间中。利用MATLAB命令plot(tout,yout),可将结果绘制出来,如图2- 8所示。比较图2- 7和图2- 8,可以发现这两种输出结果是完全一致的。三、 实验能力要求(1)熟练使用各种函数命令建立控制系统数学模型。(2)完成实验的范例题和自我实践,并记录结果。实验三 利用MATLAB进行时域分析(1) 学会使用MATLAB编程绘制控制系统

    19、的单位阶跃响应曲线;(2) 研究二阶控制系统中,、n对系统动态特性和时域指标的影响;(3) 掌握准确读取动态特性指标的方法;(4) 分析二阶系统闭环极点和闭环零点对系统动态性能的影响;(5) 研究三阶系统单位阶跃响应及其动态性能指标与其闭环极点的关系;(6) 研究闭环极点和闭环零点对高阶系统动态性能的影响;(7) 了解高阶系统中主导极点与偶极子的作用;(8) 了解系统阶跃响应、脉冲响应和斜坡响应输出曲线之间的联系与差别。1. 求系统的特征根 若已知系统的特征多项式D (s),利用roots ( ) 函数可以求其特征根。若已知系统的传递函数,利用eig ( ) 函数可以直接求出系统的特征根。2、

    20、求系统的闭环根、和n 函数damp ( ) 可以计算出系统的闭环根、和n。3、零极点分布图可利用pzmap()函数绘制连续系统的零、极点图,从而分析系统的稳定性,调用格式为:pzmap(num,den) 【范例3-1】给定传递函数: 利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图,如图3- 1所示。 num=3,2,5,4,6; den=1,3,4,2,7,2;pzmap(num,den)title(Pole-Zero Map)% 图形标题。图3- 1 MATLAB函数零、极点分布图4、求系统的单位阶跃响应 step ( ) 函数可以计算连续系统单位阶跃响应(impulse(

    21、) 函数可以计算连续系统单位脉冲响应): step (sys) 或step ( sys , t ) 或step (num , den)函数在当前图形窗口中直接绘制出系统的单位阶跃响应曲线,对象sys可以由tf ( ),zpk ( ) 函数中任何一个建立的系统模型。第二种格式中t可以指定一个仿真终止时间,也可以设置为一个时间矢量(如t0 : dt : Tfinal,即dt是步长,Tfinal是终止时刻)。如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式: c=step(sys) 此时,屏上不会显示响应曲线,必须利用plot()命令查看响应曲线。plot 可以根据两个或多个给定的

    22、向量绘制二维图形。【范例3-2】已知传递函数为:利用以下MATLAB命令可得阶跃响应曲线如图3- 2所示。 num=0,0,25; den=1,4,25;step(num,den)grid % 绘制网格线。Unit-Step Response of G(s)=25/(s2+4s+25) ) % 图像标题图3- 2 MATLAB绘制的响应曲线还可以用下面的语句来得出阶跃响应曲线 G=tf(0,0,25,1,4,25); t=0:0.1:5; % 从0到5每隔0.1取一个值。 c=step(G,t);% 动态响应的幅值赋给变量c plot(t,c) % 绘二维图形,横坐标取t,纵坐标取c。 Css

    23、=dcgain(G) % 求取稳态值。系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果 Css= 15、求阶跃响应的性能指标MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。首先介绍一种最简单的方法游动鼠标法。对于例2,在程序运行完毕后,在曲线中空白区域,单击鼠标右键,在快捷菜单中选择”characteristics”,包含:Peak response (峰值); settling time (调节时间);Rise time(上升时间);steady state(稳态值);在相应位置出现相应点,用鼠标单击后,相应性能值就显示出来。用鼠标左键点击时域响应曲线任

    24、意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。【自我实践1】若已知单位负反馈前向通道的传递函数为:,试作出其单位阶跃响应曲线,准确读出其动态性能指标,并记录数据。另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与游动鼠标法相比,编程方法稍微复杂,但可以获取一些较为复杂的性能指标。若将阶跃响应函数step( )获得系统输出量返回到变量y中,可以调用如下格式 y,t=step(G) 该函数还同时返回了自动生成的时间变量t,对返回变量y和t进行计算,可以得到时域性能指标。峰值时

    25、间(timetopeak)可由以下命令获得: Y,k=max(y);timetopeak=t(k)最大(百分比)超调量(percentovershoot)可由以下命令得到:C=dcgain(G);Y,k=max(y); percentovershoot=100*(Y-C)/Cdcgain( )函数用于求取系统的终值。上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。要求出上升时间,可以用while语句编写以下程序得到:n=1;while y(n)C n=n+1;endrisetime=t(n)在阶跃输入条件下,y 的值由零逐渐增大,当以上循环满足y=C时,退出循环,此时对应的时刻,即为上升时间。对于输出无超调的系统响应,上升时间定义为输出从稳态值的10%上升到90%所需时间,则计算程序如下: while y(n)0.1*C endm=1;


    注意事项

    本文(实验二用MATLAB建立传递函数模型Word文档格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开