matlabstep幅值_反馈控制系统的性能和matlab指令计算
零阶段*收获
(1)理解控制系统中常⽤的重要测试信号,掌握⼆阶系统对这些测试信号的瞬态响应特性;
(2)掌握⼆阶系统的极点位置与瞬态响应特性之间的直接关系;
(3)熟悉⼆阶系统的⼏点位置与系统性能指标,如超调量、调节时间、上升时间、峰值时间等之间的关系式;
(4)理解零点和第三个极点对⼆阶系统响应的影响;
(5)理解基于综合性能指标的最优控制概念。
⼀. 基本概念
1. 瞬态响应和稳态响应
反馈控制系统的⼀个显著优点是能够⽅便地调节系统的瞬态和稳态性能。由于控制系统本质上是动态的,因此通常需要从瞬态响应和稳态响应两个⽅⾯来衡量其性能。
matlab求导
瞬态响应:指系统响应中随着时间的推移会消失的部分;
瞬态响应
稳态响应
稳态响应:指在输⼊信号激励之后,系统响应中将长期存在的部分。
2. 系统的测试输⼊信号
⾸先,必须确定系统是否稳定(稳定性的分析在后续);
假定系统是稳定的,那么就可以⽤多个性能指标来衡量系统对特定输⼊信号的响应。然⽽,系统的实际输⼊信号通常是未知的,因此需要选标准测试输⼊信号。利⽤标准测试输⼊信号,还可以⽐较不同设计⽅案的优劣,⽽且幸运的是,许多控制系统的实际输⼊信号与标准测⽤标准测试输⼊信号
试信号⾮常类似。
常⽤的标准测试信号有单位脉冲函数、阶跃信号、斜坡信号和抛物线信号等。斜坡信号是节约信号的积分,⽽抛物线信号时斜坡信号的积分。单位脉冲函数
3. 超调量P.O.
超调量的定义为
其中
的幅值,即
4. 综合性能指标
综合性能指标是对系统性能的定量描述,应该能够综合反映各项重要的具体性能指标。
最优控制系统是通过调整系统参数,使综合性能指标达到极值(通常为极⼩值)的系统。通常选⽤的有误差平⽅积分、误差绝对值积分等最优控制系统
等。
5. 线性系统的简化
利⽤低阶近似模型研究具有⾼阶传递函数的复杂系统,是⼀种⾏之有效的处理⽅式。
6. 卷积公式
则利⽤卷积公式,可以知道,如果是使⽤单位脉冲函数作为输⼊,则得到的响应就是系统本⾝的特征。
7. 调整时间
调整时间
8. 主导极点
10倍的关系
9. 型数与稳态误差
对于开环传递函数
控制系统的误差常数
稳态误差
⼆. 知识回顾
1. 阶跃信号
由于阶跃信号最容易产⽣,也最容易分析计算,所以常被选⽤来作为性能测试输⼊信号。同时,也易于分析稳态误差,例如
2. ⼆阶系统的性能
⼀个典型的⼆阶闭环反馈控制系统,其输⼊输出关系为
其中
阻尼⽐
3. 基本性能指标
通常会根据系统的阶跃响应来定义系统的基本性能指标。⾸先定义上升时间
折中处理。
系统的瞬态响应性能主要体现在以下两个⽅⾯,通常是彼此冲突的,必须折中处理
(1)响应的快速性,由上升时间和峰值时间表征;
(2)实际响应对预期响应的逼近程度,由超调量和调节时间表征。
上升时间的近似
峰值时间
超调量
对于给定的阻尼⽐
4. 零点和第三个极点对⼆阶系统响应的影响
当主导极点实部绝对值仅仅是第三个根实部绝对值的1/10,甚⾄更⼩时,可以⽤由主导根决定的⼆阶系统的响应来近似三阶系统的响应。零点约靠近哪⼀个极点,则该极点的作⽤就会减弱。
5. s平⾯上特征根的位置与系统的瞬态响应
闭环反馈控制系统的瞬态响应特征可以⽤传递函数极点(即特征根)的位置分布来表征。如果响应是稳定的,则阶跃响应应该有界,所有特征值的实部均位于s平⾯的左半部分。
(1)第⼀象限和正实轴:第⼀象限为振荡地放⼤;正实轴为单调上升;
(2)零点:响应为恒定值,不变
(3)正虚轴部分:临界阻尼状态;
(4)第⼆象限和负实轴:第⼆象限为⽋阻尼状态(振荡衰减);负实轴为过阻尼状态(单调递减)
6. 线性系统的简化
⽅法1:直接忽略⾮主导极点的影响
传递函数
⽅法2:近似⽅法
例如,考虑三阶系统
并打算⽤⼆阶模型
于是有
故有
,且有
求导得
利⽤等式
最后可以得到
三. 使⽤matlab来分析系统性能
lism⼀起运⽤,可以对线性系统进⾏仿真。通常情况下,我们⽆法确知系统的实际
impluse与lism
使⽤软件来 分析系统的时域性能指标。函数impluse
输⼊信号,因此经常采⽤的是标准测试输⼊信号。阶跃信号和脉冲信号。
对于⼆阶系统
1. 使⽤阶跃函数测试
%    Compute step response for a second-order system  %    Duplicate Figure 5.5 (a)
%
t=[0:0.1:12]; num=[1];
zeta1=0.1; den1=[1 2*zeta1  1]; sys1=tf(num,den1); zeta2=0.2; den2=[1 2*zeta2  1]; sys2=tf(num,den2); zeta3=0.4; den3=[1 2*zeta3  1]; sys3=tf(num,den3); zeta4=0.7; den4=[1 2*zeta4  1]; sys4=tf(num,den4); zeta5=1.0; den5=[1 2*zeta5  1]; sys5=tf(num,den5); zeta6=2.0; den6=[1 2*zeta6  1]; sys6=tf(num,den6);
%
[y1,T1]=step(sys1,t); [y2,T2]=step(sys2,t);
[y3,T3]=step(sys3,t); [y4,T4]=step(sys4,t);
[y5,T5]=step(sys5,t); [y6,T6]=step(sys6,t);
%
plot(T1,y1,T2,y2,T3,y3,T4,y4,T5,y5,T6,y6)
xlabel('omega_n t'), ylabel('y(t)')
title('zeta = 0.1, 0.2, 0.4, 0.7, 1.0, 2.0'), grid
阻尼⽐