设计任务书
学生姓名: 梅浪奇 专业班级: 自动化1002班 指导教师: 肖纯 工作单位: 自动化学院
题 目: 零极点对系统性能的影响分析 初始条件:
系统开环传递函数为G1(s)(s/a1)1G(s)或,其中G1(s)2[(s/p)1](s2s1)(s2s1)是在阻尼系数0.5的归一化二阶系统的传递函数上增加了一个零点得到的,G2(s)是在阻尼系数0.5的归一化二阶系统的传递函数上增加了一个极点得到的。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体
要求)
(1) 当开环传递函数为G1(s)时,绘制系统的根轨迹和奈奎斯特曲线; (2) 当开环传递函数为G1(s)时,a分别取0.01,1,100时,用Matlab计算
系统阶跃响应的超调量和系统频率响应的谐振峰值,并分析两者的关系; (3) 画出(2)中各a值的波特图;
(4) 当开环传递函数为G2(s)时,绘制系统的根轨迹和奈奎斯特曲线; (5) 当开环传递函数为G2(s)时,p分别取0.01,1,100时,绘制不同p值时
的波特图;
(6) 对比增加极点后系统带宽和原二阶系统的带宽,分析增加极点对系统带宽
的影响;
(7) 用Matlab画出上述每种情况的在单位反馈时对单位阶跃输入的响应; (8) 对上述任务写出完整的课程设计说明书,说明书中必须写清楚分析计算的
过程,并包含Matlab源程序或Simulink仿真模型,说明书的格式按照教务处标准书写。
I
武汉理工大学《自动控制原理》课程设计说明书
时间安排:
任务 指导老师下达任务书,审题、查阅相关资料 时间(天) 2 分析、计算 编写程序 撰写报告 论文答辩
指导教师签名:
系主任(或责任教师)签名:年 年 II
2 1 2 1 月 日 月 日
武汉理工大学《自动控制原理》课程设计说明书
目 录
1综述 .............................................................................................................................................................. 1 2增加零极点对系统稳定性的影响 .............................................................................................................. 1
2.1增加零点对系统稳定性的影响 ....................................................................................................... 2
2.1.1开环传递函数G1(s)的根轨迹曲线 ................................................................................. 2 2.1.2开环传递函数G1(s)的奈奎斯特曲线 ............................................................................. 3 2.2增加极点对系统稳定性的影响 ....................................................................................................... 3
2.2.1开环传递函数G2(s)的根轨迹曲线 ................................................................................. 3 2.2.2开环传递函数G2(s)的奈奎斯特曲线 ............................................................................. 5
3增加零极点对系统暂态性能的影响 .......................................................................................................... 7
3.1增加零点对系统暂态性能的影响 ................................................................................................... 7
3.1.1零点a=0.01时的阶跃响应和伯德图 ................................................................................... 7 3.1.2零点a= 1时的阶跃响应和伯德图 ....................................................................................... 9 3.1.3零点a= 100时的阶跃响应和伯德图 ................................................................................. 10 3.1.4原系统的阶跃响应和伯德图 .............................................................................................. 12 3.1.5综合分析 .............................................................................................................................. 13 3.2增加极点对系统暂态性能的影响 ................................................................................................. 14
3.2.1极点p=0.01时的阶跃响应和伯德图 ................................................................................. 14 3.2.2极点p=1时的阶跃响应和伯德图 ...................................................................................... 15 3.2.3极点p=100时的阶跃响应和伯德图 .................................................................................. 17 3.2.4综合分析 .............................................................................................................................. 18
4增加零极点对系统稳态性能的影响 ........................................................................................................ 19
4.1增加的零极点在s的左半平面 ..................................................................................................... 19 4.2增加的零极点在s的虚轴上 ......................................................................................................... 23 5设计心得体会 ............................................................................................................................................ 26 6参考文献 .................................................................................................................................................... 27 附录1:课程设计中所用到的程序 ............................................................................................................ 28 附录2:本科生课程设计成绩评定表 ........................................................................................................ 40
武汉理工大学《自动控制原理》课程设计说明书
零极点对系统性能的影响分析
1综述
在自动控制系统中,对系统各项性能如稳定性,动态性能和稳态性能等有一定的要求,稳定性是控制系统的本质,指的是控制系统偏离平衡状态后自动恢复到平衡状态的能力。系统动态性能是在零初始条件下通过阶跃响应来定义的,对于稳定的系统,动态性能一般指系统的超调量、超调时间、上升时间、调整时间,描述的是系统的最大偏差以及反应的快速性;稳态性能指的是系统的稳态误差,描述的是系统的控制精度。
在本文中,采用增加零极点并变化其值的思路,从时域和频域两个方面来研究高阶系统的各项性能指标,并借助工程软件matlab通过编程来绘制系统的根轨迹曲线、奈奎斯特曲线,阶跃响应曲线以及波特图曲线,研究系统的零极点对系统性能的影响。
2增加零极点对系统稳定性的影响
线性定常系统稳定的充分必要条件:闭环系统特征方程的所有根都具有负实部,或者说闭环传递函数的所有极点均位于为S平面的左半部分(不包括虚轴)。
由于此处讨论的是开环零极点对系统稳定性的影响,而闭环传递函数的特征方程不
易求出,在时域中直接分析较为困难。相比之下,以开环零极点作为研究对象的根轨迹法和频域法则更显优势。基于这层考虑,本节主要通过根轨迹法和频域法分析增加零极点对系统稳定性的影响。
设系统开环传递函数分别为G1(s)(s/a1)1G(s)和,其中222[(s/p)1](ss1)(ss1)G1(s)和G2(s)分别是在阻尼系数0.5的归一化二阶系统的传递函数上增加了一个零点或极点的结果。下面将首先通过根轨迹法对G1(s)和G2(s)的稳定性进行分析,接着在频域中通过奈奎斯特曲线对得出的结论作进一步验证。
1
武汉理工大学《自动控制原理》课程设计说明书
2.1增加零点对系统稳定性的影响
2.1.1开环传递函数G1(s)的根轨迹曲线
系统开环传递函数G1(s)为:s2s1(s/a1)的根轨迹为广义根轨迹,系统闭环特征方程
(s2s1)s10 。将上式变换可得 ak1s10 2ss2其中k11 。 ak1s,所以,绘制开环传递函数G1'(s)的根轨迹,实际上就是原系
s2+s+2设G1'(s)统G1(s)的根轨迹。
图1 G1(s)的根轨迹图
在MATLAB中建立M文件M2_1.m(程序内容见附录1),运行后的结果如图1所示。
从根轨迹图上可以看出,随着k1值的改变,系统的闭环极点始终在S平面的左半部分,即增加零点并不改变原系统的稳定性。
2
武汉理工大学《自动控制原理》课程设计说明书
2.1.2开环传递函数G1(s)的奈奎斯特曲线
当a分别取1,2,3,…10时,分别画出其对应的奈奎斯特曲线。
在matlab中建立M文件M2_2.m(程序内容见附录1)。运行结果如图2所示。
图2 G1(s)的奈奎斯特曲线
由运行结果可以发现,当a取1,2,3,…10不同的值时,其对应的奈奎斯特曲线均
不包含点(-1j,0),根据奈奎斯特稳定判据知,此时的系统稳定。实际上当a取其它的值时,其对应的奈奎斯特曲线也不可能包围点(-1j,0),此处证明从略。
2.2增加极点对系统稳定性的影响
2.2.1开环传递函数G2(s)的根轨迹曲线
系统开环传递函数G2(s)1的根轨迹为广义根轨迹,系统闭环
[(s/p)1](s2s1)s特征方程为: (+1)(s2+s+1)+1=0。将上式变换可得
p3
武汉理工大学《自动控制原理》课程设计说明书
k2(s3+s2+s)10
s2s2其中k21 。 pk2(s3+s2+s)设G2'(s),所以,绘制开环传递函数G2'(s)的根轨迹,实际上就是
s2+s+2原系统G2(s)的根轨迹。
在MATLAB中建立M文件M2_3.m(程序内容见附录1),运行后的结果如图3所示。
图3 G2(s)的根轨迹曲线
从根轨迹上可以发现,当k2在0到∞间变化时,系统的闭环极点始终在S平面的左半部分,增加极点对该系统的稳定性无影响。
但考虑到曲线有向右拉的的趋势,此时还不能断定增加极点对所有的闭环系统无影响。当原系统的ξ不再是0.5时,增加极点后系统的传递函数为
G(s)1 2[(s/p)1](s2s1)变换后可得
4
武汉理工大学《自动控制原理》课程设计说明书
k2(s3+2s2+s)10 2s2s2其中k21 。 p下面分别画出阻尼系数0.1,0.3,1,1.5,2时增加极点的根轨迹图。 在matlab中建立M文件M2_4.m(程序内容见附录1),运行后的结果如图4所示。
图4 G(s)的根轨迹曲线
由图4可以发现,当阻尼系数ξ=0.05,0.1时,其对应的根轨迹曲线有一部分在s
平面的右边,即增加极点后系统的稳定性会受到影响。
2.2.2开环传递函数G2(s)的奈奎斯特曲线
当p分别为0.01,0.1,1,10,100时,分别画出G2(s)和ξ=0.1时G(s)的奈奎斯特曲线。
matlab中建立M文件M2_5.m(程序内容见附录1)。运行结果如图5、图6所示。
5
武汉理工大学《自动控制原理》课程设计说明书
图5 G1(s)的奈奎斯特曲线
图6 G(s)的奈奎斯特曲线(ξ=0.1)
6
武汉理工大学《自动控制原理》课程设计说明书
分析以上曲线,,当p变化时,G2(s)系统的奈奎斯特曲线不会包含点(-1j,0),
根据奈奎斯特稳定判据知,此时的系统稳定。但当原系统的阻尼系数ξ=0.1时,此时若增加极点-1,即p=1,则系统的奈奎斯特曲线与实轴的交点将在(-1j,0),的左边,即包含点(-1j,0),此时的系统将不再稳定
通过本节根轨迹曲线及奈奎斯特曲线分析可以得出结论: 增加零点不改变系统的稳定性; 增加极点改变极点的稳定性。
3增加零极点对系统暂态性能的影响
系统稳定是系统能够正常工作的前提,因为当系统不稳定时,任何扰动都会使系统
的输出趋于无穷。但对于稳定系统,还需要有较好的动态性能。一般要求系统跟踪输入跟踪变化的速度要快,跟踪精度要高。
本节将从时域和频域两个方面进行讨论。在时域中将主要分析系统的超调量和调节
时间,在频域中将主要讨论系统的谐振峰值和带宽,分析增加开环零极点对系统暂态性能的影响。
为了讨论方便,这里仍选用第二节中的G1(s)和G2(s)为研究对象。
3.1增加零点对系统暂态性能的影响
在开环传递函数G1(s)中,当增加的零点分别是0.01,1,100时,画出其对应的阶跃响应曲线和伯德图,并分析其对应的超调量,调节时间谐振峰值和带宽。
3.1.1零点a=0.01时的阶跃响应和伯德图
此时,系统的开环传递函数为G11(s)100s1100s1 ,闭环传递函数为。 (s)1122ss1s101s2在matlab中建立M文件M3_1.m(程序内容见附录1)。运行结果如图7、图8所示,同时在matlab命令窗口得到Mr=100.0050,Mb=141.2573 。
由图7可以算出超调量
%0.9890.5100%97.8% p0.5调节时间
ts =270s
7
武汉理工大学《自动控制原理》课程设计说明书
图7 a=0.01时G1的阶跃响应曲线
图8 a=0.01时G1的伯德图
8
武汉理工大学《自动控制原理》课程设计说明书
3.1.2零点a= 1时的阶跃响应和伯德图
当零点a=1时,系统的开环传递函数为
G12(s)(s1)
(s2s1)闭环传递函数为
12(s)(s1)
(s22s2)在matlab中建立M文件M3_2.m(程序内容见附录1)。运行结果如图9、图10所示,同时在matlab命令窗口得到Mr=1.4676,Wb=1.816 。
由图9可以算出超调量
%0.6040.5100%20.8% p0.5调节时间
ts =3.82s
图9 a=1时G1的阶跃响应曲线
9
武汉理工大学《自动控制原理》课程设计说明书
图10 a=1时G1的伯德图
3.1.3零点a= 100时的阶跃响应和伯德图
当零点a=100时,系统的开环传递函数为
G13(s)(0.01s1)
(s2s1)闭环传递函数为
13(s)(0.01s1) 2(s1.01s2)在matlab中建立M文件M3_3.m(程序内容见附录1)。运行结果如图11、图12所示,同时在matlab命令窗口得到Mr=1.1547,Wb=1.2712。 由图11可以算出超调量
%0.650.5100%30% p0.5调节时间
ts =8.83s
10
武汉理工大学《自动控制原理》课程设计说明书
图11 a=100时G1的阶跃响应曲线
图12 a=100时G1的伯德图
11
武汉理工大学《自动控制原理》课程设计说明书
3.1.4原系统的阶跃响应和伯德图
增加零点前,系统的开环传递函数为
G14(s)1
(s2s1)闭环传递函数为
14(s)1
(s2s2)在matlab中建立M文件M3_4.m(程序内容见附录1)。运行结果如图13、图14所示,同时在matlab命令窗口得到Mr=1.1547,Wb=1.2711。 由图11可以算出超调量
%0.6520.5100%30.4% p0.5调节时间
ts =8.38s
图13 a=100时G1的阶跃响应曲线
12
武汉理工大学《自动控制原理》课程设计说明书
图14 a=100时G1的伯德图
3.1.5综合分析
按上述方法,还可算出a=0.1和a=10时系统的各项参数,现将结果总结如表1所示。
表1 零点a取不同值时系统的各暂态指标
原系统 a=0.01 a=0.1 a=1 a=10 a=100 超调量σ% 30.4% 97.8% 78% 20.8% 26.8% 30% 谐振峰值Mr 1.1547 100.005 10.05 1.4676 1.1576 1.1547 调节时间ts(s) 8.38 270 16.62 3.82 5.50 8.83 带宽Wb 1.2711 141.2573 14.1609 1.816 1.2766 1.2712 分析表1可以发现,增加零点会对系统的超调量、调节时间、谐振峰值和带宽产生影响,且增加的零点越大,对系统的暂态性能影响越小。当a增加到100时,系统的各项暂态参数均接近于原系统的参数。增加的极点越靠近虚轴,其对应系统的带宽越小。同时还可以发现,时域中的超调量和频域中的谐振峰值在数值上亦存在一定的关系。具
13
武汉理工大学《自动控制原理》课程设计说明书
体表现为超调量减小时,谐振峰值也随之减小。
综上分析,增加零点对系统暂态性能的影响可以总结为:增加的零点离虚轴越近,
对系统暂态性影响越大,零点离虚轴越远,对系统的影响越小。
3.2增加极点对系统暂态性能的影响
在开环传递函数G2(s)中,当增加的极点分别是0.01,1,100时,画出其对应的阶跃响应曲线和伯德图,并分析其对应的超调量,调节时间,谐振峰值和带宽。
3.2.1极点p=0.01时的阶跃响应和伯德图
此时,系统的开环传递函数为G21(s)1 ,闭环传递函数为2(100s+1)(ss1)21(s)1 32100s+101s101s2在matlab中建立M文件M3_5.m(程序内容见附录1)。运行结果如图15、图16所示,同时在matlab命令窗口得到Mr=1,Wb=0.0100 。
由图7可以算出超调量 %0,调节时间ts =250s 。
p
图15 p=0.01时G2的阶跃响应曲线
14
武汉理工大学《自动控制原理》课程设计说明书
图16 p=0.01时G2的伯德图
3.2.2极点p=1时的阶跃响应和伯德图
此时,系统的开环传递函数为
G(s)221
2(s+1)(ss1)闭环传递函数为
22(s)1
32s+2s2s2在matlab中建立M文件M3_6.m(程序内容见附录1)。运行结果如图17、图18所示,同时在matlab命令窗口得到Mr=1,Wb=0.9992 。
由图7可以算出超调量
0.703-0.5%100%=40.6% , p0.5调节时间
ts =19s
15
武汉理工大学《自动控制原理》课程设计说明书
图17 p=1时G2的阶跃响应曲线
图18 p=1时G2的伯德图
16
武汉理工大学《自动控制原理》课程设计说明书
3.2.3极点p=100时的阶跃响应和伯德图
此时,系统的开环传递函数为
G(s)231(0.01s+1)(s2s1)
闭环传递函数为
(s)2310.01s3+1.01s21.01s2
在matlab中建立M文件M3_7.m(程序内容见附录1)。运行结果如图19、图20所示,同时在matlab命令窗口得到Mr=1.1547,Wb=1.2711 。 由图7可以算出超调量
0.654-0.5%100%=30.8% ; p0.5调节时间
ts =8.6s
图19 p=100时G2的阶跃响应曲线
17
武汉理工大学《自动控制原理》课程设计说明书
图20 p=100时G2的伯德图
3.2.4综合分析
按上述方法,还可算出p=0.1和p=10时系统的各项参数,现将结果总结如表1所示。 原系统 p=0.01 p=0.1 p=1 p=10 p=100 表1:极点p取不同值时系统的各暂态指标 超调量σ% 谐振峰值Mr 调节时间ts(s) 30.4% 1.1547 8.38 0 1 250 0 1 25 40.6% 1 19 34.6% 1.1518 10.6 30.8% 1.1547 8.6 带宽Wb 1.2711 0.01 0.1008 0.9992 1.2653 1.2711 分析表1可以发现,增加极点会对系统的超调量、调节时间、谐振峰值和带宽产生影响,且增加的极点越大,对系统的暂态性能影响越小。当p增加到100时,系统的各项暂态参数均接近于原系统的参数。增加的极点越靠近虚轴,其对应系统的带宽越小。
综上分析,增加极点对系统暂态性能的影响可以总结为:增加的极点离虚轴越近,
对系统暂态性影响越大,极点离虚轴越远,对系统的影响越小。
18
武汉理工大学《自动控制原理》课程设计说明书
通过本节对时域和频域的各暂态指标分析,可以得到增加开环零极点对系统暂态性
能的影响如下:
① 增加零点,会使系统的超调量增大,谐振峰值增大,带宽增加。 ② 增加极点,会使系统的超调量减小,谐振峰值减小,带宽减小。
③ 增加的零极点离虚轴越近,对系统暂态性影响越大;零极点离虚轴越远,对系
统的暂态性影响越小。
4增加零极点对系统稳态性能的影响
稳态性能指的是系统的稳态误差,描述的是系统的控制精度。本节主要研究原系统系统和增加零极点后系统在阶跃函数、斜坡函数或加速度函数作用下的稳态误差,分析增加零极点对系统性能的影响。
1为0型系统,不能跟踪斜坡输入和加速度输
s2s1入。但能跟踪阶跃输入,其稳态位置误差系数和稳态误差分别为
原系统的开环传递函数G(s)Kp=limG(s)=1
x0e()=11==0.5 1+Kp1+1当增加的零极点的位置不同,对系统的型别和稳态误差会产生不同的影响。应平时遇到的以最小相位系统为多,故下面主要分析其在s的左半平面,s的虚轴上两种情况下对系统的暂态性能的影响。
4.1增加的零极点在s的左半平面
当增加的零极点在s的左半平面时,系统的开环传递函数
G3(s)(sc)
(s2s1)G4(s)1 2(sd)(ss1)仍为0型系统,不能跟踪斜坡输入和加速度输入。但能跟踪阶跃输入,其稳态位置误差系数
19
武汉理工大学《自动控制原理》课程设计说明书
Kp3=limG3(s)=c
x01Kp2=limG2(s)=
x0d稳态误差
e1()=11= 1+Kp31+ce2()=
11= 1+Kp41+1/d由此可以发现,当增加的开环零极点在s左半平面时不改变系统的类型,但会改变
系统的开环增益,使系统能跟踪的信号类别不变,但跟踪误差会有差别。
下面将用matlab对上述结论进行验证。
取c,d分别为0.01,1,100,在matlab中建立M文件M4_1.m(程序内容见附录1)
画出其对应的单位阶跃响应,单位速度误差响应,单位加速度误差响应如图21图26。
图21 c取不同值时对应的阶跃响应曲线
20
武汉理工大学《自动控制原理》课程设计说明书
图22 d取不同值时对应的阶跃响应曲线
图23 c取不同值时对应的速度误差响应曲线
21
武汉理工大学《自动控制原理》课程设计说明书
图24 d取不同值时对应的速度误差响应曲线
图25 c取不同值时对应的加速度误差响应曲线
22
武汉理工大学《自动控制原理》课程设计说明书
图26 d取不同值时对应的加速度误差响应曲线
分析上述matlab仿真结果可以发现:
当输入为单位阶跃信号时,c,d取不同的值,输出均能趋于稳定,只是稳定值不同,
当c,d分别为1时,实现无差跟踪,与理论相符;
当输入稳单位速度信号和单位加速度信号时,c,d取不同的值,其误差响应均趋于无穷,不能对输入信号进行跟踪,与理论相符。
4.2增加的零极点在s的虚轴上
当增加的零极点在s的左半平面时,系统的开环传递函数
G5(s)s 2(ss1)1
s(s2s1)G6(s)可见增加零极点后系统的型别将会发生变化。增加零点后,系统的型别降低,将不能跟踪阶跃信号,速度信号和加速度信号;增加极点后,系统的型别升高,若系统稳定,
23
武汉理工大学《自动控制原理》课程设计说明书
则能够跟踪阶跃信号和速度信号。
因G6的特征方程为
s3s2s10
在matlab中输入: roots([1 1 1 1])
回车后得到 ans =
-1.0000 0.0000 + 1.0000i 0.0000 - 1.0000i
即说明G6临界稳定。为用matlab对增加零极点后的跟踪能力进行有效的仿真,这里设
G7(s)1
s(s22s1)可以验证此时的系统是稳定的。
在matlab中建立M文件M4_2.m(程序内容见附录1),画出G5和G7的单位阶跃响应,单位速度误差响应和单位加速度误差响应如图27至图29。
图27 G5和G7的单位阶跃响应
24
武汉理工大学《自动控制原理》课程设计说明书
图28 G5和G7的单位速度误差响应
图29 G5和G7的单位加速度误差响应
25
武汉理工大学《自动控制原理》课程设计说明书
分析以上仿真结果可以发现:
G5系统的阶跃响应趋于0,速度误差响应和加速度误差响应均为无穷大,即G5 系统不能跟踪这三种典型信号,与理论相符;
G5系统的阶跃响应和速度误差响应趋于常值,速度误差响应均为无穷大,即G5 系统不能跟踪这三种典型信号,与理论相符。
由以上分析可将增加零极点对系统稳态性能的影响总结如下:
①当增加的零极点在s的左半平面时,不改变系统的类型,使系统能跟踪的信号类别不变,但跟踪精度会有差别。
②当增加的零点在s的虚轴上时,系统的型别降低,跟踪不同输入信号的能力下降。
③当增加的极点在s的虚轴上时,系统的型别升高,跟踪不同输入信号的能力增强。
5设计心得体会
直接在时域中分析开环零极点对系统性能的影响较为困难,特别是系统的稳定性和动态性能,而这在频域中就相对简单多了。同时,对于系统的稳定性,利用根轨迹法分析更为直观,便捷。
在设计过程中时有理论与matlab仿真结果不相符的地方,例如分析增加不同极点对加速度信号的跟踪能力时,各输出加速度有部分重叠了,与理论分析不合。此时,想到了画加速度误差输出的加速度响应,直接观察误差终值,上述问题自然就得到了解决,且看起来更加直观,清晰。通过这些问题的发现,培养了我独立解决问题的能力,并对理论和matlab的使用有了更深的理解。
通过本次课程设计,加深了对所学自动控制原理课程知识的理解,特别是系统稳定性分析,系统各项动态性能指标,稳态误差以及系统根轨迹等相关知识的理解。设计时借助MATLAB软件进行控制系统分析,进一步熟悉了MATLAB语言及其应用,例如MATLAB中伯德图绘制函数bode(),单位阶跃响应函数step(),根轨迹绘制函数rlocus(),背景颜色修改函数figure('Color',[1 1 1])等等。书写课程设计说明书时使用WORD软件,使我掌握了许多WORD编辑和排版技巧。
在此次课程设计中,我也深刻体会到了查阅资料的重要性。通过查阅网上和图书馆的相关内容,我才对本课题有了更深的理解,同时对课题中的问题有了更广的思路和更
26
武汉理工大学《自动控制原理》课程设计说明书
有的解决办法。
总之,这次课程设计不仅加深了我对课本知识的理解,还让我体会到了很多在课本上学不到的知识,为将来的学习和毕业设计打下了良好的基础。
6参考文献
[1] 王万良. 自动控制原理[M]. 北京:高等教育出版社,2008.6. [2] 胡寿松. 自动控制原理(第五版). 北京:科学出版社,2007 [3] 李道根. 自动控制原理. 哈尔滨:哈尔滨工业大学出版社,2007
[4] 吴晓燕,张双选. MATLAB在自动控制中的应用. 西安:西安电子科技大学出版
社,2006
[5] 王正林,王胜开等. MATLAB/Simulink与控制系统仿真(第2版). 北京:电子工业出版社,2008
27
武汉理工大学《自动控制原理》课程设计说明书
附录1:课程设计中所用到的程序
1、绘制G1(s)的根轨迹曲线(M2_1.m) %画G1(s)的根轨迹曲线
n=[1,0]; %分子 d=[1,1,2]; figure1 = figure('Color',[1 1 1]); rlocus(n,d);
%分母
%将图形背景改为白色
%画G1(s)根轨迹曲线 %标题说明
title('G1(s)的根轨迹');
2、绘制G1(s)的奈奎斯特曲线(M2_2.m) %画G1(s)的奈奎斯特曲线 figure1 = figure('Color',[1 1 1]);
%将图形背景改为白色
for a=1:10 %a取1,2,3……10,时,画出对应的奈奎斯特曲线
G=tf([1/a,1],[1,1,1]); nyquist(G); hold on end
title('G1(s)的奈奎斯特曲线'); %标题说明 3、绘制G2(s)的根轨迹曲线(M2_3.m) %画G2(s)的根轨迹曲线
n=[1,1,1,0] ; %分子 d=[1,1,2] ; figure1 = figure('Color',[1 1 1]);
%分母
%将图形背景改为白色 %求G2(s)的传递函数 %画G2(s)根轨迹曲线 %标题说明
g2=tf(n,d) rlocus(g2); title('G2(s)的根轨迹');
4、绘制ξ=0.1,0.3,1,1.5,2时G2(s)的根轨迹曲线(M2_4.m) %画ξ=0.1,0.3,1,1.5,2时G2(s)的根轨迹曲线 figure1 = figure('Color',[1 1 1]); for kth=[0.05 0.1 1 1.5 2]
28
%将图形背景改为白色
武汉理工大学《自动控制原理》课程设计说明书
n=[1,2*kth,1,0] ; %分子 d=[1,2*kth,2] ; g2=tf(n,d); rlocus(g2); hold on end
axis([-4,1,-1.5,1.5]);
title('G(s)的根轨迹'); x=[0.18;-0.4;-0.7;-1.5;-1.1]; y=[1.3;1.3;1;0.5;0.4];
s=['ξ=0.05';'ξ=0.10';'ξ=1.00';'ξ=1.50';'ξ=2.00']; text(x,y,s);
5、绘制G2(s)的奈奎斯特曲线(M2_5.m) %画G2(s)的奈奎斯特曲线
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色
for p=[0.01 0.1 1 10 100] %p取各值时,画出对应的奈奎斯特曲线
G=tf([1],[1/p,1/p+1,2/p+1,2]); nyquist(G); hold on end
title('G2(s)的奈奎斯特曲线'); %标题说明 legend('p=0.01','p=0.1','p=1','p=10','p=100'); %图例说明
%画G(s)的奈奎斯特曲线(ξ=0.1)
figure2 = figure('Color',[1 1 1]); %将图形背景改为白色
for p=[0.01 0.1 1 10 100] %p取各值时,画出对应的奈奎斯特曲线
G=tf([1],[1/p,0.2/p+1,2/p+0.2,2]); nyquist(G); hold on
29
%分母
%求G(s)的传递函数 %画G(s)根轨迹曲线
%标题说明 %标注各曲线
武汉理工大学《自动控制原理》课程设计说明书
end
title('G(s)的奈奎斯特曲线(ξ=0.1)'); %标题说明 legend('p=0.01','p=0.1','p=1','p=10','p=100'); %图例说明 6、绘制Ф11(s)的阶跃响应曲线和伯德图(M3_1.m) %画Ф11(s)的阶跃响应曲线
num=[100,1]; %分子 den=[1,101,2]; %分母 figure1 = figure('Color',[1 1 1]); step(num,den); grid on; title('Ф11(s)的阶跃响应曲线'); xlabel('t'),ylabel('c(t)');
%画G11(s)的伯德图
num1=[100,1]; den1=[1,1,1];
%分子
%将图形背景改为白色 %画Ф11(s)的阶跃响应曲线 %增加网格 %标题说明 %增加坐标
%分母
%求开环传递函数G11(s)
G11=tf(num1,den1); Mr=norm(G11,inf)
%求谐振峰值
%求系统带宽 %将图形背景改为白色 %画Ф11(s)的伯德图 %增加网格 %标题说明 %增加坐标
Wb=bandwidth(G11) figure2 = figure('Color',[1 1 1]); bode(G11); grid on; title('G11(s)的伯德图'); xlabel('w');
7、绘制Ф12(s)的阶跃响应曲线和伯德图(M3_2.m) %画Ф12(s)的阶跃响应曲线 num=[1,1]; den=[1,2,2]; figure1 = figure('Color',[1 1 1]);
%分子 %分母
%将图形背景改为白色
30
武汉理工大学《自动控制原理》课程设计说明书
step(num,den); grid on; title('Ф12(s)的阶跃响应曲线'); xlabel('t'),ylabel('c(t)');
%画G12(s)的伯德图 num1=[1,1]; den1=[1,1,1]; G12=tf(num1,den1); Mr=norm(G12,inf)
%画Ф12(s)的阶跃响应曲线
%增加网格
%标题说明 %增加坐标
%分子 %分母
%求开环传递函数G12(s)
%求谐振峰值
%求系统带宽 %将图形背景改为白色 %画Ф12(s)的伯德图 %增加网格 %标题说明 %增加坐标
Wb=bandwidth(G12)
figure2 = figure('Color',[1 1 1]); bode(G12);
grid on; title('G12(s)的伯德图'); xlabel('w');
8、绘制Ф13(s)的阶跃响应曲线和伯德图(M3_3.m) %画Ф13(s)的阶跃响应曲线 num=[0.01,1]; den=[1,1.01,2];
%分子 %分母
%将图形背景改为白色 %画Ф13(s)的阶跃响应曲线 %增加网格 %标题说明 %增加坐标
figure1 = figure('Color',[1 1 1]); step(num,den); grid on;
title('Ф13(s)的阶跃响应曲线'); xlabel('t'),ylabel('c(t)');
%画G13(s)的伯德图 num1=[0.01,1]; den1=[1,1,1];
%分子 %分母
31
武汉理工大学《自动控制原理》课程设计说明书
G13=tf(num1,den1); Mr=norm(G13,inf)
%求开环传递函数G13(s) %求谐振峰值
%求系统带宽
Wb=bandwidth(G13)
figure2 = figure('Color',[1 1 1]); %将图形背景改为白色 bode(G13);
%画Ф13(s)的伯德图 %增加网格
grid on; title('G13(s)的伯德图'); xlabel('w');
%标题说明 %增加坐标
9、绘制Ф14(s)的阶跃响应曲线和伯德图(M3_4.m) %画Ф14(s)的阶跃响应曲线 num=[1]; den=[1,1,2];
%分子 %分母
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色 step(num,den); grid on;
%画Ф14(s)的阶跃响应曲线
%增加网格
%标题说明 %增加坐标
title('Ф14(s)的阶跃响应曲线'); xlabel('t'),ylabel('c(t)');
%画G14(s)的伯德图 num1=[1];
%分子
den1=[1,1,1]; G14=tf(num1,den1); Mr=norm(G14,inf) Wb=bandwidth(G14)
%分母
%求开环传递函数G14(s) %求谐振峰值
%求系统带宽
%将图形背景改为白色 %画Ф14(s)的伯德图 %增加网格 %标题说明 %增加坐标
32
figure2 = figure('Color',[1 1 1]); bode(G14);
grid on; title('G14(s)的伯德图'); xlabel('w');
武汉理工大学《自动控制原理》课程设计说明书
10、绘制Ф21(s)的阶跃响应曲线和伯德图(M3_5.m) %画Ф21(s)的阶跃响应曲线 p=0.01; num=[1];
%对极点赋值 %分子 %分母
%将图形背景改为白色
den=[1/p,1/p+1,1/p+1,2];
figure1 = figure('Color',[1 1 1]); step(num,den); grid on;
%画Ф21(s)的阶跃响应曲线
%增加网格
%标题说明
%增加坐标
title('Ф21(s)的阶跃响应曲线'); xlabel('t'),ylabel('c(t)');
%画G21(s)的伯德图
num1=[1]; den1=[1/p,1/p+1,1/p+1,1]; G21=tf(num1,den1);
%分子
%分母
%求开环传递函数G21(s)
%求谐振峰值 %求系统带宽 %将图形背景改为白色 %画Ф21(s)的伯德图 %增加网格 %标题说明 %增加坐标
Mr=norm(G21,inf) Wb=bandwidth(G21)
figure2 = figure('Color',[1 1 1]); bode(G21); grid on; title('G21(s)的伯德图'); xlabel('w');
11、绘制Ф22(s)的阶跃响应曲线和伯德图(M3_6.m) %画Ф22(s)的阶跃响应曲线 p=1;
%对极点赋值 %分子 %分母
%将图形背景改为白色 %画Ф22(s)的阶跃响应曲线
33
num=[1];
den=[1/p,1/p+1,1/p+1,2]; figure1 = figure('Color',[1 1 1]); step(num,den);
武汉理工大学《自动控制原理》课程设计说明书
grid on;
%增加网格 %标题说明 %增加坐标
title('Ф22(s)的阶跃响应曲线'); xlabel('t'),ylabel('c(t)');
%画G22(s)的伯德图
num1=[1]; den1=[1/p,1/p+1,1/p+1,1]; G22=tf(num1,den1); Mr=norm(G22,inf)
%分子 %分母
%求开环传递函数G22(s) %求谐振峰值 %求系统带宽 %将图形背景改为白色 %画Ф22(s)的伯德图 %增加网格
Wb=bandwidth(G22)
figure2 = figure('Color',[1 1 1]); bode(G22); grid on; title('G22(s)的伯德图'); xlabel('w');
%标题说明 %增加坐标
12、绘制Ф23(s)的阶跃响应曲线和伯德图(M3_7.m) %画Ф23(s)的阶跃响应曲线 p=100; num=[1];
%对极点赋值
%分子
%分母
%将图形背景改为白色
den=[1/p,1/p+1,1/p+1,2]; figure1 = figure('Color',[1 1 1]); step(num,den); grid on;
%画Ф23(s)的阶跃响应曲线 %增加网格
title('Ф23(s)的阶跃响应曲线'); %标题说明 xlabel('t'),ylabel('c(t)'); %增加坐标
%画G23(s)的伯德图
num1=[1]; %分子 den1=[1/p,1/p+1,1/p+1,1]; %分母
34
武汉理工大学《自动控制原理》课程设计说明书
G23=tf(num1,den1); Mr=norm(G23,inf)
%求开环传递函数G23(s)
%求谐振峰值
%求系统带宽
Wb=bandwidth(G23)
figure2 = figure('Color',[1 1 1]); %将图形背景改为白色 bode(G23); %画Ф23(s)的伯德图 grid on; %增加网格 title('G23(s)的伯德图'); %标题说明 xlabel('w');
%增加坐标
13、增加零极点后的稳态误差(M4_1.m) %画c取不同的值时的阶跃响应
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色 step(1,[1 1 2],'--'); %画原系统阶跃响应曲线 hold on
str=[':';'.';'-']; %设线型变量 for c=[0.01 1 100] %对c赋不同值时 a=0.5*log10(c)+2;
G3=tf([1,c],[1,1,1]); %生成开环传递函数 f3=feedback(G3,1); %生成闭环传递函数 step(f3,str(a)); %画阶跃响应曲线 hold on end
title('c取不同的值时的阶跃响应'); %标题说明 xlabel('t'),ylabel('c(t)'); %增加坐标 legend('原系统','c=0.01','c=1','c=100'); %图例说明
%画d取不同的值时的阶跃响应
figure2 = figure('Color',[1 1 1]); %将图形背景改为白色 step(1,[1 1 2],'--'); %画原系统阶跃响应曲线 hold on
35
武汉理工大学《自动控制原理》课程设计说明书
for d=[0.01 1 100] %对d赋不同值时 G4=tf(1,[1+d,1+d,d]); %生成开环传递函数 f4=feedback(G4,1); %生成闭环传递函数 a=0.5*log10(d)+2;
step(f4,str(a)); %画阶跃响应曲线 hold on end
title('d取不同的值时的阶跃响应'); xlabel('t'),ylabel('c(t)'); legend('原系统','d=0.01','d=1','d=100');
%画c取不同值时的速度误差响应曲线
figure3 = figure('Color',[1 1 1]); f=tf(1,[1 0]); f0=tf(1,[1 1 2 0]);
step(f-f0,'--'); hold on
for c=[0.01 1 100] a=0.5*log10(c)+2;
f3=tf([1,c],[1,2,1+c,0]);
step(f-f3,str(a)); hold on end
title('c取不同的值时的速度误差响应'); xlabel('t'),ylabel('c(t)'); legend('原系统','c=0.01','c=1','c=100'); axis([0 100 0 100]);
%画d取不同值时的速度误差响应曲线
%标题说明 %增加坐标 %图例说明 %将图形背景改为白色 %画原系统速度误差响应曲线 %对c赋不同值时 %画速度误差响应曲线 %标题说明 %增加坐标 %图例说明 %限制横纵坐标 36
武汉理工大学《自动控制原理》课程设计说明书
figure4 = figure('Color',[1 1 1]); %将图形背景改为白色 step(f-f0,'--');
hold on %画原系统速度误差响应曲线 for d=[0.01 1 100] %对d赋不同值时 a=0.5*log10(d)+2;
f4=tf(1,[1,1+d,1+d,d+1,0]);
step(f-f4,str(a)); hold on end
title('d取不同的值时的速度误差响应'); xlabel('t'),ylabel('c(t)'); legend('原系统','d=0.01','d=1','d=100'); axis([0 100 0 100]);
%画c取不同值时的加速度误差响应曲线figure5 = figure('Color',[1 1 1]); f=tf(1,[1 0 0]); f0=tf(1,[1 1 2 0 0]);
step(f-f0,'--'); hold on
for c=[0.01 1 100] a=0.5*log10(c)+2;
f3=tf([1,c],[1,2,1+c,0,0]); step(f-f3,str(a)); hold on end
title('c取不同的值时的加速度误差响应'); xlabel('t'),ylabel('c(t)'); legend('原系统','c=0.01','c=1','c=100');
%画速度误差响应曲线 %标题说明 %增加坐标 %图例说明 %将图形背景改为白色 %画原系统加速度误差响应曲线 %对c赋不同值时 %画加速度误差响应曲线 %标题说明 %增加坐标 %图例说明
37
武汉理工大学《自动控制原理》课程设计说明书
axis([0 500 0 1000]); %限制横纵坐标
%画d取不同值时的加速度误差响应曲线
figure4 = figure('Color',[1 1 1]); %将图形背景改为白色 step(f-f0,'--');
hold on %画原系统加速度误差响应曲线 for d=[0.01 1 100] %对d赋不同值时 a=0.5*log10(d)+2;
f4=tf(1,[1,1+d,1+d,d+1,0,0]);
step(f-f4,str(a)); %画加速度误差响应曲线 hold on end
title('d取不同的值时的加速度误差响应'); %标题说明 xlabel('t'),ylabel('c(t)'); %增加坐标 legend('原系统','d=0.01','d=1','d=100'); %图例说明 axis([0 300 0 1000]);
14、增加零极点后的稳态误差(M4_2.m) %画G5和G7的阶跃响应
figure1 = figure('Color',[1 1 1]); %将图形背景改为白色 step(1,[1 1 2],'-'); %画原系统阶跃响应曲线 hold on
step([1 0],[1 2 1],'--') %画G5阶跃响应曲线 hold on
step(1,[1 2 1 1],':') %画G7阶跃响应曲线 title('G5和G7的阶跃响应'); %标题说明 xlabel('t'),ylabel('c(t)'); %增加坐标 legend('原系统','G5','G7'); %图例说明
%画G5和G7的速度误差响应
38
武汉理工大学《自动控制原理》课程设计说明书
figure2 = figure('Color',[1 1 1]); %将图形背景改为白色 f=tf(1,[1 0]); f0=tf(1,[1 1 2 0]);
step(f-f0,'-'); %画原系统速度误差响应曲线 hold on
f5=tf([1 0],[1 2 1 0]); %生成G5的闭环传递函数 step(f-f5,'--'); hold on
f7=tf(1,[1 2 1 1 0]); step(f-f7,':'); title('G5和G7的速度误差响应'); xlabel('t'),ylabel('c(t)'); legend('原系统','G5','G7');
%画G5和G7的加速度误差响应
figure3 = figure('Color',[1 1 1]); f=tf(1,[1 0 0]); f0=tf(1,[1 1 2 0 0]);
step(f-f0,'-'); hold on
f5=tf([1 0],[1 2 1 0 0]); step(f-f5,'--'); hold on
f7=tf(1,[1 2 1 1 0 0]); step(f-f7,':'); title('G5和G7的加速度误差响应'); xlabel('t'),ylabel('c(t)'); legend('原系统','G5','G7'); axis([0 500 0 10000]);
%画G5速度误差响应曲线 %生成G7的闭环传递函数 %画G7速度误差响应曲线 %标题说明 %增加坐标 %图例说明 %将图形背景改为白色 %画原系统加速度误差响应曲线 %生成G5的闭环传递函数 %画G5加速度误差响应曲线 %生成G7的闭环传递函数 %画G7加速度误差响应曲线 %标题说明 %增加坐标 %图例说明 %坐标限制
39
武汉理工大学《自动控制原理》课程设计说明书
附录2:本科生课程设计成绩评定表
姓 名 专业、班级 梅浪奇 自动化专业1002班 性 别 男 课程设计题目:零极点对系统性能的影响分析 课程设计答辩或质疑记录: 成绩评定依据: 评 定 项 目 1.选题合理、目的明确(10分) 2.设计方案正确、具有可行性、创新性(20分) 3.设计结果(20分) 4.态度认真、学习刻苦、遵守纪律(15分) 5.设计报告的规范化、参考文献充分(不少于5篇)(10分) 6.答辩(25分) 总 分 评分成绩 最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年 月 日
40
因篇幅问题不能全部显示,请点此查看更多更全内容