高阶系统的零、极点分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题 目: 高阶系统的零、极点分析 初始条件:设单位系统的开环传递函数为
2
(),()(48)p K s b
G s D s s s s s a
+=
=+++
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、 当系统开环传递函数为()p G s 时,绘制根轨迹并用Matlab 求取单位阶跃响应、单位
斜坡响应,并求取动态和稳态性能指标
2、 当系统开环传递函数为()()p G s D s ,a=0.1,b=0.11时,绘制根轨迹并用Matlab 求取
单位阶跃响应、单位斜坡响应,并求取动态和稳态性能指标
3、 当系统开环传递函数为()()p G s D s ,a =b=20时,绘制根轨迹并用Matlab 求取单位阶跃响应、单位斜坡响应,并求取动态和稳态性能指标
4、 比较上述三种情况的仿真结果,分析原因,说明偶极子对系统的影响。
时间安排:
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
摘要
本次课程设计的主要任务是对高阶系统零、极点的分析。
一个控制系统的好坏,主要是从系统的稳定性、准确性和快速性三个方面来进行描述的。
此次课程设计主要是利用MATLAB绘制高阶系统的根轨迹,了解高阶系统零、极点的分布情况,求取高阶系统的单位阶跃响应和单位斜坡响应,并分析系统的动态和稳态性能指标。
通过增加系统零、极点,求解不同闭环传递函数下系统的各项性能指标,来分析总结零、极点和偶极子对于高阶系统的影响。
关键字:劳斯稳定判据根轨迹零极点稳定要求性能指标
高阶系统的零、极点分析
1系统稳定性分析
劳斯稳定判据:系统稳定的充分必要条件是劳斯表中的第一列数的符号完全相同。
如果劳斯表中的第一列的符号不完全相同,则系统不稳定。
而且,系统正实部特征根的个数等于劳斯表第一列数的符号变化次数。
根据已知条件可知,所研究系统的开环传递函数:
22()
()()()(48)(48)()
k p K s b K s b G s G s D s s s s s a s s s s a ++=∙=
∙=
++++++ 由开环传递函数可得其闭环特征方程为:
432(4)(84)(8)0s a s a s a K s bK +++++++=
劳斯表如下:
4s 1 84a + bK 3s 4a + 8a K + 0
2
s 2416324a a K a
++-+ bK
1
s 224163241632[(8)(4)]44a a K a a K
a K a bK a a
++-++-⨯+-+⨯++ 0
0s bK
根据劳斯判据可知,系统稳定,则劳斯表中第一列数的符号完全相同。
由以上劳斯表可知,当表中第一列均为正数时,系统稳定,得下列不等式组:
40a +>
24163204a a K
a
++->+
224163241632[(8)(4)]044a a K a a K a K a bK a a ++-++-⨯+-+⨯>++
0bK >
简化得:
40a +>
(*) 2416320a a K ++->
32232(1284)(25688)(3216)0a K bK a K bK a K K bK ++-++-+-->
0bK >
由此可知:当设计系统参数K 、a 、b ,使得不等书组(*)成立,则系统稳定。
确定系统开环增益K :
(1)当20K =时,系统开环传递函数为:2220
()()(48)(48)
k p K G s G s s s s s s s ==
=
++++,可知系统稳定;
(2)当20K =、0.1a =、0.11b =时,系统开环传递函数为:
222()20(0.11)
()()()(48)(48)()(48)(0.1)
k p K s b K s b s G s G s D s s s s s a s s s s a s s s s +++=∙=
∙==
+++++++++, 根据不等式组(*)可知系统稳定;
(3)当20K =、20a b ==时,系统开环传递函数为:
222
()20(20)
()()()(48)(48)()(48)(20)
k p K s b K s b s G s G s D s s s s s a s s s s a s s s s +++=∙=
∙==+++++++++, 根据不等式组(*)可知系统稳定;
故在以下分析时,均取20K =。
2系统开环传递函数为()p
G s 时,对系统的分析
2.1绘制根轨迹
2.1.1利用MATLAB 绘制系统的根轨迹
程序: num=1;
den=conv([1,0],[1,4,8]); sys=tf(num,den); rlocus(num,den); axis([-6,6,-10,10]);
程序运行结果如图2-1所示:
图2-1开环传递函数为()p G s 的系统的根轨迹
Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
-10-8-6-4-20246810
2.1.2手工绘制根轨迹的步骤
(1)写出系统开环传递函数:22
20
()()(48)(48)
k p K G s G s s s s s s s ==
=++++。
(2)写出系统开环零、极点:开环极点:0、-2+2j 、-2-2j 。
(3)确定根轨迹在实轴上的分布:根据法则4,则有实轴上某一区域,若其右方开环
实数零、极点个数之和为奇数,则该区域必定是根轨迹。
(4)确定根轨迹的渐近线:条数:n-m=3-0=3
渐近线与实轴的交点:022
1.333
a α--=
=- 渐近线与实轴的交角:(21)5333
a k πππ
φπ+=
=、、。
(5)确定根轨迹的起始角与终止角。
(6)确定根轨迹与虚轴的交点:()0, 2.8j ±。
2.2系统单位阶跃响应及其稳态误差
2.2.1利用MATLAB 绘制系统的单位阶跃响应曲线
根据系统稳定性分析可知,取20K =,则系统开环传递函数为:
22
20
()()(48)(48)
k p K G s G s s s s s s s ==
=++++, 求得其闭环传递函数为:
232220
()20(48)
()201()48201(48)
k k G s s s s s G s s s s s s s φ++===+++++++
根据闭环传递函数编制MATLAB 程序如下: num=20; %闭环传递函数的分子 den=[1,4,8,20]; %闭环传递函数的分母 sys=tf(num,den); %定义系统 t=0:0.05:35;
step(sys,t); %绘制单位阶跃响应 s=tf('s'); grid on; hold on;
impulse(1/s); %绘制单位阶跃输入 axis([0,30,0,1.6]);
运行此程序得到的单位阶跃响应曲线如图2-2所示:
图2-2单位阶跃响应
2.2.2稳态误差的分析与计算
根据以上绘制的单位阶跃响应曲线可以看出,当时间t 趋于无穷大时,单位阶跃响应趋于常数1,与单位阶跃输入一致,即系统在单位阶跃输入时的稳态误差为0.
系统为Ⅰ型系统,静态位置误差系数p K =∞,由单位阶跃输入作用下的稳态误差公式可知,系统稳态误差0
11
01()
1lim ss k p
s e G s K →==
=++,与MATLAB 绘制出的曲线所得到的结果一致。
0510********
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
A m p l i t u d e
2.3系统单位斜坡响应及其稳态误差
2.3.1利用MATLAB 绘制系统的单位斜坡响应曲线
已知系统闭环传递函数为:232220
()20(48)
()1()48201(48)
k k G s s s s s G s s s s s s s φ++===+++++++,
根据系统闭环传递函数绘制单位斜坡响应曲线,MATLAB 程序如下: num=20; %闭环传递函数的分子 den=[1,4,8,20]; %闭环传递函数的分母 s=tf('s');
sys=tf(num,den); %定义系统 F=sys/(s*s);
impulse(F); %绘制单位斜坡响应 grid on; hold on;
impulse(1/s^2); %绘制单位斜坡输入 axis([0,10,0,10]);
运行此程序得到的单位斜坡响应曲线如图2-3所示:
图2-3单位斜坡响应
123
45678910Impulse Response
Time (seconds)
A m p l i t u d e
2.3.2稳态误差的分析与计算
在此系统中,根据MATLAB 绘制出的曲线图可知,当时间t →∞时,单位斜坡输入和单位斜坡响应之间存在一个差值,且这个差值趋近于一个常数,这个常数即为系统的稳态误差。
计算出稳态误差98.580.42ss e ≈-=。
根据理论分析,用静态速度误差系数表示系统在单位斜坡输入作用下的稳态误差,将
2()1/R s s =代入稳态误差求取公式,可得:
20
1111
lim ()lim 1()()lim ss s s k k
v s e sE s s G s s sG s K →→→==⨯
⨯==
+ 因为所给系统为Ⅰ型系统,其静态速度误差系数0
20
() 2.58
lim v k s K sG s →==
=,所以,110.42.5
ss v e K =
==。
比较结果可知,通过理论分析计算和使用MATLAB 绘制出的曲线所求得的系统稳态误差是近似一致的。
2.4系统在单位阶跃输入时的动态性能指标
系统的动态性能指标包括上升时间、峰值时间、超调量以及调整时间。
已知系统闭环传递函数232220
()20(48)
()201()48201(48)
k k G s s s s s G s s s s s s s φ++===+++++++,根据闭环
传递函数计算系统的动态性能指标。
编写MATLAB 程序如下:
num=20; %闭环传递函数的分子 den=[1,4,8,20]; %闭环传递函数的分母 t=0:0.02:20;
sys=tf(num,den); %建立传递函数对象
[y,t,x]=step(num,den);%求0-20s 之间的单位阶跃响应 r=1;while(y(r)<1.001),r=r+1;end; %求上升时间
tr=(r-1)*0.02;
[ymax,tp]=max(y);tp=(tp-1)*0.02;%求峰值及峰值时间
overshoot=ymax-1;%求超调量
r=446;while(y(r)>0.95&&y(r)<1.05),r=r-1;end;%针对5%误差带,求调整时间ts=(r+1)*0.02;
step(sys,'k-',20);
hold on;
grid on;
plot([tr,tr],[0,1.0],'-.');%标识上升时间
plot([tp,tp],[0,ymax],'-.');%标识峰值时间
plot([0,20],[1.05,1.05],'-.');%标识误差带
plot([0,20],[0.95,0.95],'-.');
plot([ts,ts],[0,0.95],'-.');%标识调整时间
b=num2str(overshoot*100);%将数值转化成字符
ot=char(['overshoot=',b,'%']);%
b=num2str(tp);tpchar=char(['tp=',b,'sec']);
b=num2str(tr);trchar=char(['tr=',b,'sec']);
b=num2str(ts);tschar=char(['ts=',b,'sec']);
text(tp+0.2,ymax,ot);%在图中标出各项指标
text(tp+0.5,ymax-0.1,tpchar);
text(tr+0.2,0.8,trchar);
text(ts+0.2,0.9,tschar);
tr
tp
overshoot
ts
程序运行结果:
>> dtxn1
tr =
1.1400 tp = 1.8200 overshoot = 0.5300 ts =
8.3400
运行此程序绘制得到的单位阶跃响应如图2-4所示:
图2-4 含各项性能指标的单位阶跃响应
根据MATLAB 程序运行的结果以及生成的单位阶跃响应曲线可知,系统在单位阶跃输入
时的动态性能指标为:
上升时间 1.1400r t s = 峰值时间 1.8200p t s = 超调量52.9982%overshoot =
调节时间8.3400s t s =(针对5%的误差带)
0246810
1214161820
0.2
0.40.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
A m p l i t u d e
3系统开环传递函数为()()p
G s D s ,0.10.11a b ==、时,对系统的分析
3.1绘制根轨迹
3.1.1利用MATLAB 绘制系统的根轨迹
程序: num=[1,0.11];
den=conv([1,0.1,0],[1,4,8]); sys=tf(num,den); rlocus(num,den); axis([-3,3,-5,5]);
程序运行结果如图3-1所示:
图3-1系统开环传递函数为()()p G s D s ,0.10.11a b ==、时的根轨迹
-5
-4-3-2-1012345Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
3.1.2手工绘制根轨迹的步骤
(1)写出系统开环传递函数:
222
()(0.11)
()()()(48)(48)()(48)(0.1)
k p K s b K s b K s G s G s D s s s s s a s s s s a s s s s +++=∙=
∙==+++++++++。
(2)写出系统开环零、极点:开环零点:-0.11
开环极点:0、-2+2j 、-2-2j 、-0.1。
(3)确定根轨迹在实轴上的分布:根据法则4,则有实轴上某一区域,若其右方开环
实数零、极点个数之和为奇数,则该区域必定是根轨迹。
(4)确定根轨迹的渐近线:条数:n-m=4-1=3
渐近线与实轴的交点:0220.10.11
1.333
a α---+=
=-
渐近线与实轴的交角:(21)5333
a k πππ
φπ+=
=、、。
(5)确定根轨迹的起始角与终止角。
(6)确定根轨迹与虚轴的交点:()0, 2.83j ±。
3.2系统单位阶跃响应及其稳态误差
3.2.1利用MATLAB 绘制系统的单位阶跃响应曲线
根据系统稳定性分析可知,取20K =,当0.10.11a b ==、时,系统开环传递函数为:
222
()20(0.11)
()()()(48)(48)()(48)(0.1)
k p K s b K s b s G s G s D s s s s s a s s s s a s s s s +++=∙=
∙==+++++++++, 求得其闭环传递函数为:
2432220(0.11)
()20 2.2(48)(0.1)
()20(0.11)1() 4.18.420.8 2.21(48)(0.1)
k k s G s s s s s s s s G s s s s s s s s s φ+++++===++++++++++。
根据闭环传递函数编制MATLAB 程序如下: num=[20,2.2]; %闭环传递函数的分子 den=[1,4.1,8.4,20.8,2.2]; %闭环传递函数的分母 sys=tf(num,den); %定义系统 t=0:0.05:35;
step(sys,t); %绘制单位阶跃响应 s=tf('s'); grid on; hold on;
impulse(1/s); %绘制单位阶跃输入 axis([0,30,0,1.6]);
运行此程序得到的单位阶跃响应曲线如图3-2所示:
图3-2 单位阶跃响应
0510********
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
A m p l i t u d e
3.2.2稳态误差的分析与计算
根据以上绘制的单位阶跃响应曲线可以看出,当时间t 趋于无穷大时,单位阶跃响应趋于常数1,于单位阶跃输入一致,即系统在单位阶跃输入时的稳态误差为0.
系统为Ⅰ型系统,静态位置误差系数p K =∞,由单位阶跃输入作用下的稳态误差公式可知,系统稳态误差0
11
01()
1lim k p
s e G s K ∞→==
=++,与MATLAB 绘制出的曲线所得到的结果一致。
3.3系统单位斜坡响应及其稳态误差
3.3.1利用MATLAB 绘制系统的单位斜坡响应曲线
已知系统闭环传递函数为:
2432220(0.11)
()20 2.2(48)(0.1)
()20(0.11)1() 4.18.420.8 2.21(48)(0.1)
k k s G s s s s s s s s G s s s s s s s s s φ+++++===++++++++++,
根据系统闭环传递函数绘制单位斜坡响应曲线,MATLAB 程序如下: num=[20,2.2]; %闭环传递函数的分子 den=[1,4.1,8.4,20.8,2.2]; %闭环传递函数的分母 s=tf('s');
sys=tf(num,den); %定义系统 F=sys/(s*s);
impulse(F); %绘制单位斜坡响应 grid on; hold on;
impulse(1/s^2); %绘制单位斜坡输入 axis([0,10,0,10]);
运行此程序得到的单位斜坡响应曲线如图3-3所示:
图3-3 单位斜坡响应
3.3.2稳态误差的分析与计算
在此系统中,根据MATLAB 绘制出的曲线图可知,当时间t →∞时,单位斜坡输入和单位斜坡响应之间存在一个差值,且这个差值趋近于一个常数,这个常数即为系统的稳态误差。
计算出稳态误差98.60.4ss e ≈-=。
根据理论分析,用静态速度误差系数表示系统在单位斜坡输入作用下的稳态误差,将
2()1/R s s =代入稳态误差求取公式,可得:
20
1111
lim ()lim 1()()lim ss s s k k
v s e sE s s G s s sG s K →→→==⨯
⨯==+
因为所给系统为Ⅰ型系统,其静态速度误差系数0
200.11
() 2.7580.1
lim v k s K sG s →⨯==
=⨯,所
以,110.362.75
ss v e K =
==。
比较结果可知,理论分析计算和使用MATLAB 绘制曲线所求的系统稳态误差近似一致。
012345
678910
123456
789
10Impulse Response
Time (seconds)
A m p l i t u d e
3.4系统在单位阶跃输入时的动态性能指标
系统的动态性能指标包括上升时间、峰值时间、超调量以及调整时间。
已知系统闭环传递函数:
2432
2
20(0.11)
()20 2.2(48)(0.1)
()20(0.11)1() 4.18.420.8 2.21(48)(0.1)
k k s G s s s s s s s s G s s s s s s s s s φ+++++===++++++++++, 根据闭环传递函数计算系统的动态性能指标。
编写MATLAB 程序如下:
num=[20,2.2]; %闭环传递函数的分子 den=[1,4.1,8.4,20.8,2.2]; %闭环传递函数的分母 t=0:0.02:20;
sys=tf(num,den); %建立传递函数对象
[y,t,x]=step(num,den);%求0-20s 之间的单位阶跃响应 r=1;while(y(r)<1.001),r=r+1;end; %求上升时间 tr=(r-1)*0.02;
[ymax,tp]=max(y);tp=(tp-1)*0.02;%求峰值及峰值时间 overshoot=ymax-1;%求超调量
r=446;while(y(r)>0.95&&y(r)<1.05),r=r-1;end;%针对5%误差带,求调整时间 ts=(r+1)*0.02; step(sys,'k-',20); hold on; grid on;
plot([tr,tr],[0,1.0],'-.');%标识上升时间 plot([tp,tp],[0,ymax],'-.');%标识峰值时间 plot([0,20],[1.05,1.05],'-.');%标识误差带 plot([0,20],[0.95,0.95],'-.');
plot([ts,ts],[0,0.95],'-.');%标识调整时间 b=num2str(overshoot*100);%将数值转化成字符 ot=char(['overshoot=',b,'%']);%
b=num2str(tp);tpchar=char(['tp=',b,'sec']); b=num2str(tr);trchar=char(['tr=',b,'sec']); b=num2str(ts);tschar=char(['ts=',b,'sec']); text(tp+0.2,ymax,ot);%在图中标出各项指标 text(tp+0.5,ymax-0.1,tpchar); text(tr+0.2,0.8,trchar); text(ts+0.2,0.9,tschar); tr tp overshoot ts
程序运行结果: >> dtxy2 tr = 1.1400 tp = 1.8000
overshoot =
0.5377 ts =
8.3600
运行此程序绘制得到的单位阶跃响应如图3-4所示:
根据MATLAB 程序运行的结果以及生成的单位阶跃响应曲线可知,系统在单位阶跃输入
时的动态性能指标为:
上升时间 1.1400r t s = 峰值时间 1.8000p t s = 超调量53.7711%overshoot =
调节时间8.3600s t s =(针对5%的误差带)
图3-4 含各项性能指标的单位阶跃响应
2
4
6
8
10
12
14
16
18
20
00.20.40.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
A m p l i t u d e
4系统开环传递函数为()()p
G s D s ,20a b ==时,对系统的分析
4.1绘制根轨迹
4.1.1利用MATLAB 绘制系统的根轨迹
程序: num=[1,20];
den=conv([1,20,0],[1,4,8]); sys=tf(num,den); rlocus(num,den); axis([-22,5,-5,5]);
程序运行结果如图4-1所示:
图4-1系统开环传递函数为()()p G s D s ,20a b ==时的根轨迹
-20-15-10-505
-5
-4-3-2-101234
5Root Locus
Real Axis (seconds -1)
I m a g i n a r y A x i s (s e c o n d s -1)
4.1.2手工绘制根轨迹的步骤
(1)写出系统开环传递函数:
222
()20(20)
()()()(48)(48)()(48)(20)
k p K s b K s b s G s G s D s s s s s a s s s s a s s s s +++=∙=
∙==+++++++++。
(2)写出系统开环零、极点:开环零点:-20
开环极点:0、-2+2j 、-2-2j 、-20。
(3)确定根轨迹在实轴上的分布:根据法则4,则有实轴上某一区域,若其右方开环
实数零、极点个数之和为奇数,则该区域必定是根轨迹。
(4)确定根轨迹的渐近线:条数:n-m=4-1=3
渐近线与实轴的交点:0222020
1.333
a α---+=
=-
渐近线与实轴的交角:(21)5333
a k πππ
φπ+=
=、、。
(5)确定根轨迹的起始角与终止角。
(6)确定根轨迹与虚轴的交点:()0, 2.88j ±。
4.2系统单位阶跃响应及其稳态误差
4.2.1利用MATLAB 绘制系统的单位阶跃响应曲线
根据系统稳定性分析可知,取20K =,当20a b ==时,系统开环传递函数为:
222
()20(20)
()()()(48)(48)()(48)(20)
k p K s b K s b s G s G s D s s s s s a s s s s a s s s s +++=∙=
∙==+++++++++, 求得其闭环传递函数为:
2432220(20)
()20400(48)(20)
()20(20)1()24881804001(48)(20)
k k s G s s s s s s s s G s s s s s s s s s φ+++++===++++++++++
根据闭环传递函数编制MATLAB 程序如下: num=[20,400]; %闭环传递函数的分子 den=[1,24,88,180,400]; %闭环传递函数的分母 sys=tf(num,den); %定义系统 t=0:0.05:35;
step(sys,t); %绘制单位阶跃响应 s=tf('s'); grid on; hold on;
impulse(1/s); %绘制单位阶跃输入 axis([0,30,0,1.6]);
运行此程序得到的单位阶跃响应曲线如图4-2所示:
图4-2 单位阶跃响应
0510********
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
A m p l i t u d e
4.2.2稳态误差的分析与计算
根据以上绘制的单位阶跃响应曲线可以看出,当时间t 趋于无穷大时,单位阶跃响应趋于常数1,于单位阶跃输入一致,即系统在单位阶跃输入时的稳态误差为0.
系统为Ⅰ型系统,静态位置误差系数p K =∞,由单位阶跃输入作用下的稳态误差公式可得,系统稳态误差0
11
01()
1lim k p
s e G s K ∞→==
=++,与MATLAB 绘制出的曲线所得到的结果一致。
4.3系统单位斜坡响应及其稳态误差
4.3.1利用MATLAB 绘制系统的单位斜坡响应曲线
已知系统闭环传递函数为:
2432220(20)
()20400(48)(20)
()20(20)1()24881804001(48)(20)
k k s G s s s s s s s s G s s s s s s s s s φ+++++===++++++++++,
根据系统闭环传递函数绘制单位斜坡响应曲线。
MATLAB 程序如下:
num=[20,400]; %闭环传递函数的分子 den=[1,24,88,180,400]; %闭环传递函数的分母 s=tf('s');
sys=tf(num,den); %定义系统 F=sys/(s*s);
impulse(F); %绘制单位斜坡响应 grid on; hold on;
impulse(1/s^2); %绘制单位斜坡输入 axis([0,10,0,10]);
运行此程序得到的单位斜坡响应曲线如图4-3所示:
图4-3 单位斜坡响应
4.3.2稳态误差的分析与计算
在此系统中,根据MATLAB 绘制出的曲线图可知,当时间t →∞时,单位斜坡输入和单位斜坡响应之间存在一个差值,且这个差值趋近于一个常数,这个常数即为系统的稳态误差。
计算出稳态误差98.580.42ss e ≈-=。
根据理论分析,用静态速度误差系数表示系统在单位斜坡输入作用下的稳态误差,将
2()1/R s s =代入稳态误差求取公式,可得:
20
1111
lim ()lim 1()()lim ss s s k k
v s e sE s s G s s sG s K →→→==⨯
⨯==+
因为所给系统为Ⅰ型系统,其静态速度误差系数0
2020
() 2.5820
lim v k s K sG s →⨯==
=⨯,所以,110.42.5
ss v e K =
==。
比较结果可知,理论分析计算和使用MATLAB 绘制曲线所求的系统稳态误差近似一致。
012345
678910
123456
789
10Impulse Response
Time (seconds)
A m p l i t u d e
4.4系统在单位阶跃输入时的动态性能指标
系统的动态性能指标包括上升时间、峰值时间、超调量以及调整时间。
已知系统闭环传递函数:
2432
2
20(20)
()20400(48)(20)
()20(20)1()24881804001(48)(20)
k k s G s s s s s s s s G s s s s s s s s s φ+++++===++++++++++。
根据闭环传递函数计算系统的动态性能指标。
编写MATLAB 程序如下:
num=[20,400]; %闭环传递函数的分子 den=[1,24,88,180,400]; %闭环传递函数的分母 t=0:0.02:20;
sys=tf(num,den); %建立传递函数对象
[y,t,x]=step(num,den);%求0-20s 之间的单位阶跃响应 r=1;while(y(r)<1.001),r=r+1;end; %求上升时间 tr=(r-1)*0.02;
[ymax,tp]=max(y);tp=(tp-1)*0.02;%求峰值及峰值时间 overshoot=ymax-1;%求超调量
r=446;while(y(r)>0.95&&y(r)<1.05),r=r-1;end;%针对5%误差带,求调整时间 ts=(r+1)*0.02; step(sys,'k-',20); hold on; grid on;
plot([tr,tr],[0,1.0],'-.');%标识上升时间 plot([tp,tp],[0,ymax],'-.');%标识峰值时间 plot([0,20],[1.05,1.05],'-.');%标识误差带 plot([0,20],[0.95,0.95],'-.');
plot([ts,ts],[0,0.95],'-.');%标识调整时间 b=num2str(overshoot*100);%将数值转化成字符 ot=char(['overshoot=',b,'%']);%
b=num2str(tp);tpchar=char(['tp=',b,'sec']); b=num2str(tr);trchar=char(['tr=',b,'sec']); b=num2str(ts);tschar=char(['ts=',b,'sec']); text(tp+0.2,ymax,ot);%在图中标出各项指标 text(tp+0.5,ymax-0.1,tpchar); text(tr+0.2,0.8,trchar); text(ts+0.2,0.9,tschar); tr tp overshoot ts
程序运行结果: >> dtxy3 tr = 1.1400 tp = 1.8200 overshoot = 0.5300 ts =
8.3400
运行此程序绘制得到的单位阶跃响应如图4-4所示:
根据MATLAB 程序运行的结果以及生成的单位阶跃响应曲线可知,系统在单位阶跃输入
时的动态性能指标为:
上升时间 1.1400r t s = 峰值时间 1.8200p t s = 超调量53.00%overshoot =
调节时间8.3400s t s =(针对5%的误差带)
图4-4 含各项性能指标的单位阶跃响应
0246810
1214161820
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
Step Response
Time (seconds)
A m p l i t u d e
5综合分析及结论
5.1三种高阶系统动态性能分析比较
根据表格可知:系统2相对于系统1、3峰值时间较短,调节时间较长,超调量较大。
5.2三种高阶系统稳态性能分析比较
由表格数据可知,利用MATLAB仿真所得系统稳态误差与理论计算所得系统稳定误差近似一致。
在单位斜坡输入信号作用下,系统2相对于系统1、3的稳态误差变小。
5.3分析和小结
根据以上表格中的数据,可知,3个系统的各项性能指标比较接近,变化不是很大,系统2相对于系统1、3峰值时间较短,调节时间较长,超调量较大且在单位斜坡输入信号作用下的稳态误差较小。
这是由于系统增加了零、极点且增加的零、极点刚好构成了偶极子,使得它们对于系统性能的综合影响比较小。
对于系统2,0.11
()0.1
s D s s +=+,增加的零点()0.11,0-和极点()0.1,0-相距
0.1(0.11)0
d =---=,约为其本身模值的十分之一,小一个数量级,构成偶极子,但由于这对偶极子距离原点比较近,因此对系统的动态性能有少量影响。
其综合效果是使得系统2相对于系统1峰值时间较短,调节时间较长,超调量较大;在单位斜坡输入信号作用下,系统2相对于系统1的稳态误差变小。
对于系统3,因为20a b ==,20
()20
s D s s +=+,使得增加的零、极点重合,均为()20,0-,
构成偶极子,又因为这对偶极子距离原点比较远,因此对系统的动态性能几乎没什么影响,表现为系统3和系统1的各项动态性能指标相一致;其稳态误差也一样。
如果闭环极点全部位于s 左半平面,则系统一定是稳定的,即系统稳定性只与闭环极点的位置有关,而与闭环零点的位置无关。
系统动态性能基本上由接近虚轴的闭环极点确定。
若有闭环极点接近虚轴,又不十分接近闭环零点,则该闭环极点有可能成为主导极点,主导极点对系统整个时间响应过程起主要作用。
零点可以减小系统的阻尼,使峰值时间提前,超调量增大;极点可以增加系统的阻尼,使峰值时间滞后,超调量减小。
它们的作用,随着其本身接近坐标原点的程度而加强。
如果闭环零、极点相距很近,那么这样的闭环零、极点常称为偶极子。
一般认为,如果闭环零、极点之间的距离比它们本身的模值小一个数量级,则这一对闭环零、极点就构成了偶极子。
一般,只要偶极子不十分接近坐标原点,它们对系统动态性能的影响就很小。
6心得体会
本次课程设计的主要任务是对高阶系统零、极点的分析。
在课程设计期间,我对相关知识有了更加深入的了解,同时也学到了许多新的知识。
在本次课程设计中,我熟练掌握了利用MATLAB绘制系统根轨迹以及系统在典型信号(单位阶跃响应和单位斜坡响应)输入作用下的输出响应。
通过根轨迹了解系统零、极点的分布情况,通过输出响应求得动态和稳态各项性能指标。
通过软件仿真和理论计算进行对比分析和归纳总结,深入了解了零、极点对于高阶系统动态性能的影响,特别是偶极子对于系统动态性能的影响。
本次课程设计不仅让我对高阶系统零、极点有了进一步的了解,而且还让我熟悉了MATLAB的编程,掌握了利用软件编程的方法来求解高阶系统的各项性能指标,为今后的深入学习奠定了基础。
在本次课程设计中,我查阅了很多相关的资料,了解到了一些课堂上没有涉及到的内容,并积累了相关的经验。
相信有了此次课程设计的经验和教训,我将能更好地学好这门功课,更好地将理论与实际结合起来。
参考文献
[1]胡寿松.自动控制原理.第五版.北京:科学出版社.2006
[2]王万良.自动控制原理.北京:高等教育出版社.2008
[3]张若青.控制工程基础及MATLAB实践.北京:高等教育出版社.2008
[4]王丹力.MATLAB控制系统设计仿真应用.北京:中国电力出版社.2007
[5]胡寿松.自动控制原理习题解析.北京:科学出版社.2007
[6]徐薇莉.自动控制理论与设计.上海:上海交通大学出版社.2005。