基于Matlab仿真的系统零、极点分布对系统响应影响

时间:2022-09-25 09:07:48

基于Matlab仿真的系统零、极点分布对系统响应影响

摘 要:对于高阶系统,若直接对其分析和控制比较困难,要对其进行降阶处理,就要考虑系统的零点、极点对系统的影响。一般的系统,可以分为最小系统和非最小系统,首先要判断出系统的最小相位或非最小相位,在使用根轨迹或Bode图分析系统的特性,从而,分析零点、极点不同分布对系统稳定性的影响。

关键词:零点;极点;最小相位;非最小相位;Bode图;稳定性

1 实验原理

1.1 最小相位与非最小相位

最小相位系统的传递函数在S域右半平面没有极点和零点。有以下特点:①在幅频特性相同的情况下,对于任何大于零的频率,最小相位系统的相角总小于非最小相位系统。②最小相位系统的幅频特性与相频特性一一对应,即由对数幅频特性曲线就可得到系统传递函数。

非最小相位系统:传递函数至少有一个极点或零点在S域右半平面的系统。

1.2 系统响应的求取

根据系统的传递函数可以求出系统输出的复频域表示,再进行反拉式变换即可得到系统的响应,从系统响应曲线可以看出系统的稳定性、准确性和快速性等各项指标。

1.3 幅频、相频特性

幅频、相频特性分别表现的是系统对不同频率的输入信号给出的输出信号与其输入信号之间的幅值增益和相位超前/落后情况,其表现形式是Bode图。

2 Matlab中仿真及分析

2.1 已知二阶系统,分析c的取值对系统阶跃响应的影响。

理论分析:当输入单位阶跃信号时,其响应表达式为y(t)=1-2(1+)e-t+(1+)e-2t。初值为0,而中间过渡过程随c选取不同而不同,终值为1。当c离各极点越近,其响应表达式中模态所占权值越小。

当c

当c>0时,系统为非最小相位系统。分别c=1、2、10。

在Matlab中对二阶系统进行仿真,仿真程序如下:

clear all

% c= 1 3 10 -0.3 -1 -10 时各个系统单位阶跃响应

a1=[-1 1]; b1=[0.5 1.5 1]; ss1=tf(a1,b1);

a2=[-1 2]; b2=[1 3 2]; ss2=tf(a2,b2);

a3=[-1 10]; b3=[5 15 10]; ss3=tf(a3,b3);

a4=[1 0.3]; b4=[0.15 0.75 0.3]; ss4=tf(a4,b4);

a5=[1 1]; b5=[0.5 1.5 1]; ss5=tf(a5,b5);

a6=[1 10]; b6=[5 15 10]; ss6=tf(a6,b6);

step(ss1,’k-’,ss2,’k--’,ss3,’k:’,ss4,’k--’,ss5,’k:’,ss6,’k-’)

运行即可得出二阶系统单位阶跃响应曲线如图1所示。

图1 二阶系统阶跃响应曲线

分析:由图1可知

①在最小相位系统的情况下,随着c值的增大,零点离虚轴越近,系统的阻尼减小,出现超调。其中,c=-1时系统变为一阶惯性系统,由图可以看出当时间常数为惯性指数(即t=0.5)时,系统输出响应为0.632。

②对于非最小相位系统,系统的响应会出现欠调,减小c的值,零点离虚轴越近,系统的阻尼减小,欠调量增大。

③可以看出不管最小相位系统,还是非最小相位系统,当零点越近接近虚轴时,系统的阻尼越小,响应曲线振荡越厉害。

2.2 二阶系统开环传递函数,分析c的取值对系统阶跃响应的影响。(用Bode图分析)

理论分析:当c取-1和1时绘制系统Bode图相应响应曲线。c=-1时为最小相位系统,c=1为非最小相位系统。

在Matlab中对二阶系统进行仿真,仿真程序如下:

clear all %c= -1 1

a1=[1 1]; b1=[0.5 1.5 1]; ss1=tf(a1,b1);

a2=[-1 1]; b2=[0.5 1.5 1]; ss2=tf(a2,b2);

bode(ss1,’k-.’,ss2,’k--’) legend(’c=-1’,’c=1’);grid;

运行即可得出各个系统Bode图如图2所示:

图2 二阶系统的Bode图

分析:从上面Bode图可以看出,它们具有相同幅频特性,而相频特性不同,并且决定着稳定性:

①对于c=-1时,系统的截止频率?棕c为0,而对数相频特性起始与0°,终止于-90°,在-180°线上没有穿越。系统相角裕度为180°。该最小相位系统为稳定。

②对于c=1时,相频特性起始与360°,可以等效一下移一个周期(即360°),即起始于0°。系统的截止频率?棕c和穿越频率?棕g分别为0和2.23,故得到系统的幅值裕度和相角裕度分别为1.5和180°,该非最小相位系统为稳定。

③在具有相同幅频特性的系统中,最小相位系统的相角变化范围比非最小相位系统小。对于大于零的任何频率,最小相位系统的相角总小于非最小相位系统。

2.3 对传递函数分别增加极点-5、-2.5、-0.5后,仿真其阶跃响应,并与原系统的阶跃响应比较。

在Matlab中对二阶系统进行仿真(注意:增加开环极点后要使响应稳态值不变,需要补偿一个极点绝对值倍的增益。),仿真程序如下:

clear all

% 分别增加极点p= -5 -2.5 -0.5 时系统响应

a1=[1]; b1=conv([1 5],conv([1,2+3i],[1,2-3i])); a1=5*a1; ss1=tf(a1,b1);

a2=[1]; b2=conv([1 2.5],conv([1,2+3i],[1,2-3i])); a2=2.5*a2; ss2=tf(a2,b2);

a3=[1]; b3=conv([1 0.5],conv([1,2+3i],[1,2-3i])); a3=0.5*a3; ss3=tf(a3,b3);

a4=[1]; b4=conv([1,2+3i],[1,2-3i]); ss4=tf(a4,b4);

step(ss1,’k--’,ss2,’k:’,ss3,’k-.’,ss4,’k-’)

运行即可得出系统增加开环极点后单位阶跃响应曲线如图3所示。

图3 增加开环极点的阶跃响应曲线

分析:由图3可知,增加开环极点

①闭环极点的增加使原来的二阶系统的系统阻尼增大,使响应速度减慢(峰值时间迟后),超调量减少,调节时间减小。

②极点离虚轴越近, 阻尼越大,超调量越小。

物理上,将原系统传递函数附加的极点写成时间常数形式,将其看成一个惯性环节,时间常数越大,阻碍响应的作用就越大,对应极点离虚轴越近。

2.4 对传递函数分别增加零点-0.4、-2、-5后,仿真其阶跃响应,并与原系统的阶跃响应比较。

在Matlab中对二阶系统进行仿真(注意:增加开环零点后要使响应稳态值不变,需要补偿一个零点绝对值的倒数倍的增益。),仿真程序如下:

clear all

% 分别增加零点z= -0.4 -2 -5 时系统响应

a1=[1 0.4]; b1=[1 4 13]; b1=b1*0.4; ss1=tf(a1,b1);

a2=[1 2]; b2=[1 4 13]; b2=b2*2; ss2=tf(a2,b2);

a3=[1 5]; b3=[1 4 13]; b3=b3*5; ss3=tf(a3,b3);

a4=[1]; b4=[1 4 13]; ss4=tf(a4,b4);

step(ss1,’k--’,ss2,’k:’,ss3,’k-.’,ss4,’k-’)

运行即可得出系统增加开环零点后单位阶跃响应曲线如图4所示。

图4 增加开环零点的阶跃响应曲线

分析:由图4可知,增加开环零点

①闭环零点的增加将减小系统的阻尼,使响应速度加快(峰值时间提前),超调量增加,调节时间也会增加。②零点离虚轴越近,阻尼会越小,超调量会越大。

物理上,增加零点实际上加入了一阶微分,而微分有超前预测作用,加速系统响应的功能,并且微分时间常数越大,阻尼越小,响应速度越快,对应零点离虚轴越近。

2.5 对开环传递函数分别增加其开环零点-2、-3、2,仿真其根轨迹曲线,观察根轨迹的变化,探讨其中的规律,并给出合理的解释。

在Matlab中对系统进行仿真,仿真程序如下:

clear all

% 系统分别增加零点z= -2 -3 2 后根轨迹曲线

a1=[1 2]; b1=[1 2 2 0]; ss1=tf(a1,b1);

a2=[1 3]; b2=[1 2 2 0]; ss2=tf(a2,b2);

a3=[1 -2]; b3=[1 2 2 0]; ss3=tf(a3,b3);

a4=[1]; b4=[1 2 2 0]; ss4=tf(a4,b4);

rlocus(ss1,’k:’,ss2,’k-.’,ss3,’k--’,ss4,’k-’)

运行即可得出系统增加开环零点后根轨迹曲线如图5所示。

图5 增加开环零点的根轨迹曲线

分析:由图5可知,增加开环零点

①改变了根轨迹在实轴上的分布。②改变了根轨迹渐近线的条数、倾角及截距。若增加的开环零点和某个极点重合或距离很近,构成开环偶极子,则两者相互抵消。因此,可加入一个零点来抵消有损于系统性能的极点。③根轨迹曲线将向左偏移,有利于改善系统的动态性能,而且,所加的零点越靠近虚轴,影响越大。

2.6 对于开环传递函数分别增加其开环极点-2、0、2,仿真其根轨迹曲线,观察根轨迹的变化,探讨其中的规律,并给出合理的解释。

在Matlab中对二阶系统进行仿真,仿真程序如下:

clear all

% 系统分别增加极点p= -2 0 2 后根轨迹曲线

a1=[1]; b1=[1 2 3 0]; ss1=tf(a1,b1);

a2=[1]; b2=[1 1 0 0]; ss2=tf(a2,b2);

a3=[1]; b3=[1 -1 -2 0]; ss3=tf(a3,b3);

a4=[1]; b4=[1 1 0]; ss4=tf(a4,b4);

rlocus(ss1,’k-.’,ss2,’k:’,ss3,’k--’,ss4,’k-’)

运行即可得出系统增加开环极点后根轨迹曲线如图6所示。

图6 增加开环极点的根轨迹曲线

分析:由图6可知:增加开环极点①改变了根轨迹在实轴上的分布。②改变了根轨迹渐近线的条数、倾角和截距。③改变了根轨迹的分支数。④根轨迹曲线向右偏移,不利于改善系统的动态性能。所增加的极点越靠近虚轴,这种影响就越大。

3 实验总结

通过对系统极点和零点分布不同对系统响应、频率特性、根轨迹变化影响进行分析可知:①闭环系统增加零点时,会增加系统响应的超调量,带宽增大,零点离虚轴越近,对系统影响越大。当零点实部远大于原二阶系统阻尼系数时,附加零点对系统的影响减小,所以当零点远离虚轴时,可以忽略零点对系统的影响。②闭环系统增加极点时,系统超调量减小,调整时间增大,极点离虚轴越近,对系统影响越大。当极点实部远大于原二阶系统阻尼系数时,附加极点对系统的影响减小,所以当极点远离虚轴时可以忽略极点对系统的影响。③在具有相同幅频特性的系统中,最小相位系统的相角变化范围为最小。如果两个系统有相同的幅频特性,那么对于大于零的任何频率,最小相位系统的相角总小于非最小相位系统。④附加开环零、极点改变了实轴上根轨迹。开环极点的引入使根轨迹向右移,对系统的稳定性不利,系统的快速性变差,加入的极点越靠近原点,这种作用越强;开环零点的引入使根轨迹向左移动,对系统的稳定性有利,零点越靠近原点,这种作用越强。

参考文献

[1]夏德铃.自动控制理论(第3版)[M].北京:机械工业出版社,2007.

[2]王海英.控制系统的MATLAB仿真与设计[M].北京:高等教育出版社,2009.

[3]胡寿松.自动控制原理基础教程[M].北京:科学出版社,2013.

[4]张聚.基于MATLAB的控制系统仿真及应用[M].北京:电子工业出版社,2012.

上一篇:无线传感器网络跨层优化与控制 下一篇:纳米技术应用于军事领域产生的效应及其对未来...