MATLAB分析
1 MATLAB函数编程
1.1 传递函数的整理
已知三阶系统的闭环传递函数为G(s)?2.71(s?1)(s2?0.8s?0.64)a,
整理成一般式得G(s)=
2.7a,其中a为未知32s?(0.8?a)s?(0.64?0.8a)s?0.64a参数。从一般式可以看出系统没有零点,有三个极点。(其中一个实数极点和一对共轭复数极点)
1.2 动态性能指标的定义
上升时间tr:指响应从终值10%上升到终值90%所需的时间;对于有振荡 系统,亦可定义为响应从零第一次上升到终值所需的时间。上升时间是系统 响应速度的一种度量。上升时间越短,响应速度越快。
峰值时间tp:指响应超过其终值到达第一个峰值所需的时间。 调节时间ts:指响应到达并保持在终值?5%内所需的最短时间。
超调量 σ%:指响应的最大偏离量h(tp)与终值h(∞)的差与终值h(∞)比的百分数,即σ%=
h(tp)?h(?)h(?)×100%
若h(tp) 在实际应用中,常用的动态性能指标多为上升时间、调节时间和超调量。通常,用tr或tp评价系统的响应速度;用σ%评价系统的阻尼程度;而ts是同时反映响应速度和阻尼程度的综合性能指标。应当指出,除简单的一、二阶系统外,要精确确定这些动态性能指标的解析表达式是很困难的。 1.3 MATLAB函数编程求系统的动态性能 1 根据三阶系统闭环传递函数的一般表达式,在MATLAB的Editor中输入程序: num=[2.7a] den=[1,0.8+a,0.64+a,0.64a] t=0:0.01:20 step(num,den,t) [y,x,t]=step(num,den,t) %求单位阶跃响应 maxy=max(y) %响应的最大偏移量 yss=y(length(t)) %响应的终值 pos=100*(maxy-yss)/yss %求超调量 for i=1:2001 if y(i)==maxy n=i;end end tp=(n-1)*0.01 %求峰值时间 y1=1.05*yss y2=0.95*yss i=2001 while i>0 i=i-1 if y(i)>=y1|y(i)<=y2;m=i;break end end ts=(m-1)*0.01 %求调节时间 title('单位阶跃响应') grid 2 三阶系统闭环主导极点及其动态性能分析 2.1 三阶系统的近似分析 根据主导极点的概念,可知该三阶系统具有一对共轭复数主导极点s1= -0.4?0.693j,因此该三阶系统可近似成如下的二阶系统: 2.7 G(s)≈2 s?0.8s?0.64再利用MATLAB的零极点绘图命令pzmap,可得该二阶系统的零、极点分布,在 Editor里面编写如下程序: H=tf([2.7],[1 0.8 0.64]);grid pzmap(H); 得到零极点分布图如下: 2 2.2 编程求解动态性能指标 根据以上求解动态性能的MATLAB函数程序,在编辑器里面编写以下程序,得到近似二阶系统的单位阶跃响应和动态性能指标。 num=[2.7] den=[1,0.8,0.64] t=0:0.01:20 step(num,den,t) [y,x,t]=step(num,den,t) %求单位阶跃响应 maxy=max(y) %响应的最大偏移量 yss=y(length(t)) %响应的终值 pos=100*(maxy-yss)/yss %求超调量 for i=1:2001 if y(i)==maxy n=i;end end tp=(n-1)*0.01 %求峰值时间 y1=1.05*yss y2=0.95*yss i=2001 3 while i>0 i=i-1 if y(i)>=y1|y(i)<=y2;m=i;break end end ts=(m-1)*0.01 %求调节时间 title('单位阶跃响应') grid 在Editor里面保存好程序,点击运行程序的命令图标MATLAB命令框输出: i=662 ts=6.6100 MATLAB输出的阶跃响应曲线为: 。 双击Figure1图形界面,打开单位阶跃响应的属性编辑器: 4 如图,在Options选项中,将调节时间属性设为?5%,将上升时间属性设为从10%到90%。再在Figure1图形界面单机右键,将Characteristics的四个子选项Peak Responses、Setting Time、Rise Time、Steady State全选中,得到如Figure1中的四个蓝色的点。将光标分别移到蓝点上,图形上就会显示该点的性质参数。 因此,此系统的动态性能指标为: 最大偏离量h(tp)=4.91 终值h(∞)=4.22 上升时间tr=2.05 峰值时间tp=4.53 调节时间ts=6.61 超调量 σ%=16.3 3 三阶系统的单位阶跃响应 3.1 高阶系统单位阶跃响应 高阶系统传递函数一般可以表示为 M(s)bmsm?bm?1sm?1???b1s?b0?(s)???D(s)ansn?an?1sn?1???a1s?a0 5 K?(s?zi)m?(s??j?1i?1nn?m (3-18) j)式中,K?bman,由于M(s),D(s)均为实系数多项式,故闭环零点zi、极点?j只能是实根或共轭复数。设系统闭环极点均为单极点,系统单位阶跃响应的拉氏变换可表示为 m1 C(s)??(s)??sK?(s?zi)s?(s??j)j?1i?1n? M(0)1nM(s)??? D(0)sj?1sD?(s)s??j1 s??j(3-19) 对上式进行拉氏反变换可得 M(0)nM(s)?? c(t)?D(0)j?1sD?(s)?e?kt? s??j M(0)M(s)??D(0)?i???isD?(s)?e??it? s??i ?i???jAe????idi?itsin??dit??i? (3-20) 可见,除常数项M(0)D(0)外,高阶系统的单位阶跃响应是系统模态的组合,组合系数即部分分式系数。模态由闭环极点确定,而部分分式系数与闭环零点、极点分布有关,所以,闭环零点、极点对系统动态性能均有影响。当所有闭环极点均具有负的实部,即所有闭环极点均位于左半s平面时,随时间t的增加所有模态均趋于零(对应瞬态分量),系统的单位阶跃响应最终稳定在M(0)D(0)。很明显,闭环极点负实部的绝对值越大,相应模态趋于零的速度越快。在系统存在重根的情况下,以上结论仍然成立。 3.2 当a已知时三阶系统的阶跃响应曲线 3.2.1 当a=0.84时系统的阶跃响应曲线 此时三阶系统的一般表达式为: 2.268G(s)=3,将分子分母的系数代入1.3所述MATLAB程序 s?1.64s2?1.312s?0.5376中,得到: 6 num=[2.268] den=[1,1.64,1.312,0.5376] t=0:0.01:20 step(num,den,t) [y,x,t]=step(num,den,t) %求单位阶跃响应 maxy=max(y) %响应的最大偏移量 yss=y(length(t)) %响应的终值 pos=100*(maxy-yss)/yss %求超调量 for i=1:2001 if y(i)==maxy n=i;end end tp=(n-1)*0.01 %求峰值时间 y1=1.05*yss y2=0.95*yss i=2001 while i>0 i=i-1 if y(i)>=y1|y(i)<=y2;m=i;break end end ts=(m-1)*0.01 %求调节时间 title('单位阶跃响应') grid 保存并运行程序,得到单位响应曲线: 从阶跃响应曲线图中得到系统的动态性能指标: 7 最大偏离量h(tp)=4.59,终值h(∞)=4.22,上升时间tr=2.81,峰值时间 tp=6.07,调节时间ts=7.48,超调量 σ%=8.74。 3.2.2 当a=2.1时系统的阶跃响应曲线 三阶系统的一般表达式为: 5.67G(s)=3,将3.2.1程序中分子分母的系数替换为此时的系 s?2.9s2?2.32s?1.344数,程序其余部分不变。运行程序得到阶跃响应曲线如下: 将鼠标分别移动的图中四个蓝点处,得到动态性能指标: h(tp)=4.85,h(∞)=4.22,tr=2.23,tp=5.09,ts=7.1,σ%=14.9。 3.2.3 当a=4.2时系统的阶跃响应曲线 三阶系统的一般表达式为: 11.34G(s)=3,同上,把3.2.1程序中分子分母的系数替换为此表2s?5s?3.36s?2.688达式相应的系数,程序其余部分不变。同样得到单位阶跃响应曲线为: 8 同样从阶跃响应曲线得到系统动态性能指标: 最大偏离量h(tp)=5.27,终值h(∞)=4.22,上升时间tr=1.91,峰值时间 tp=4.62,调节时间ts=9.91,超调量 σ%=24.9。 3.3 三阶系统动态性能分析比较 表3-1 三阶系统动态性能分析比较 系统闭环传递函数 编号 2.268 1 s3?1.64s2?1.312s?0.53765.67 2 s3?2.9s2?2.32s?1.344 11.34 3 s3?5s2?3.36s?2.688 tr 2.81 tp 6.07 ts σ% 8.74 7.48 2.23 5.09 14.9 7.1 1.91 4.62 24.9 9.91 2.7 4 s2?0.8s?0.642.05 4.53 16.3 6.61 ?比较表3-1中第三行与第四行的动态性能,基本可以看出非主导极点对系 9 统动态性能的影响为:增大峰值时间,使系统响应速度变慢,但可以使超调量σ%减表明闭环非主导极点可以增大系统阻尼,且这种作用将随闭环极点接近虚轴而加剧。 ?从以上四幅阶跃响应的动态性能指标可以看出,它们的终值相等。说明主导极点所对应的响应分量,随时间的推移衰减缓慢,在系统的时间响应过程中起主导作用。 3.4 近似条件 3.4.1 闭环主导极点 对稳定的闭环系统,远离虚轴的极点对应的模态只影响阶跃响应的起始 段,而距虚轴近的极点对应的模态衰减缓慢,系统动态性能主要取决于这些极点对应的响应分量。此外,各瞬态分量的具体值还与其系数大小有关。根据部分分式理论,各瞬态分量的系数与零、极点的分布有如下关系:①若某极点远离原点,则相应项的系数很小;②若某极点接近一零点,而又远离其他极点和零点,则相应项的系数也很小;③若某极点远离零点又接近原点或其他极点,则相应项系数就比较大。系数大而且衰减慢的分量在瞬态响应中起主要作用。因此,距离虚轴最近而且附近又没有零点的极点对系统的动态性能起主导作用,称相应极点为主导极点。 3.4.2 估算高阶系统动态性能指标的零点极点法 一般规定,若某极点的实部大于主导极点实部的5~6倍以上时,则可以忽略相应分量的影响;若两相邻零、极点间的距离比它们本身的模值小一个数量级时,则称该零、极点对为“偶极子”,其作用近似抵消,可以忽略相应分量的影响。在绝大多数实际系统的闭环零、极点中,可以选留最靠近虚轴的一个或几个极点作为主导极点,略去比主导极点距虚轴远5倍以上的闭环零、极点,以及不十分接近虚轴的靠得很近的偶极子,忽略其对系统动态性能的影响。 应该注意使简化后的系统与原高阶系统有相同的闭环增益,以保证阶跃响应终值相同。利用MATLAB语言的step指令,可以方便准确地得到高阶系统的单位阶跃响应和动态性能指标。 4 心得体会 在此次用MATLAB进行控制系统动态性能的分析的课程设计中,我对三阶系统动态性能有了更深的认识。在控制工程实践中,通常要求控制系统既具有较快的响应速度,又具有一定的阻尼程度,此外,还要求减少死区、间隙和库仑摩擦等非线性因素对系统性能的影响,因此高阶系统的增益常常调整到使系统具有一对闭环共轭主导极点。这时,可以用二阶系统的动态性能指标来估算高阶系统的动态性能。 10 结束语 经过两周的使用MATLAB分析控制系统动态性能的课程设计,我觉得学习像 自动控制这样实用的知识,不仅要掌握书本上的基本内容,还要灵活思考,善于变换,这样才能找到最优设计,达到事半功倍的效果。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践;才能使自己不被社会淘汰。 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,自动化控制已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次自动课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,终于游逆而解。同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!在这次设计中,也要感谢同学和老师的帮助,相互讨论中也使我学习了他们不同的思考方式,使我明白了接受别人好的意见也是很重要的。 综上所述,在这次课程设计过程中,我既学习到了自动控制原理的知识,又学到了许多书本之外宝贵的分析动手能力。与其临渊羡鱼,不如退而结网。这次自动控制设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。 11 致谢 在过去的不到两周的时间里,我感觉很充实,感觉自己发现问题、分析问题、解决问题的能力明显提高。在这段时间里,我完成了从以前的仅仅只会做题到会使用MATLAB分析系统的动态性能。除了自己本身的努力外,当然还有指导老师和同学的帮助。在这里特别感谢刘老师于百忙之中两次抽出时间给我们答疑,很及时地给我们解决了问题。在刘老师耐心地指导下,我少走了很多弯路。刘老师启发了我新的思路,让我找到了解决问题的不同方法。在MATLAB软件使用方面我也得到了同班同学的很多帮助,避免了自己一个人缓慢地摸索。 最后再次感谢刘老师的辛勤工作和耐心指导,使得我们通过自己的努力锻炼了自己的能力!!! 12 参考文献 [1]胡寿松.自动控制原理(第五版).科学出版社,2007.6 [2]黄坚.自动控制原理及其应用.高等教育出版社,2009.7 [3]程丽平、刘传玺、孙秀云.自动控制原理与系统.天津大学出版社,2008.7 [4]余成波、张莲等.自动控制原理.清华大学出版社,2006.1 [5]彭学峰、刘建斌等.自动控制原理实践教程.中国水利水电出版社,2006.4 13 本科生课程设计成绩评定表 姓 名 专业、班级 课程设计题目: 课程设计答辩或质疑记录: 性 别 成绩评定依据: 评 定 项 目 1.选题合理、目的明确(10分) 2.设计方案正确、具有可行性、创新性(20分) 3.设计结果(例如:系统设计程序、仿真程序) (20分) 4.态度认真、学习刻苦、遵守纪律(15分) 5.设计报告的规范化、参考文献充分(不少于5篇)(10分) 6.答辩(25分) 总 分 评分成绩 最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日 14