用MATLAB进行控制系统的动态性能的分析报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用MATLAB 进行控制系统的动态性能的分析
初始条件:已知三阶系统的闭环传递函数为
)64.08.0)(11
(7
.2)(2+++=
s s s a
s G
分析系统的动态性能。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、 用MATLAB 函数编程,求系统的动态性能指标。
2、 设64.08.02++s s 的根是系统的主导极点,编制程序,求系统的动态性能指标。
3、 用MATLAB 编制程序分析a =0.84,a =2.1,a =4.2系统的阶跃响应曲线,分析高阶系统忽略附加极点,近似为二阶系统的条件。
4、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB 程序和MATLAB 输出。说明书的格式按照教务处标准书写。 时间安排:
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
用MATLAB 进行控制系统的动态性能的分析
1 MATLAB 函数编程 1.1 传递函数的整理
已知三阶系统的闭环传递函数为:
)64.08.0)(11
(7
.2)(2+++=
s s s a
s G
整理成一般式可以得到:
G(s)=
a
s a s a s a
64.0)8.064.0()8.0(7.223+++++,
其中a 为未知参数。从一般式可以看出系统没有零点,有三个极点(其中一个实数极点和一对共轭复数极点)。 1.2 动态性能指标的定义
上升时间r t :当系统的阶跃响应第一次达到稳态值的时间。上升时间是系统 响应速度的一种度量。上升时间越短,响应速度越快。
峰值时间p t :系统阶跃响应达到最大值的时间。最大值一般都发
生在阶跃响应的第一个峰值时间,所以又称为峰值时间。
调节时间s t :当系统的阶跃响应衰减到给定的误差带内,并且以后不再超出给定的误差带的时间。
超调量 σp %:阶跃响应的最大值m ax c 超过稳态值)(∞c 的百分数
σp %=
)
()
(m ax ∞∞-c c c ×100% 或者不以百分数表示,则记为
σp =
)
()
(m ax ∞∞-c c c 超调量σp %反映了系统输出量在调节过程中与稳态值的最大偏差,是衡量系统性能的一个重要的指标。
在实际应用中,常用的动态性能指标多为上升时间、调节时间和超调量。通常,用r t 或p t 评价系统的响应速度;用σp %评价系统的阻尼程度;而s t 是同时反映响应速度和阻尼程度的综合性能指标。应当指出,除简单的一、二阶系统外,要精确确定这些动态性能指标的解析表达式是很困难的。
1.3 MATLAB 函数编程求系统的动态性能
根据三阶系统闭环传递函数的一般表达式,在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 三阶系统的近似分析
根据主导极点的概念,可知该三阶系统具有一对共轭复数主导极点1s =-0.4±0.693j,因此该三阶系统可近似成如下的二阶系统:
G(s)≈
64
.08.07
.22++s s
再利用MATLAB 的零极点绘图命令pzmap ,可得该二阶系统的零、极点分布,在Editor 里面编写如下程序:
H=tf([2.7],[1 0.8 0.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 %求超调量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
在Editor里面保存好程序,点击运行程序的命令图标。