超调量亦称为最大超调量,或百分比超调量。
上述五个动态性能指标,基本上可以体现系统动态过程的特征。
在实际应用中,常用的动态性能指标多为上升时间、调节时间和超调量。
通常,用
或
评价系统的响应速度;用σ%评价系统的阻尼程度;而
是同时反映响应速度和阻尼程度的综合性能指标。
应当指出,除简单的一、二阶系统外,要精确确定这些动态性能指标的解析表达式是很困难的。
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.2利用MATLAB编程求二阶系统动态性能指标
根据第一节中介绍的用MATLAB编写程序,求系统动态指标的方法,在编辑器里输入下列程序,就可以得到上述近似的二阶系统G(s)≈
在单位阶跃相应下的动态性能指标。
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
在MATLAB程序框中可以得到系统输出相应指标:
图2-2二阶系统的动态指标
同时,还可以得到该近似二阶系统的单位阶跃响应曲线,如下图所示:
图2-3二阶系统的单位阶跃响应曲线
打开单位阶跃响应的属性编辑器,将调节时间设置为
5%,上升时间设置为10%--90%,并将系统的响应曲线的参数:
上升时间,峰值高度,调节时间和稳态点调出来,使这些点在曲线上显示出来,如下图所示。
图2-4系统的动态性能指标
根据显示有参数的响应曲线,可以得到该系统的动态性能指标为:
最大偏离量h(
)=4.91
终值h(∞)=4.22
上升时间
=2.05s
峰值时间
=4.53s
调节时间
=6.61s
超调量σ%=16.3
3三阶系统的动态性能
3.1当a取不同值时三阶系统的动态性能
在前面,将所给的三阶系统的闭环传递函数的表达式,经过整理,得到
G(s)=
在该传递函数中,参数a是可以变化的量,当a取不同的值时,可以得到不同的传递函数,其单位阶跃响应曲线也就不同。
3.1.1当a=0.84时系统的动态性能指标
当a=0.48时,将a带入上式中,可以得到此时闭环传递函数为
G(s)=
。
根据前面所给出的在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('a=0.84时单位阶跃响应')
grid
将以上程序输入到MATLAB的编辑器中,就可以得到它在阶跃状态下的动态性能曲线,如下图所示:
图3-1a=0.84时的动态性能指标
3.1.2当a=2.1时系统的动态性能指标
当a=2.1时,将a带入式中,可以得到此时闭环传递函数为
G(s)=
,求该传递函数的动态性能曲线的相应程序如下:
num=[5.67]
den=[1,2.9,2.32,1.344]
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('a=2.1时单位阶跃响应')
grid
将以上程序输入到MATLAB的编辑器中,就可以得到它在阶跃状态下的动态性能曲线,如下图所示:
图3-2a=2.1时的动态性能指标
3.1.3当a=4.2时系统的动态性能指标
当a=4.2时,将a带入式中,可以得到此时闭环传递函数为
G(s)=
求该传递函数的动态性能曲线的相应程序如下:
num=[11.34]
den=[1,5,4,2.688]
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('a=4.2时单位阶跃响应')
grid
将以上程序输入到MATLAB的编辑器中,就可以得到它在阶跃状态下的动态性能曲线,如下图所示:
图3-3a=4.2时的动态性能指标
3.2三阶系统动态性能分析
表3-1三阶系统动态性能分析比较
系统闭环传递函数
σ%
a=0.84
G(s)=
2.81
6.07
8.77
7.48
a=2.1
G(s)=
2.23
5.09
14.93
7.1
a=4.2
G(s)=
2.1
4.79
15.88
6.86
二阶
G(s)=
2.05
4.53
16.3
6.61
在分析不同的a取值下,系统的动态性能指标之前,我们可以先比较这些不同的状况下,系统的主导极点在坐标轴上的位置,如下图所示,分别为系统在a取不同值时,系统的零极点在坐标轴上的位置:
图3-4a=0.84时系统的零极点位置
图3-5a=2.1时系统的零极点位置
图3-6a=4.2时系统的零极点位置
通过比较在不同a值得作用下,系统所产生的极点在坐标轴上的位置,可以看出:
当a=0.84时,系统所产生的极点距离虚轴较近,当a=2.1时,产生的极点在坐标轴上的位置距离虚轴又较远一点,而a=4.2时,产生的极点距离虚轴最远。
而通过在不同a值时,系统的动态性能曲线不同,可以知道,系统的阶跃响应性能与其产生的零极点与虚轴的位置有关,下面通过对系统的动态性能指标的分析来说明这种关系。
根据表3-1中所列出的二阶系统与三阶系统的动态性能指标来看,对于a=0.84时来说,系统的各项动态性能指标与近似二阶系统相比,除了最终的稳态值外,误差都比较大,且这种误差是不能忽略的。
当a=2.1时,这些误差都相应的见笑了一点,如果要求不是非常精确的话,我们可以忽略这个极点的作用,如果系统要求精确度比较高,则我们不能忽略这个极点的存在。
而当a=4.2时,通过动态指标的比较可以看出,此时两个系统的动态指标已经非常接近,误差已经很小。
通过以上对零极点在坐标轴上的位置,和系统的动态性能指标的分析,我们可以知道,随着a值的不断增大,系统所产生的极点离虚轴的距离越来越远,但是对系统的动态性能的影响却越来越小。
特别是对超调量的影响,有着非常显著的作用。
现在我们可以认为,非主导极点对系统动态性能的影响为:
增大峰值时间,使系统响应速度变慢,但可以使超调量σ%减小,表明闭环非主导极点可以增大系统阻尼,且这种作用将随闭环极点接近虚轴而加剧。
而且,主导极点所对应的响应分量,随时间的推移衰减缓慢,在系统的时间响应过程中起主导作用。
3.3高阶系统忽略附加极点的条件
通过以上分析,最后可以得出,高阶系统忽略附加极点,近似为二阶系统的条件为:
该系统具有主导极点。
而系统存在主导极点的条件又为:
(1)闭环系统存在离虚轴最近的一对共轭极点或一个实极点;
(2)极点附近无零点;
(3)其他极点距虚轴的距离是最近的极点距虚轴的距离的5倍以上。
心得体会
本学期的自动控制理论这门课程,对于初学的我们来讲,确实有些难度。
而在理论知识的学习中,我们也只是学习一些简单的,基础的理论。
对系统的时域分析,我们也只是学习一阶、二阶这些比较简单,容易计算的系统。
在大二的时候,我们已经接触过课程设计,而那时候做课程设计时积累下的很多经验,在这次的课程设计中就被我所使用,所以,总的来说,这次的课程设计,相比大二第一次完成课程设计来讲,应该是了更丰富的经验与更多的体会。
首先,关于这次的自动控制理论的课程设计题目:
用MATLAB进行控制系统的动态性能的分析。
通过大二的课程设计,已经对MATLAB这款软件有了初步的认识,对它的一些强大而有用的功能,也掌握了一些。
所以,这次用MATLAB来对系统的动态性能进行分析,就显得不会是一头雾水了。
虽然以前也没有用过这个功能,但是通过查找资料,我很快就掌握了使用的方法。
于是,通过这次的课程设计,我对MATLAB软件有了更多的了解,对它的功能的学习也有了更深的认识。
除了书本上所讲过的二阶系统外,在这次的课程设计中,主要是对三阶系统的动态性能进行分析。
通过对不同的三阶系统状态性能的分析,我也认识到,高阶系统在有主导极点的条件下,是可以转化成二阶系统的。
这种高阶系统忽略附加极点,近似为二阶系统的计算方法,在对高阶系统的分析计算时,也是很有帮助的。
在这里,也体现了MATLAB软件的强大功能,可以分析计算出高阶系统的动态性能指标。
当然,在这次课程设计中,也存在着一些问题。
首先,我们在课本上只学过一阶、二阶系统的时域分析,对于高阶系统,要想研究它的动态性能指标,我们得像学习一阶、二阶系统那样,从认识它的基本结构开始学习,这就从一开始给这次的课程设计带来了不小的麻烦。
当然,从另一方面讲,这也是在考验自己的自学能力。
但做完这次的课程设计再回头来看,这个问题其实也没有多难。
另外,MATLAB的熟练使用,在这次的课程设计中还是很重要的。
因为对系统分析的每个环节都需要使用MATLAB。
所以,从不会这个功能到能熟练地使用,也可以说是一个小小的挑战。
最后,我觉得,每一次的课程设计对于我们来说,都是一次难得的学习机会,在课程设计中,我们有机会接触到课本上不会学习的知识,会学习使用一些平时不会用到的学习软件。
所以,我们应该认真对待每次的课程设计环节。
在掌握相关知识和软件的使用的前提下,努力完成课程设计。
参考文献
[1]胡寿松.自动控制原理.北京:
科学出版社,2007
[2]刘会灯.MATLAB编程基础与典型应用.北京:
人民邮电出版社,2008
[3]王敏.控制系统原理与MATLAB仿真实现.北京:
电子工业出版社,2012
[4]魏克新.MATLAB语言与自动控制系统设计.北京:
机械工业出版社,2009
[5]廖晓钟.控制系统分析与设计.北京:
清华大学出版社,2008