用MATLAB进行控制系统的动态性能的分析.docx
《用MATLAB进行控制系统的动态性能的分析.docx》由会员分享,可在线阅读,更多相关《用MATLAB进行控制系统的动态性能的分析.docx(18页珍藏版)》请在冰豆网上搜索。
用MATLAB进行控制系统的动态性能的分析
目录
1MATLAB函数编程1
1.1传递函数的整理1
1.2动态性能指标的定义1
1.3MATLAB函数编程求系统的动态性能2
2三阶系统闭环主导极点及其动态性能分析3
2.1三阶系统的近似分析3
2.2编程求解动态性能指标3
3三阶系统的单位阶跃响应5
3.1高阶系统单位阶跃响应5
3.2当a已知时三阶系统的阶跃响应曲线6
3.2.1当a=0.84时系统的阶跃响应曲线6
3.2.2当a=2.1时系统的阶跃响应曲线8
3.2.3当a=4.2时系统的阶跃响应曲线9
3.3三阶系统动态性能分析比较10
3.4近似条件10
3.4.1闭环主导极点10
3.4.2估算高阶系统动态性能指标的零点极点法11
4心得体会11
参考文献13
用MATLAB进行控制系统的动态性能的分析
1MATLAB函数编程
1.1传递函数的整理
已知三阶系统的闭环传递函数为:
整理成一般式可以得到:
G(s)=
其中a为未知参数。
从一般式可以看出系统没有零点,有三个极点(其中一个实数极点和一对共轭复数极点)。
1.2动态性能指标的定义
上升时间
:
当系统的阶跃响应第一次达到稳态值的时间。
上升时间是系统响应速度的一种度量。
上升时间越短,响应速度越快。
峰值时间
:
系统阶跃响应达到最大值的时间。
最大值一般都发生在阶跃响应的第一个峰值时间,所以又称为峰值时间。
调节时间
:
当系统的阶跃响应衰减到给定的误差带内,并且以后不再超出给定的误差带的时间。
超调量σp%:
阶跃响应的最大值
超过稳态值
的百分数
σp%=
×100%
或者不以百分数表示,则记为
σp=
超调量σp%反映了系统输出量在调节过程中与稳态值的最大偏差,是衡量系统性能的一个重要的指标。
在实际应用中,常用的动态性能指标多为上升时间、调节时间和超调量。
通常,用
或
评价系统的响应速度;用σp%评价系统的阻尼程度;而
是同时反映响应速度和阻尼程度的综合性能指标。
应当指出,除简单的一、二阶系统外,要精确确定这些动态性能指标的解析表达式是很困难的。
1.3MATLAB函数编程求系统的动态性能
根据三阶系统闭环传递函数的一般表达式,在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%求超调量
fori=1:
2001
ify(i)==maxy
n=i;end
end
tp=(n-1)*0.01%求峰值时间
y1=1.05*yss
y2=0.95*yss
i=2001
whilei>0
i=i-1
ify(i)>=y1|y(i)<=y2;m=i;
break
end
end
ts=(m-1)*0.01%求调节时间
title('单位阶跃响应')
grid
2三阶系统闭环主导极点及其动态性能分析
2.1三阶系统的近似分析
根据主导极点的概念,可知该三阶系统具有一对共轭复数主导极点
=-0.4
0.693j,因此该三阶系统可近似成如下的二阶系统:
G(s)≈
再利用MATLAB的零极点绘图命令pzmap,可得该二阶系统的零、极点分布,在Editor里面编写如下程序:
H=tf([2.7],[10.80.64]);
grid
pzmap(H);
得到零极点分布图2-1所示:
图2-1零极点分布图
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%求超调量
fori=1:
2001
ify(i)==maxy
n=i;end
end
tp=(n-1)*0.01%求峰值时间
y1=1.05*yss
y2=0.95*yss
i=2001
whilei>0
i=i-1
ify(i)>=y1|y(i)<=y2;
m=i;
break
end
end
ts=(m-1)*0.01%求调节时间
title('单位阶跃响应')
grid
在Editor里面保存好程序,点击运行程序的命令图标
。
MATLAB命令框输出:
i=662
=6.6100
MATLAB输出的阶跃响应曲线为如图2-2所示:
图2-2阶跃响应曲线图
(1)
得到系统的动态性能指标:
最大值
=4.91
终值
=4.22
上升时间
=3.03
峰值时间
=4.53
调节时间
=6.61
超调量σp%=1
=16.35%
3三阶系统的单位阶跃响应
3.1高阶系统单位阶跃响应
高阶系统传递函数一般可以表示为
(公式1)
式中,
,由于
均为实系数多项式,故闭环零点
、极点
只能是实根或共轭复数。
设系统闭环极点均为单极点,系统单位阶跃响应的拉氏变换可表示为
(公式2)
对上式进行拉氏反变换可得
(公式3)
可见,除常数项
外,高阶系统的单位阶跃响应是系统模态的组合,组合系数即部分分式系数。
模态由闭环极点确定,而部分分式系数与闭环零点、极点分布有关,所以,闭环零点、极点对系统动态性能均有影响。
当所有闭环极点均具有负的实部,即所有闭环极点均位于左半s平面时,随时间
的增加所有模态均趋于零(对应瞬态分量),系统的单位阶跃响应最终稳定在
。
很明显,闭环极点负实部的绝对值越大,相应模态趋于零的速度越快。
在系统存在重根的情况下,以上结论仍然成立。
3.2当a已知时三阶系统的阶跃响应曲线
3.2.1当a=0.84时系统的阶跃响应曲线
此时三阶系统的一般表达式为:
G(s)=
将分子分母的系数代入1.3所述MATLAB程序中,得到:
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%求超调量
fori=1:
2001
ify(i)==maxy
n=i;end
end
tp=(n-1)*0.01%求峰值时间
y1=1.05*yss
y2=0.95*yss
i=2001
whilei>0
i=i-1
ify(i)>=y1|y(i)<=y2;m=i;break
end
end
ts=(m-1)*0.01%求调节时间
title('单位阶跃响应')
grid
保存并运行程序,得到单位响应曲线如图3-1所示:
图3-1阶跃响应曲线图
(2)
得到系统的动态性能指标:
最大值
=4.59,
终值
=4.22,
上升时间
=4.64,
峰值时间
=6.04,
调节时间
=7.48,
超调量σp%=
=8.77%。
3.2.2当a=2.1时系统的阶跃响应曲线
三阶系统的一般表达式为:
G(s)=
将3.2.1程序中分子分母的系数替换为此时的系数,程序其余部分不变。
运行程序得到阶跃响应曲线如图3-2所示:
图3-2阶跃响应曲线图(3)
得到动态性能指标:
最大值
=4.85,
终值
=4.22,
上升时间
=3.59,
峰值时间
=5.05,
调节时间
=7.100,
超调量σp%=
=14.93%。
3.2.3当a=4.2时系统的阶跃响应曲线
三阶系统的一般表达式为:
G(s)=
同上,把3.2.1程序中分子分母的系数替换为此表达式相应的系数,程序其余部分不变。
同样得到单位阶跃响应曲线如图3-3所示:
图3-3阶跃响应曲线图(4)
得到系统动态性能指标:
最大值
=5.27,
终值
=4.22,
上升时间
=3.01,
峰值时间
=4.62,
调节时间
=9.87,
超调量σp%=
=24.88%。
3.3三阶系统动态性能分析比较
表3-1三阶系统动态性能分析比较
编号
系统闭环传递函数
1
3.03
4.53
16.35
6.61
2
4.64
6.04
8.77
7.48
3
3.59
5.05
14.93
7.10
4
3.01
4.62
24.88
9.87
比较表1中四行数据,基本可以看出非主导极点对系统动态性能的影响为:
增大峰值时间,使系统响应速度变慢,但可以使超调量σp%减表明闭环非主导极点可以增大系统阻尼,且这种作用将随闭环极点接近虚轴而加剧。
从以上四幅阶跃响应的动态性能指标可以看出,它们的终值相等。
说明主导极点所对应的响应分量,随时间的推移衰减缓慢,在系统的时间响应过程中起主导作用。
3.4近似条件
3.4.1闭环主导极点
对稳定的闭环系统,远离虚轴的极点对应的模态只影响阶跃响应的起始段,而距虚轴近的极点对应的模态衰减缓慢,系统动态性能主要取决于这些极点对应的响应分量。
此外,各瞬态分量的具体值还与其系数大小有关。
根据部分分式理论,各瞬态分量的系数与零、极点的分布有如下关系:
①若某极点远离原点,则相应项的系数很小;②若某极点接近一零点,而又远离其他极点和零点,则相应项的系数也很小;③若某极点远离零点又接近原点或其他极点,则相应项系数就比较大。
系数大而且衰减慢的分量在瞬态响应中起主要作用。
因此,距离虚轴最近而且附近又没有零点的极点对系统的动态性能起主导作用,称相应极点为主导极点。
3.4.2估算高阶系统动态性能指标的零点极点法
一般规定,若某极点的实部大于主导极点实部的5~6倍以上时,则可以忽略相应分量的影响;若两相邻零、极点间的距离比它们本身的模值小一个数量级时,则称该零、极点对为“偶极子”,其作用近似抵消,可以忽略相应分量的影响。
在绝大多数实际系统的闭环零、极点中,可以选留最靠近虚轴的一个或几个极点作为主导极点,略去比主导极点距虚轴远5倍以上的闭环零、极点,以及不十分接近虚轴的靠得很近的偶极子,忽略其对系统动态性能的影响。
应该注意使简化后的系统与原高阶系统有相同的闭环增益,以保证阶跃响应终值相同。
利用MATLAB语言的step指令,可以方便准确地得到高阶系统的单位阶跃响应和动态性能指标。
4心得体会
在此次用MATLAB进行控制系统动态性能的分析的课程设计中,我对三阶系统动态性能有了更深的认识。
在控制工程实践中,通常要求控制系统既具有较快的响应速度,又具有一定的阻尼程度,此外,还要求减少死区、间隙和库仑摩擦等非线性因素对系统性能的影响,因此高阶系统的增益常常调整到使系统具有一对闭环共轭主导极点。
这时,可以用二阶系统的动态性能指标来估算高阶系统的动态性能。
经过两周的使用MATLAB分析控制系统动态性能的课程设计,我觉得学习像自动控制这样实用的知识,不仅要掌握书本上的基本内容,还要灵活思考,善于变换,这样才能找到最优设计,达到事半功倍的效果。
而这是日后最实用的,真的是受益匪浅。
要面对社会的挑战,只有不断的学习、实践,再学习、再实践;才能使自己不被社会淘汰。
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,自动化控制已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
而MATLAB是控制系统仿真的重要软件,因此作为二十一世纪的大学来说掌握MATLAB技术是十分重要的。
回顾起此次自动课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,终于游逆而解。
同时,在老师的身上我学得到很多实用的知识,在次我表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
在这次设计中,也要感谢同学和老师的帮助,相互讨论中也使我学习了他们不同的思考方式,使我明白了接受别人好的意见也是很重要的。
在这次课程设计过程中,我既学习到了自动控制原理的知识,又学到了许多书本之外宝贵的分析动手能力。
与其临渊羡鱼,不如退而结网。
这次自动控制设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。
在过去的不到两周的时间里,我感觉很充实,感觉自己发现问题、分析问题、解决问题的能力明显提高。
在这段时间里,我完成了从以前的仅仅只会做题到会使用MATLAB分析系统的动态性能。
除了自己本身的努力外,当然还有指导老师和同学的帮助。
在这里特别感谢刘老师于百忙之中两次抽出时间给我们答疑,很及时地给我们解决了问题。
在刘老师耐心地指导下,我少走了很多弯路。
刘老师启发了我新的思路,让我找到了解决问题的不同方法。
在MATLAB软件使用方面我也得到了同班同学的很多帮助,避免了自己一个人缓慢地摸索。
参考文献
[1]胡寿松.自动控制原理(第五版),科学出版社,2007.6
[2]王万良,自动控制原理,高等教育出版社,2008.6
[3]程丽平、刘传玺、孙秀云.自动控制原理与系统.天津大学出版社,2008.7
[4]余成波、张莲等.自动控制原理.清华大学出版社,2006.1
[5]彭学峰、刘建斌等.自动控制原理实践教程.中国水利水电出版社,2006.4