用MATLAB进行控制系统的动态性能的分析 - 自动控制原理课程设计

更新时间:2023-10-05 03:21:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学 号: 课 程 设 计

题 目 学 院 专 业 班 级 姓 名 指导教师

用MATLAB进行控制系统的动态

性能的分析

自动化学院 自动化专业

2013 年 1 月 1 日

武汉理工大学《自动控制原理》课程设计说明书

课程设计任务书

学生姓名: 专业班级: 指导教师: 工作单位: 自动化学院

题 目: 用MATLAB进行控制系统的动态性能的分析 初始条件:已知三阶系统的闭环传递函数为

G(s)?2.71(s?1)(s2?0.8s?0.64)a

分析系统的动态性能。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1、用MATLAB函数编程,求系统的动态性能指标。

2、设s2?0.8s?0.64的根是系统的主导极点,编制程序,求系统的动态性能指标。 3、用MATLAB编制程序分析a=0.84,a=2.1,a=4.2系统的阶跃响应曲线,分析高阶系统忽略附加极点,近似为二阶系统的条件。

3、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。说明书的格式按照教务处标准书写。

时间安排:

任务 审题、查阅相关资料 分析、计算 编写程序 撰写报告 论文答辩

时间(天) 2 2 2 0.5 0.5 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

1

武汉理工大学《自动控制原理》课程设计说明书

摘 要

在控制系统中,我们常常很关注系统的动态性能指标,以此来评估系统对突然变化的输入信号的适应能力。对于二阶系统,特别是处于欠阻尼状态的典型二阶系统,分析其动态性能比较方便。而三阶及以上的高阶系统分析起来则比较复杂,为了工程上的需求,我们往往可以使用近似的方法来估算系统的动态性能。因此,研究将高阶系统近似为二阶系统估算其动态性能的条件显得尤为重要。

我们先将给定高阶系统近似为二阶系统来计算其动态性能,然后给定系统中的参数几个确定的值,并用MATLAB软件来精确分析高阶系统的动态性能,并与近似计算所得结果进行比较,从而可以得到将高阶系统近似为二阶系统以估算其动态性能的条件。

利用数学工具MATLAB编程,我们可以准确地分析系统的动态性能,并将结果与估算结果进行比较以得到结论。因此,掌握MATLAB的基本使用方法和编程技巧以及其在控制理论中的应用也非常重要。

关键词: 控制系统 MATLAB 动态性能 近似条件

2

武汉理工大学《自动控制原理》课程设计说明书

目 录

1 高阶系统动态性能分析 ....................................................................................... 4

1.1 传递函数整理 ............................................................................................ 4 1.2 Matlab 编程求解系统动态性能指标 ...................................................... 4 2 闭环主导极点和近似分析 ................................................................................... 6

2.1 闭环主导极点 ............................................................................................ 6 2.2 系统动态性能的近似分析 ........................................................................ 6 3 a值确定时系统的动态性能 ................................................................................ 9

3.1 a=0.84时系统的动态响应 ....................................................................... 9 3.2 a=2.1时系统的动态响应 ....................................................................... 11 3.3 a=4.2时系统的动态响应 ....................................................................... 11 3.4 高阶系统近似的条件 .............................................................................. 12 4 心得体会 ............................................................................................................. 14 参考文献 ................................................................................................................. 15 附录 仿真程序 ....................................................................................................... 16 本科生课程设计成绩评定表 ................................................................................. 17

3

武汉理工大学《自动控制原理》课程设计说明书

1 高阶系统动态性能分析

1.1 传递函数整理

已知三阶系统的闭环传递函数为

G(s)?2.71(s?1)(s2?0.8s?0.64)a

将其化简为典型三阶系统传递函数的形式

G(s)?4.220.64a

(s?a)(s2?0.8s?0.64)式中a为未知参数,系统没有零点,有3个极点,其中1个实数极点,1对共轭复数极点。根据题目给定条件,系统的闭环主导极点为方程s2?0.8s?0.64=0的共轭复根。利用该式便于利用系统的闭环主导极点来近似分析系统的动态性能。

将系统的闭环传递函数化为一般形式,有

G(s)?2.7a 32s?(0.8?a)s?(0.64?0.8a)s?0.64a利用该式便于使用Matlab 对系统的动态性能进行分析。

1.2 Matlab 编程求解系统动态性能指标

为了方便后面利用Matlab对系统动态性能进行分析,可以根据三阶系统闭环传递函数的一般表达式,编写通用的求解性能指标的程序,程序如下:

num = [2.7*a];

den = [1 0.8+a 0.64+0.8*a 0.64*a]; G = tf(num,den);

t = 0:0.01:30; %给定时间范围 step(G,t); %输出阶跃响应曲线 [y,x,t]=step(num,den,t);

ymax = max(y); %求响应峰值 yss = y(length(t)); %求响应终值 pos = (ymax - yss) / yss %求超调量

4

武汉理工大学《自动控制原理》课程设计说明书

for n = 1:3001

if y(n) == ymax;tp=n; end end

tp = (tp-1)/100 %求峰值时间 n=3001; y1=1.02*yss;

y2=0.98*yss; %取△=0.02 while n > 0 n = n-1;

if y(n) >= y1 | y(n) <= y2; ts=n; break end end

ts=(ts-1)/100 %求调节时间 xlabel('t');ylabel('h(t)'); title('Unit-Step Response'); grid

利用该程序可以通过Matlab 准确分析系统的动态性能指标,前提是给定了a的数值,将a的值代入程序即可完成计算。

5

武汉理工大学《自动控制原理》课程设计说明书

2 闭环主导极点和近似分析

2.1 闭环主导极点

对于该三阶系统来说,它有一对共轭复数极点s1,2=-0.4 + j0.69,一个实数极点s3=-a,其中共轭复数极点s1,2是系统的闭环主导极点。假设s3距离虚轴的距离比s1、s2离虚轴的距离大得多,即|a|>>|-0.4 + j0.69|,则可以将该三阶系统近似为相应的二阶系统,从而达到简化分析的目的。

由三阶系统的闭环传递函数

G(s)?2.71(s?1)(s2?0.8s?0.64)a

1忽略分母中(s?1)项,则可以得到相应的二阶系统的闭环传递函数

a2.7G'(s)?2

s?0.8s?0.64

从该式可以很容易看出二阶系统的ωn=0.8 rad/s,ζ=0.5,故该二阶系统处于欠阻尼状态。

2.2 系统动态性能的近似分析

根据二阶系统在欠阻尼状态下动态响应性能指标的公式,很容易可以求出系统的动态性能指标

tp???= 4.53s ?2?d?n1???????ets?1??2= 0.163 = 10s

4??n利用Matlab编程,可以得到系统的响应曲线,也可以对系统的动态性能指标进行求解,程序如下:

num = [2.7]; den = [1 0.8 0.64]; G = tf(num,den)

6

武汉理工大学《自动控制原理》课程设计说明书

t = 0:0.01:30; %给定时间范围 step(G,t); %输出阶跃响应曲线 [y,x,t] = step(num,den,t);

ymax = max(y); %求响应峰值 yss = y(length(t)) %求响应终值 pos = (ymax - yss) / yss %求超调量 for n = 1:3001

if y(n) == ymax; tp=n; end end

tp = (tp-1) / 100 %n = 3001; y1 = 1.02*yss;

y2 = 0.98*yss; while n > 0 n = n-1;

if y(n) >= y1 | y(n) <= y2; ts = n; break end end

ts = (ts-1)/100 xlabel('t'); ylabel('h(t)'); title('Unit-Step Response'); grid

保存并运行该程序,得到的响应曲线如图2-1所示

7

求峰值时间 %取△=0.05 %求调节时间 武汉理工大学《自动控制原理》课程设计说明书

Unit-Step Response54.543.53h(t)2.521.510.50051015t (sec)202530 图2-1 近似计算时系统的单位阶跃响应曲线

同时可以求得系统动态性能如下:

σ= pos = 0.1630 tp = 4.5300s ts = 10.0900s

可以看出,该结果与根据公式直接计算一致。

8

武汉理工大学《自动控制原理》课程设计说明书

3 a值确定时系统的动态性能

3.1 a=0.84时系统的动态响应

将a=0.84代入1.2节所列程序中,或者在程序最前面加入语句

a = 0.84;

得到如下程序

a = 0.84; num = [2.7*a];

den = [1 0.8+a 0.64+0.8*a 0.64*a]; G = tf(num,den);

t = 0:0.01:30; %step(G,t); %[y,x,t] =step(num,den,t);

ymax = max(y); %yss = y(length(t)); %pos = (ymax - yss) / yss %for n = 1:3001

if y(n) == ymax; tp=n; end end

tp = (tp-1) / 100 %n=3001; y1 = 1.02*yss;

y2 = 0.98*yss; %while n > 0 n = n-1;

if y(n) >= y1 | y(n) <= y2; ts=n; break

9

给定时间范围 输出阶跃响应曲线 求响应峰值 求响应终值 求超调量求峰值时间 取△=0.02

本文来源:https://www.bwwdw.com/article/na8d.html

Top