自动控制原理结课论文
论文题目: 时域分析的Matlab实现
时域分析的Matlab实现
摘 要
分析和设计系统的首要工作是确定系统的数学模型。一旦建立了合理的、便于分析的数学模型,就可以对已组成的控制系统进行分析,从而得出系统性能的改进方法。经典控制理论中,常用时域分析法、根轨迹法或频率分析法来分析控制系统的性能。本文采用MATLAB 语言编程实现了高阶系统时域分析,分析了其稳定性、快速性、准确性,并应用实例验证了其有效性。
[关键词] 时域分析 高阶系统 MATLAB 实现
目 录
一、引言 ............................................................................................................................ 1
二、时域分析基础理论 .................................................................................................... 1
(一)典型输入信号和时域性能指标 ................................................................... 2
1、典型输入信号............................................................................................ 2
2、时域性能指标............................................................................................ 4
(二)一阶系统的时域分析 ................................................................................... 5
1、单位阶跃响应............................................................................................ 5
2、单位斜坡响应............................................................................................ 7
3、单位脉冲响应............................................................................................ 7
(三)高阶系统的时域分析 ................................................................................... 8
三、基于MATLAB实现高阶系统的时域分析 ................................................................ 10
四、高阶系统时域分析的MATLAB 实现 ....................................................................... 11
(一)应用经典法求解 ......................................................................................... 12
(二)MATLAB实现............................................................................................ 12
1、系统稳定性分析...................................................................................... 13
2、系统的快速性分析.................................................................................. 16
3、系统的准确性分析.................................................................................. 16
(三)应用MATLAB分析系统的动态特性....................................................... 17
五、结论 .......................................................................................................................... 19
参考文献 .......................................................................................................................... 20
时域分析的Matlab实现
一、引言
信号与系统的分析在自动控制领域有十分重要的作用。进行分析时,一般先抽象为数学模型,然后讨论系统本身的初始状态以及不同激励时的响应。对于高阶的微分方程,由于计算量庞大,人工计算难于实现。经典控制理论对高阶系统进行时域分析通常采用拉氏反变换的方法求系统响应,系统阶次越高,进行拉氏反变换的困难就越大,因此,用经典法对高阶系统进行时域分析是一件较困难的事。本文采用MATLAB 语言编程,设计了对高阶系统进行时域性能辅助分析程序,充分发挥了MATLAB 人机交互性好、函数调用方便、数学运算与绘图功能强大的优势,使分析效率和准确性大为提高。
二、时域分析基础理论
那什么是时域分析呢?时域分析是指控制系统在一定的输入下,根据输出量的时域表达式,分析系统的稳定性、瞬态和稳态性能。由于时域分析是直接在时间域中对系统进行分析的方法,所以时域分析具有直观和准确的优点。系统输出量的时域表示可由微分方程得到,也可由传递函数得到。在初值为零时,一般都利用传递函数进行研究,用传递函数间接的评价系统的性能指标。具体是根据闭环系统传递函数的极点和零点来分析系统的性能。此时也称为复频域分析。
(一)典型输入信号和时域性能指标
1、典型输入信号
控制系统的输出响应是系统数学模型的解。系统的输出响应不仅取决于系统本身的结构参数、初始状态,而且和输入信号的形式有关。初始状态可以作统一规定,如规定为零初始状态。如再将输入信号规定为统一的形式,则系统响应由系统本身的结构、参数来确定,因而更便于对各种系统进行比较和研究。自动控制系统常用的典型输入信号有下面几种形式:
1.阶跃函数 定义为
U u(t)0t0t0
式中U是常数,称为阶跃函数的阶跃值。U=1的阶跃函数称为单位阶跃函数,记为1(t)。如图2-1所示。单位阶跃函数的拉氏变换为1/s。
在t=0处的阶跃信号,相当于一个不变的信号突然加到系统上,如指令的突然转换、电源的突然接通、负荷的突变等,都可视为阶跃作用。
2.斜坡函数 定义为
Utu(t)0t0t0
这种函数相当于随动系统中加入一个按恒速变化的位置信号,恒速度为U。当U=1时,称为单位斜坡函数,如图2-2所示。单位斜坡函数的拉氏变换为 1/s2。
3.抛物线函数 定义为
1Utu(t)202t0t0
这种函数相当于系统中加入一个按加速度变化的位置信号,加速度为U。当U=1时,称为单位抛物线函数,如图2-3所示。单位抛物线函数的拉氏变换为1/s3。
4.单位脉冲函数δ(t) 定义为
u(t)(t)0(t)dt0t0t0
图2-1 单位阶跃函数
t t
t
图2-3 抛物线函数
图2-4 单位脉冲函数 t
单位脉冲函数的积分面积是1。单位脉冲函数如图2-4所示。其拉氏变换为1。
单位脉冲函数在现实中是不存在的,它只有数学上的意义。在系统分析中,它是一个重要的数学工具。此外,在实际中有很多信号与脉冲信号相似,如脉冲电压信号、冲击力、阵风等。
5.正弦函数 定义为
u(t)Asint
其中A为振幅,ω为角频率。其拉氏变换为
A
s22。
用正弦函数作输入信号,可以求得系统对不同频率的正弦输入函数的稳态响应,由此可以间接判断系统的性能。
2、时域性能指标
时域中评价系统的暂态性能,通常以系统对单位阶跃输入信号的暂态响应为依据。这时系统的暂态响应曲线称为单位阶跃响应或单位过渡特性,典型的响应曲线如图2-5所示。为了评价系统的暂态性能,规定如下指标:
图2-5 单位阶跃输入信号下的暂态响应
1.延迟时间td 指输出响应第一次达到稳态值50%所需的时间。
2.上升时间tr 指输出响应从稳态值的10%上升到90%所需的时间。对有振荡的系统,则取响应从零到第一次达到稳态值所需的时间。
3.峰值时间tp 指输出响应超过稳态值而达到第一个峰值(即y(tp))所需的时间。
4.调节时间ts 指当输出量y(t)和稳态值y(∞)之间的偏差达到允许范围(一般取2%或5%)以后不再超过此值所需的最短时间。
5.最大超调量(或称超调量)σp% 指暂态过程中输出响应的最大值超过稳态值的百分数。即
p%[y(tp)-y()]y()100%
6.稳态误差ess 指系统输出实际值与希望值之差。
在上述几项指标中,峰值时间tp、、上升时间tr和延迟时间td均表征系统响应初始阶段的快慢;调节时间ts表征系统过渡过程(暂态过程)的持续时间,从总体上反映了系统的快速性;而超调量σp%标志暂态过程的稳定性;稳态误差反映系统复现输入信号的最终精度。
(二)一阶系统的时域分析
凡是可用一阶微分方程描述的系统称一阶系统。一阶系统的传递函数为
式中T称为时间常数,它是表征系统惯性的一个重要参数。所以一阶Ts1G(s)1系统是一个非周R(s)期的惯性环节。图2- 6为一阶系统的结构图。
图2-6 一阶系统的结构图
下面分析在三种不同的典型输入信号作用下一阶系统的时域分析。
1、单位阶跃响应
当输入信号u(t)=1(t)时,U(s)=1/s,系统输出量的拉氏变换为
Y(s)1
s(Ts1)1
sT
TS1
对上式取拉氏反变换,得单位阶跃响应为
Y(t)1et
T(t0)
由此可见,一阶系统的阶跃响应是一条初始值为0,按指数规律上升到稳态值1的曲线,见图2-7。由系统的输出响应可得到如下的性能。
图2-7 一阶系统的阶跃响应曲线
1.由于Y(t)的终值为1,因此系统稳态误差为0。
2.当t=T时,Y(T)=0.632。这表明当系统的单位阶跃响应达到稳态值的63.2%时的时间,就是该系统的时间常数T。
单位阶跃响应曲线的初始斜率为
dy(t)
dtt01Tet
T
t01T
这表明一阶系统的单位阶跃响应如果以初始速度上升到稳态值1,所需的时间恰好等于T。
3.根据暂态性能指标的定义可以求得
调节时间为 ts =3T(s) (±5%的误差带)
ts =4T(s) (±2%的误差带)
延迟时间为 td =0.69T(s)
上升时间为 tr =2.20T(s)
峰值时间和超调量都为0。
2、单位斜坡响应
当输入信号u(t)=t时,U(s)=1/s2,系统输出量的拉氏变换为
Y(s)1
s(Ts1)21s2TsT2
TS1(t0)
对上式取拉氏反变换,得单位斜坡响应为
Y(t)(tT)Tet
Tt0
其中(t-T)为稳态分量,Te -t/T 为暂态分量。单位斜坡响应曲线如2-8。
图2-8 单位斜坡响应曲线
由一阶系统单位斜坡响应可分析出,系统存在稳态误差。因为u(t)=t,输出稳态为t –T,所以稳态误差为ess=t – (t – T)=T。从提高斜坡响应的精度来看,要求一阶系统的时间常数T要小。
3、单位脉冲响应
当u(t)=δ(t)时,系统的输出响应为该系统的脉冲响应。因为L[δ(t)]=1,一阶系统的脉冲响应的拉氏变换为
s1/T
对应单位脉冲响应为 Y(s)G(s)1/T
Y(t)1
Tet
T(t0)
单位脉冲响应曲线如图2-9。时间常数T越小,系统响应速度越快。
图2-9 脉冲响应曲线
(三)高阶系统的时域分析
设高阶系统的传递函数可表示为:
(s)
b0s
mn
b1s
m1n1
...bm1sbm...an1san
a0sa1s
(nm)
设闭环传递函数的零点为-z1,-z2,…,-zm,极点为-p1,-p2,…, -pn,则闭环传递函数可表示为:
Y(s)
K(sz1)(sz2)...(szm)(sp1)(sp2)...(spn)
(nm)
当输入信号为单位阶跃信号时,输出信号为:
m
K(szi)
Y(s)
i1
q
r
2
s(spj)(s2knksnk)
j1
k1
2
式中n=q+2r,而q为闭环实极点的个数,r为闭环共轭复数极点的对数。
用部分分式展开得
Y(s)
A0s
q
sp
j1
Aj
r
j
k1
BK(sknk)Cknk
s2knksnk
2
2
2k
对上式取反拉氏变换得:
q
y(t) A0
A
j1
r
j
e
pjt
r
B
k1
K
e
knkt
cosnk
2
2k
t
k1
CKe
knkt
sinnkkt
(t0)
由上式分析可知,高阶系统的暂态响应是一阶惯性环节和二阶振荡响应分量的合成。系统的响应不仅和k、nk 有关,还和闭环零点及系数Aj、Bk、Ck的大小有关。这些系数的大小和闭环系统的所有的极点和零点有关,所以单位阶跃响应取决于高阶系统闭环零极点的分布情况。从分析高阶系统单位阶跃响应表达式可以得到如下结论:
1. 高阶系统暂态响应各分量衰减的快慢由
pj
和k、nk 决定,即由
闭环极点在s平面左半边离虚轴的距离决定。闭环极点离虚轴越远,相应的指数分量衰减的越快,对系统暂态分量的影响越小;反之,闭环极点离虚轴越近,相应的指数分量衰减的越慢,系统暂态分量的影响越大。
2.高阶系统暂态响应各分量的系数不仅和极点在s平面的位置有关,还与零点的位置有关。如果某一极点
pj
靠近一个闭环零点,又远离原点及
其他极点,则相应项的系数Aj比较小,该暂态分量的影响也就越小。如果极点和零点靠得很近,则该零极点对暂态响应几乎没有影响。
3. 如果所有的闭环极点都具有负实部,由上式可知,随着时间的推移, 系统的暂态分量不断的衰减,最后只剩下由极点所决定的稳态分量。此时的系统称为稳定系统。稳定性是系统正常工作的首要条件,下一节将详细探讨系统的稳定性。
4. 假如高阶系统中距离虚轴最近的极点的实部绝对值仅为其他极点的 1/5或更小,并且附近又没有闭环零点,则可以认为系统的响应主要由该极
点(或共轭复数极点)来决定。这种对高阶系统起主导作用的极点,称为系统的主导极点。因为在通常的情况下,总是希望高阶系统的暂态响应能获得衰减震荡的过程,所以主导极点常常是共轭复数极点。找到一对共轭复数主导极点后,高阶系统就可近似为二阶系统来分析,相应的暂态响应性能指标可以根据二阶系统的计算公式进行近似估算。
三、基于MATLAB实现高阶系统的时域分析
MATLAB提供了丰富的函数,配合MATLAB 语言的自定义函数功能,使时域特性曲线的绘制和性能指标的求取通过简单的函数调用即可轻松实现,为系统设计与控制策略开发提供直观、图形化的仿真环境,从而实现高阶系统的时域分析。主程序流程如图3-1 所示。
图3-1 主程序流程图
(1)函数PZmap(sys)来绘制系统的零极点在S平面上的分布,可以迅速、直观的判断系统的稳定性。
(2)图中时间矢量t 包括阶跃响应的开始时间t0、步长s 和终止时间te,可由step( b,a)函数自动确定时间轴的分度并自动生成图形,由用户根据图形输入自定义的各时间矢量,通过选取合适的坐标系刻度范围,保证输出图形既反映图象整体形状又能刻画出足够细节。
(3)y 为线性系统单位阶跃响应的输出矢量,可由y = step( b,a)获得。输出参数σ、Tr、Ts、Tp 分别为超调量、上升时间、调整时间、峰值时间。调整时间允许误差范围选择± 2% 或5%。调整时间Ts的求取由程序通过循环判断输出Y 值首次进入允许误差带的时间确定。循环步长取s,初值为v0 =( te- t0)/ s。以误差限为± 2% 为例,上升时间Tr 用与求Ts 类似的方法分别求出输出从t0开始首次增大至10 %Yss 的时间t1和增大到90 %Yss 所需时间t2,计算得:Tr = t2 - t1。峰值时间Tp,为单位阶跃响应曲线从零上升到第一个峰值点所需时间。
四、高阶系统时域分析的MATLAB 实现
利用MATLAB语言可以方便、快捷地对控制系统进行时域分析。由于控制系统的稳定性决定于系统闭环极点的位置;欲判断系统的稳定性,只需求出系统的闭环极点的分布状况;利用MATLAB命令可以快速求解出和绘制出系统的零、极点位置。欲分析系统的动态特性,只要给出系统的在某典型输入的输出响应曲线即可;同样,利用MATLAB可以十分方便的求解出和绘制出系统的响应曲线。
设有一高阶系统,其闭环传递函数为
试在时域内分析系统的单位阶跃响应,以判断系统的稳、快、准性能
s9s24s16.33s3.3
(s)
0.33(s10)
4
3
2
指标。
(一)应用经典法求解
忽略闭环零点Z = - 10 及闭环极点S3 = - 0、45 + J0、33 和S4 = - 0、45 - J0、33 的影响,化系统的传函为
(s)
0.2(s0.45)
2
,
将四阶系统降阶为二阶系统,且ζ= 1 时的临界阻尼情况,因为系统的闭环特征根为S1 = S2 = - 0、45,即均位于S 平面左半平面,系统稳定。分析系统的快速性指标从概念出发,计算得tr = 6.26s,ts = 8.83s,tp = ∞(即此系统无峰值时间),因为系统为一型系统,所以
kplins0G(s)3,ess1/1kp0
(二)MATLAB实现
b =[0.33,3.3];
> > a =[1,9,24,16.33,3.3]; > > t =[0:0.01:0.5]; > > s = t(f b,a) Transfer function: 0.33s + 3.3
sˆ4 + 9sˆ3 + 24sˆ2 + 16.33s + 3.3 > >[y,t]= step(s)
1、系统稳定性分析
一个线性系统正常工作的首要条件,就是它必须是稳定的。所谓稳定性,是指系统受到扰动作用后偏离原来的平衡状态,在扰动作用消失后,经过一段过度时间能否回复到原来的平衡状态或足够准确地回到原来的平衡状态的性能。若系统能恢复到原来的平衡状态,则称系统是稳定的;若扰动消失后系统不能恢复到原来的平衡状态,则称系统是不稳定的。
线性系统的稳定性取决于系统本身固有的特性,而与扰动信号无关。它决定于扰动取消后暂态分量的衰减与否,从上节暂态特性分析中可以看出,暂态分量的衰减与否,决定于系统闭环传递函数的极点(系统的特征根)在s平面的分布:如果所有极点都分布在s平面的左侧,系统的暂态分量将逐渐衰减为零,则系统是稳定的;如果有共轭极点分布在s平面的虚轴上,则系统的暂态分量做等幅振荡,系统处于临界稳定状态;如果有闭环极点分布在s平面的右侧,系统具有发散的暂态分量,则系统是不稳定的。所以,线性系统稳定的充分必要条件是:系统特征方程式所有的根(即闭环传递函数的极点)全部为负实数或为具有负实部的共轭复数,也就是所有的极点分布在s平面虚轴的左侧。
因此,可以根据求解特征方程式的根来判断系统稳定与否。例如,一阶系统的特征方程式为
a0sa10
特征方程式的根为
s
a0a1
显然特征方程式根为负的充分必要条件是a0,a1均为正值,即
a00,a10
二阶系统的特征方程式为
a0sa1sa20
2
特征方程式的为
s1,2
a12a0
(a12a0
)
2
a2a0
要使系统稳定,特征方程式的根必须有负实部。因此二阶系统稳定的充分必要条件是:
a00,a10,a20
由于求解高阶系统特征方程式的根很麻烦,所以对高阶系统一般都采用间接方法来判断其稳定性。
通过课本中的知识可知,1887年,劳斯发表了研究线性定常系统稳定性的方法。该判据的具体内容和步骤如下。
1、首先列出系统特征方程式
a0sa1s
n
n1
a2s
n2
an1san0
0
式中各个项系数均为实数,且使a0
。
2、根据特征方程式列出劳斯数组表 sn sn-1 sn-2 sn-3
a0
a2
a3
a4
a6
··· ···
a1b1c1
a5b3c3
a7
b2c2
b4c4
··· ···
· · ·
· · · · · · s2 e1 s1 s0
f1 g1
e2
表中各未知元素由计算得出,其中
b1
a1a2a0a3
a1
b1a3a1b2
b1
,b2
a1a4a0a5
a1
b1a5a1b3
b1
,b3
a1a6a0a7
a1
,
c1,c2,c3
b1a7a1b4
b1
同样的方法,求取表中其余行的系数,一直到第n+1行排完为止。 3、根据劳斯表中第一列各元素的符号,用劳斯判据来判断系统的稳定性。劳斯判据的内容如下:
1)如果劳斯表中第一列的系数均为正值,则其特征方程式的根都在s的左半平面,相应的系统是稳定的。
2)如果劳斯表中第一列系数的符号发生变化,则系统不稳定,且第一列元素正负号的改变次数等于特征方程式的根在s平面右半部分的个数。
在MATLAB 的命令窗口键入pzmap(s)可得系统闭环特征根分布图(见图4-1)。从图中直观的看出系统的所有根都具有负实部,即位于S 平面左半平面,所以系统是稳定的。
图4-1 MATLAB 实现的闭环特征根分布图
2、系统的快速性分析
由[y,t]= step(s)得出tr= 7、60s,ts = 13、34s,tp = ∞(即无峰值出现,见响应曲线图4-3)。
图4-3 单位阶跃响应曲线
3、系统的准确性分析
准确性是控制系统时域指标之一,用来评价系统稳态性能的好坏。准
确性仅对稳定系统才有意义。稳态条件下输出量的期望值与稳态值之间存在的误差,称为系统准确性。影响系统准确性的因素很多,如系统的结构、系统的参数以及输入量的形式等。没有准确性的系统称为无差系统,具有准确性的系统称为有差系统。
为了分析方便,把系统的准确性按输入信号形式不同分为扰动作用下的准确性和给定作用下的准确性。对于恒值系统,由于给定量是不变的,常用扰动作用下的准确性来衡量系统的稳态品质;而对随动系统,给定量是变化的,要求输出量以一定的精度跟随给定量的变化,因此给定准确性成为恒量随动系统稳态品质的指标。
从函数输出的响应值或系统输出响应曲线,均可以看出系统的准确性性能指标ess,当t = ∞时,ess = 0。
(三)应用MATLAB分析系统的动态特性
已知三阶系统的传递函数为
绘制系统的单位阶跃响应和单位脉冲响应曲线。
s1.4s100.44s100.04
G(s)
100(s2)
3
2
解:可执行如下程序:
%This program plots a curve of step response and step impulse for three order %system
clf
num=[100 200];
den=[1 1.4 100.44 100.04]; h=tf(num,den);
[y,t,x]=step(h)
[y1,t1,x1]=impulse(h)
subplot(211),plot(t,y)
title(‘Step Response’)
xlabel(‘time’),ylabel(‘amplitude’)
subplot(212),plot(t1,y1)
title(‘impulse response’)
xlabel(‘time’),ylabel(‘amplitude’)
CLF是清屏命令。程序的第四行、第五行是计算系统的阶跃响应和冲激响应,并把计算结果分别存于变量y和x中,对应的时间量存于变量t。为了将两个响应曲线绘于同一个窗口,程序采用了分区绘图的命令,即subplot(211),其定义是取上半部分,绘制阶跃响应图;subplot(212),其定义是取下半部分,绘制脉冲响应曲线。程序中还定义了所绘曲线的坐标名称及图形的名称,运行结果见图:
图4-5 系统的单位阶跃响应和单位脉冲响应曲线
MATLAB中所提供的单位阶跃响应函数step,单位脉冲响应impulse
以及零输入响应函数initial和任意输入下的仿真函数lsim,其输入变量不仅可以是系统的零、极点形式,传递函数形式,还可以是状态空间模型形式。
五、结语
本次论文是自动控制原理的结课论文,虽然学习课程的时间短,但是从课堂上获得的收获还是有很多,而这些知识又引导我对通信原理、信号系统等课程的认识。其次就是些许的遗憾,在学习课程中还是有不少的知识内容还没能完全掌握和理解,这需要在以后的时间里继续消化它们,特别是做到能与实际问题相联系,融会贯通。之后再简述一下本篇论文的大体过程,它是基于MATLAB 实现对高阶系统进行时域分析的程序BSTT 提供了一种简便易行的系统分析方法,提高了系统分析和设计的效率和准确性。同时,该程序的设计方法体现出MATLAB 作为程序设计语言的优势,提示可以将MATLAB 应用编程扩展到多入多出系统、离散系统等复杂系统的分析和设计。论文中的一些内容是搜集的资料,但是其中原理性的知识还不能完全理解,下来之后论文还应继续完善。
参考文献
[1]侯夔龙. 自动控制原理[M].西安:西安交通大学出版社,1993.59 - 87.
[2]程卫国,冯峰,姚东等.MATLAB5.3 应用指南[M].北京:人民邮电出版社,1999.282 - 342.
[3]郑君里,杨为理,等.信号与系统[M].北京:高等教育出版社,2000.
[4]张昱。周绮敏,等编著.信号与系统实验教程[M].北京:人民邮电出版社,2005.
[5]陈怀琛,吴大正,高西全,编著.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,2003.
[6]程鹏,主编.自动控制原理[M].北京:高等教育出版社,2003
[7]戴忠达主编.自动控制理论基础[M].北京:清华大学出版社,2004.
[8]崔怡主编.MATALB5.3 实例详解[M].北京;航空工业出版社,2000.
[9]薛定宇主编.计算机辅助设计MATLAB语言及应用[M].北京:清华大学出版社,2009.
[10]楼顺天,于卫.基于MATLAB的系统分析和设计——控制系统[M].西安:电子科技大学出
版社,2008.
自动控制原理结课论文
论文题目: 时域分析的Matlab实现
时域分析的Matlab实现
摘 要
分析和设计系统的首要工作是确定系统的数学模型。一旦建立了合理的、便于分析的数学模型,就可以对已组成的控制系统进行分析,从而得出系统性能的改进方法。经典控制理论中,常用时域分析法、根轨迹法或频率分析法来分析控制系统的性能。本文采用MATLAB 语言编程实现了高阶系统时域分析,分析了其稳定性、快速性、准确性,并应用实例验证了其有效性。
[关键词] 时域分析 高阶系统 MATLAB 实现
目 录
一、引言 ............................................................................................................................ 1
二、时域分析基础理论 .................................................................................................... 1
(一)典型输入信号和时域性能指标 ................................................................... 2
1、典型输入信号............................................................................................ 2
2、时域性能指标............................................................................................ 4
(二)一阶系统的时域分析 ................................................................................... 5
1、单位阶跃响应............................................................................................ 5
2、单位斜坡响应............................................................................................ 7
3、单位脉冲响应............................................................................................ 7
(三)高阶系统的时域分析 ................................................................................... 8
三、基于MATLAB实现高阶系统的时域分析 ................................................................ 10
四、高阶系统时域分析的MATLAB 实现 ....................................................................... 11
(一)应用经典法求解 ......................................................................................... 12
(二)MATLAB实现............................................................................................ 12
1、系统稳定性分析...................................................................................... 13
2、系统的快速性分析.................................................................................. 16
3、系统的准确性分析.................................................................................. 16
(三)应用MATLAB分析系统的动态特性....................................................... 17
五、结论 .......................................................................................................................... 19
参考文献 .......................................................................................................................... 20
时域分析的Matlab实现
一、引言
信号与系统的分析在自动控制领域有十分重要的作用。进行分析时,一般先抽象为数学模型,然后讨论系统本身的初始状态以及不同激励时的响应。对于高阶的微分方程,由于计算量庞大,人工计算难于实现。经典控制理论对高阶系统进行时域分析通常采用拉氏反变换的方法求系统响应,系统阶次越高,进行拉氏反变换的困难就越大,因此,用经典法对高阶系统进行时域分析是一件较困难的事。本文采用MATLAB 语言编程,设计了对高阶系统进行时域性能辅助分析程序,充分发挥了MATLAB 人机交互性好、函数调用方便、数学运算与绘图功能强大的优势,使分析效率和准确性大为提高。
二、时域分析基础理论
那什么是时域分析呢?时域分析是指控制系统在一定的输入下,根据输出量的时域表达式,分析系统的稳定性、瞬态和稳态性能。由于时域分析是直接在时间域中对系统进行分析的方法,所以时域分析具有直观和准确的优点。系统输出量的时域表示可由微分方程得到,也可由传递函数得到。在初值为零时,一般都利用传递函数进行研究,用传递函数间接的评价系统的性能指标。具体是根据闭环系统传递函数的极点和零点来分析系统的性能。此时也称为复频域分析。
(一)典型输入信号和时域性能指标
1、典型输入信号
控制系统的输出响应是系统数学模型的解。系统的输出响应不仅取决于系统本身的结构参数、初始状态,而且和输入信号的形式有关。初始状态可以作统一规定,如规定为零初始状态。如再将输入信号规定为统一的形式,则系统响应由系统本身的结构、参数来确定,因而更便于对各种系统进行比较和研究。自动控制系统常用的典型输入信号有下面几种形式:
1.阶跃函数 定义为
U u(t)0t0t0
式中U是常数,称为阶跃函数的阶跃值。U=1的阶跃函数称为单位阶跃函数,记为1(t)。如图2-1所示。单位阶跃函数的拉氏变换为1/s。
在t=0处的阶跃信号,相当于一个不变的信号突然加到系统上,如指令的突然转换、电源的突然接通、负荷的突变等,都可视为阶跃作用。
2.斜坡函数 定义为
Utu(t)0t0t0
这种函数相当于随动系统中加入一个按恒速变化的位置信号,恒速度为U。当U=1时,称为单位斜坡函数,如图2-2所示。单位斜坡函数的拉氏变换为 1/s2。
3.抛物线函数 定义为
1Utu(t)202t0t0
这种函数相当于系统中加入一个按加速度变化的位置信号,加速度为U。当U=1时,称为单位抛物线函数,如图2-3所示。单位抛物线函数的拉氏变换为1/s3。
4.单位脉冲函数δ(t) 定义为
u(t)(t)0(t)dt0t0t0
图2-1 单位阶跃函数
t t
t
图2-3 抛物线函数
图2-4 单位脉冲函数 t
单位脉冲函数的积分面积是1。单位脉冲函数如图2-4所示。其拉氏变换为1。
单位脉冲函数在现实中是不存在的,它只有数学上的意义。在系统分析中,它是一个重要的数学工具。此外,在实际中有很多信号与脉冲信号相似,如脉冲电压信号、冲击力、阵风等。
5.正弦函数 定义为
u(t)Asint
其中A为振幅,ω为角频率。其拉氏变换为
A
s22。
用正弦函数作输入信号,可以求得系统对不同频率的正弦输入函数的稳态响应,由此可以间接判断系统的性能。
2、时域性能指标
时域中评价系统的暂态性能,通常以系统对单位阶跃输入信号的暂态响应为依据。这时系统的暂态响应曲线称为单位阶跃响应或单位过渡特性,典型的响应曲线如图2-5所示。为了评价系统的暂态性能,规定如下指标:
图2-5 单位阶跃输入信号下的暂态响应
1.延迟时间td 指输出响应第一次达到稳态值50%所需的时间。
2.上升时间tr 指输出响应从稳态值的10%上升到90%所需的时间。对有振荡的系统,则取响应从零到第一次达到稳态值所需的时间。
3.峰值时间tp 指输出响应超过稳态值而达到第一个峰值(即y(tp))所需的时间。
4.调节时间ts 指当输出量y(t)和稳态值y(∞)之间的偏差达到允许范围(一般取2%或5%)以后不再超过此值所需的最短时间。
5.最大超调量(或称超调量)σp% 指暂态过程中输出响应的最大值超过稳态值的百分数。即
p%[y(tp)-y()]y()100%
6.稳态误差ess 指系统输出实际值与希望值之差。
在上述几项指标中,峰值时间tp、、上升时间tr和延迟时间td均表征系统响应初始阶段的快慢;调节时间ts表征系统过渡过程(暂态过程)的持续时间,从总体上反映了系统的快速性;而超调量σp%标志暂态过程的稳定性;稳态误差反映系统复现输入信号的最终精度。
(二)一阶系统的时域分析
凡是可用一阶微分方程描述的系统称一阶系统。一阶系统的传递函数为
式中T称为时间常数,它是表征系统惯性的一个重要参数。所以一阶Ts1G(s)1系统是一个非周R(s)期的惯性环节。图2- 6为一阶系统的结构图。
图2-6 一阶系统的结构图
下面分析在三种不同的典型输入信号作用下一阶系统的时域分析。
1、单位阶跃响应
当输入信号u(t)=1(t)时,U(s)=1/s,系统输出量的拉氏变换为
Y(s)1
s(Ts1)1
sT
TS1
对上式取拉氏反变换,得单位阶跃响应为
Y(t)1et
T(t0)
由此可见,一阶系统的阶跃响应是一条初始值为0,按指数规律上升到稳态值1的曲线,见图2-7。由系统的输出响应可得到如下的性能。
图2-7 一阶系统的阶跃响应曲线
1.由于Y(t)的终值为1,因此系统稳态误差为0。
2.当t=T时,Y(T)=0.632。这表明当系统的单位阶跃响应达到稳态值的63.2%时的时间,就是该系统的时间常数T。
单位阶跃响应曲线的初始斜率为
dy(t)
dtt01Tet
T
t01T
这表明一阶系统的单位阶跃响应如果以初始速度上升到稳态值1,所需的时间恰好等于T。
3.根据暂态性能指标的定义可以求得
调节时间为 ts =3T(s) (±5%的误差带)
ts =4T(s) (±2%的误差带)
延迟时间为 td =0.69T(s)
上升时间为 tr =2.20T(s)
峰值时间和超调量都为0。
2、单位斜坡响应
当输入信号u(t)=t时,U(s)=1/s2,系统输出量的拉氏变换为
Y(s)1
s(Ts1)21s2TsT2
TS1(t0)
对上式取拉氏反变换,得单位斜坡响应为
Y(t)(tT)Tet
Tt0
其中(t-T)为稳态分量,Te -t/T 为暂态分量。单位斜坡响应曲线如2-8。
图2-8 单位斜坡响应曲线
由一阶系统单位斜坡响应可分析出,系统存在稳态误差。因为u(t)=t,输出稳态为t –T,所以稳态误差为ess=t – (t – T)=T。从提高斜坡响应的精度来看,要求一阶系统的时间常数T要小。
3、单位脉冲响应
当u(t)=δ(t)时,系统的输出响应为该系统的脉冲响应。因为L[δ(t)]=1,一阶系统的脉冲响应的拉氏变换为
s1/T
对应单位脉冲响应为 Y(s)G(s)1/T
Y(t)1
Tet
T(t0)
单位脉冲响应曲线如图2-9。时间常数T越小,系统响应速度越快。
图2-9 脉冲响应曲线
(三)高阶系统的时域分析
设高阶系统的传递函数可表示为:
(s)
b0s
mn
b1s
m1n1
...bm1sbm...an1san
a0sa1s
(nm)
设闭环传递函数的零点为-z1,-z2,…,-zm,极点为-p1,-p2,…, -pn,则闭环传递函数可表示为:
Y(s)
K(sz1)(sz2)...(szm)(sp1)(sp2)...(spn)
(nm)
当输入信号为单位阶跃信号时,输出信号为:
m
K(szi)
Y(s)
i1
q
r
2
s(spj)(s2knksnk)
j1
k1
2
式中n=q+2r,而q为闭环实极点的个数,r为闭环共轭复数极点的对数。
用部分分式展开得
Y(s)
A0s
q
sp
j1
Aj
r
j
k1
BK(sknk)Cknk
s2knksnk
2
2
2k
对上式取反拉氏变换得:
q
y(t) A0
A
j1
r
j
e
pjt
r
B
k1
K
e
knkt
cosnk
2
2k
t
k1
CKe
knkt
sinnkkt
(t0)
由上式分析可知,高阶系统的暂态响应是一阶惯性环节和二阶振荡响应分量的合成。系统的响应不仅和k、nk 有关,还和闭环零点及系数Aj、Bk、Ck的大小有关。这些系数的大小和闭环系统的所有的极点和零点有关,所以单位阶跃响应取决于高阶系统闭环零极点的分布情况。从分析高阶系统单位阶跃响应表达式可以得到如下结论:
1. 高阶系统暂态响应各分量衰减的快慢由
pj
和k、nk 决定,即由
闭环极点在s平面左半边离虚轴的距离决定。闭环极点离虚轴越远,相应的指数分量衰减的越快,对系统暂态分量的影响越小;反之,闭环极点离虚轴越近,相应的指数分量衰减的越慢,系统暂态分量的影响越大。
2.高阶系统暂态响应各分量的系数不仅和极点在s平面的位置有关,还与零点的位置有关。如果某一极点
pj
靠近一个闭环零点,又远离原点及
其他极点,则相应项的系数Aj比较小,该暂态分量的影响也就越小。如果极点和零点靠得很近,则该零极点对暂态响应几乎没有影响。
3. 如果所有的闭环极点都具有负实部,由上式可知,随着时间的推移, 系统的暂态分量不断的衰减,最后只剩下由极点所决定的稳态分量。此时的系统称为稳定系统。稳定性是系统正常工作的首要条件,下一节将详细探讨系统的稳定性。
4. 假如高阶系统中距离虚轴最近的极点的实部绝对值仅为其他极点的 1/5或更小,并且附近又没有闭环零点,则可以认为系统的响应主要由该极
点(或共轭复数极点)来决定。这种对高阶系统起主导作用的极点,称为系统的主导极点。因为在通常的情况下,总是希望高阶系统的暂态响应能获得衰减震荡的过程,所以主导极点常常是共轭复数极点。找到一对共轭复数主导极点后,高阶系统就可近似为二阶系统来分析,相应的暂态响应性能指标可以根据二阶系统的计算公式进行近似估算。
三、基于MATLAB实现高阶系统的时域分析
MATLAB提供了丰富的函数,配合MATLAB 语言的自定义函数功能,使时域特性曲线的绘制和性能指标的求取通过简单的函数调用即可轻松实现,为系统设计与控制策略开发提供直观、图形化的仿真环境,从而实现高阶系统的时域分析。主程序流程如图3-1 所示。
图3-1 主程序流程图
(1)函数PZmap(sys)来绘制系统的零极点在S平面上的分布,可以迅速、直观的判断系统的稳定性。
(2)图中时间矢量t 包括阶跃响应的开始时间t0、步长s 和终止时间te,可由step( b,a)函数自动确定时间轴的分度并自动生成图形,由用户根据图形输入自定义的各时间矢量,通过选取合适的坐标系刻度范围,保证输出图形既反映图象整体形状又能刻画出足够细节。
(3)y 为线性系统单位阶跃响应的输出矢量,可由y = step( b,a)获得。输出参数σ、Tr、Ts、Tp 分别为超调量、上升时间、调整时间、峰值时间。调整时间允许误差范围选择± 2% 或5%。调整时间Ts的求取由程序通过循环判断输出Y 值首次进入允许误差带的时间确定。循环步长取s,初值为v0 =( te- t0)/ s。以误差限为± 2% 为例,上升时间Tr 用与求Ts 类似的方法分别求出输出从t0开始首次增大至10 %Yss 的时间t1和增大到90 %Yss 所需时间t2,计算得:Tr = t2 - t1。峰值时间Tp,为单位阶跃响应曲线从零上升到第一个峰值点所需时间。
四、高阶系统时域分析的MATLAB 实现
利用MATLAB语言可以方便、快捷地对控制系统进行时域分析。由于控制系统的稳定性决定于系统闭环极点的位置;欲判断系统的稳定性,只需求出系统的闭环极点的分布状况;利用MATLAB命令可以快速求解出和绘制出系统的零、极点位置。欲分析系统的动态特性,只要给出系统的在某典型输入的输出响应曲线即可;同样,利用MATLAB可以十分方便的求解出和绘制出系统的响应曲线。
设有一高阶系统,其闭环传递函数为
试在时域内分析系统的单位阶跃响应,以判断系统的稳、快、准性能
s9s24s16.33s3.3
(s)
0.33(s10)
4
3
2
指标。
(一)应用经典法求解
忽略闭环零点Z = - 10 及闭环极点S3 = - 0、45 + J0、33 和S4 = - 0、45 - J0、33 的影响,化系统的传函为
(s)
0.2(s0.45)
2
,
将四阶系统降阶为二阶系统,且ζ= 1 时的临界阻尼情况,因为系统的闭环特征根为S1 = S2 = - 0、45,即均位于S 平面左半平面,系统稳定。分析系统的快速性指标从概念出发,计算得tr = 6.26s,ts = 8.83s,tp = ∞(即此系统无峰值时间),因为系统为一型系统,所以
kplins0G(s)3,ess1/1kp0
(二)MATLAB实现
b =[0.33,3.3];
> > a =[1,9,24,16.33,3.3]; > > t =[0:0.01:0.5]; > > s = t(f b,a) Transfer function: 0.33s + 3.3
sˆ4 + 9sˆ3 + 24sˆ2 + 16.33s + 3.3 > >[y,t]= step(s)
1、系统稳定性分析
一个线性系统正常工作的首要条件,就是它必须是稳定的。所谓稳定性,是指系统受到扰动作用后偏离原来的平衡状态,在扰动作用消失后,经过一段过度时间能否回复到原来的平衡状态或足够准确地回到原来的平衡状态的性能。若系统能恢复到原来的平衡状态,则称系统是稳定的;若扰动消失后系统不能恢复到原来的平衡状态,则称系统是不稳定的。
线性系统的稳定性取决于系统本身固有的特性,而与扰动信号无关。它决定于扰动取消后暂态分量的衰减与否,从上节暂态特性分析中可以看出,暂态分量的衰减与否,决定于系统闭环传递函数的极点(系统的特征根)在s平面的分布:如果所有极点都分布在s平面的左侧,系统的暂态分量将逐渐衰减为零,则系统是稳定的;如果有共轭极点分布在s平面的虚轴上,则系统的暂态分量做等幅振荡,系统处于临界稳定状态;如果有闭环极点分布在s平面的右侧,系统具有发散的暂态分量,则系统是不稳定的。所以,线性系统稳定的充分必要条件是:系统特征方程式所有的根(即闭环传递函数的极点)全部为负实数或为具有负实部的共轭复数,也就是所有的极点分布在s平面虚轴的左侧。
因此,可以根据求解特征方程式的根来判断系统稳定与否。例如,一阶系统的特征方程式为
a0sa10
特征方程式的根为
s
a0a1
显然特征方程式根为负的充分必要条件是a0,a1均为正值,即
a00,a10
二阶系统的特征方程式为
a0sa1sa20
2
特征方程式的为
s1,2
a12a0
(a12a0
)
2
a2a0
要使系统稳定,特征方程式的根必须有负实部。因此二阶系统稳定的充分必要条件是:
a00,a10,a20
由于求解高阶系统特征方程式的根很麻烦,所以对高阶系统一般都采用间接方法来判断其稳定性。
通过课本中的知识可知,1887年,劳斯发表了研究线性定常系统稳定性的方法。该判据的具体内容和步骤如下。
1、首先列出系统特征方程式
a0sa1s
n
n1
a2s
n2
an1san0
0
式中各个项系数均为实数,且使a0
。
2、根据特征方程式列出劳斯数组表 sn sn-1 sn-2 sn-3
a0
a2
a3
a4
a6
··· ···
a1b1c1
a5b3c3
a7
b2c2
b4c4
··· ···
· · ·
· · · · · · s2 e1 s1 s0
f1 g1
e2
表中各未知元素由计算得出,其中
b1
a1a2a0a3
a1
b1a3a1b2
b1
,b2
a1a4a0a5
a1
b1a5a1b3
b1
,b3
a1a6a0a7
a1
,
c1,c2,c3
b1a7a1b4
b1
同样的方法,求取表中其余行的系数,一直到第n+1行排完为止。 3、根据劳斯表中第一列各元素的符号,用劳斯判据来判断系统的稳定性。劳斯判据的内容如下:
1)如果劳斯表中第一列的系数均为正值,则其特征方程式的根都在s的左半平面,相应的系统是稳定的。
2)如果劳斯表中第一列系数的符号发生变化,则系统不稳定,且第一列元素正负号的改变次数等于特征方程式的根在s平面右半部分的个数。
在MATLAB 的命令窗口键入pzmap(s)可得系统闭环特征根分布图(见图4-1)。从图中直观的看出系统的所有根都具有负实部,即位于S 平面左半平面,所以系统是稳定的。
图4-1 MATLAB 实现的闭环特征根分布图
2、系统的快速性分析
由[y,t]= step(s)得出tr= 7、60s,ts = 13、34s,tp = ∞(即无峰值出现,见响应曲线图4-3)。
图4-3 单位阶跃响应曲线
3、系统的准确性分析
准确性是控制系统时域指标之一,用来评价系统稳态性能的好坏。准
确性仅对稳定系统才有意义。稳态条件下输出量的期望值与稳态值之间存在的误差,称为系统准确性。影响系统准确性的因素很多,如系统的结构、系统的参数以及输入量的形式等。没有准确性的系统称为无差系统,具有准确性的系统称为有差系统。
为了分析方便,把系统的准确性按输入信号形式不同分为扰动作用下的准确性和给定作用下的准确性。对于恒值系统,由于给定量是不变的,常用扰动作用下的准确性来衡量系统的稳态品质;而对随动系统,给定量是变化的,要求输出量以一定的精度跟随给定量的变化,因此给定准确性成为恒量随动系统稳态品质的指标。
从函数输出的响应值或系统输出响应曲线,均可以看出系统的准确性性能指标ess,当t = ∞时,ess = 0。
(三)应用MATLAB分析系统的动态特性
已知三阶系统的传递函数为
绘制系统的单位阶跃响应和单位脉冲响应曲线。
s1.4s100.44s100.04
G(s)
100(s2)
3
2
解:可执行如下程序:
%This program plots a curve of step response and step impulse for three order %system
clf
num=[100 200];
den=[1 1.4 100.44 100.04]; h=tf(num,den);
[y,t,x]=step(h)
[y1,t1,x1]=impulse(h)
subplot(211),plot(t,y)
title(‘Step Response’)
xlabel(‘time’),ylabel(‘amplitude’)
subplot(212),plot(t1,y1)
title(‘impulse response’)
xlabel(‘time’),ylabel(‘amplitude’)
CLF是清屏命令。程序的第四行、第五行是计算系统的阶跃响应和冲激响应,并把计算结果分别存于变量y和x中,对应的时间量存于变量t。为了将两个响应曲线绘于同一个窗口,程序采用了分区绘图的命令,即subplot(211),其定义是取上半部分,绘制阶跃响应图;subplot(212),其定义是取下半部分,绘制脉冲响应曲线。程序中还定义了所绘曲线的坐标名称及图形的名称,运行结果见图:
图4-5 系统的单位阶跃响应和单位脉冲响应曲线
MATLAB中所提供的单位阶跃响应函数step,单位脉冲响应impulse
以及零输入响应函数initial和任意输入下的仿真函数lsim,其输入变量不仅可以是系统的零、极点形式,传递函数形式,还可以是状态空间模型形式。
五、结语
本次论文是自动控制原理的结课论文,虽然学习课程的时间短,但是从课堂上获得的收获还是有很多,而这些知识又引导我对通信原理、信号系统等课程的认识。其次就是些许的遗憾,在学习课程中还是有不少的知识内容还没能完全掌握和理解,这需要在以后的时间里继续消化它们,特别是做到能与实际问题相联系,融会贯通。之后再简述一下本篇论文的大体过程,它是基于MATLAB 实现对高阶系统进行时域分析的程序BSTT 提供了一种简便易行的系统分析方法,提高了系统分析和设计的效率和准确性。同时,该程序的设计方法体现出MATLAB 作为程序设计语言的优势,提示可以将MATLAB 应用编程扩展到多入多出系统、离散系统等复杂系统的分析和设计。论文中的一些内容是搜集的资料,但是其中原理性的知识还不能完全理解,下来之后论文还应继续完善。
参考文献
[1]侯夔龙. 自动控制原理[M].西安:西安交通大学出版社,1993.59 - 87.
[2]程卫国,冯峰,姚东等.MATLAB5.3 应用指南[M].北京:人民邮电出版社,1999.282 - 342.
[3]郑君里,杨为理,等.信号与系统[M].北京:高等教育出版社,2000.
[4]张昱。周绮敏,等编著.信号与系统实验教程[M].北京:人民邮电出版社,2005.
[5]陈怀琛,吴大正,高西全,编著.MATLAB及在电子信息课程中的应用[M].北京:电子工业出版社,2003.
[6]程鹏,主编.自动控制原理[M].北京:高等教育出版社,2003
[7]戴忠达主编.自动控制理论基础[M].北京:清华大学出版社,2004.
[8]崔怡主编.MATALB5.3 实例详解[M].北京;航空工业出版社,2000.
[9]薛定宇主编.计算机辅助设计MATLAB语言及应用[M].北京:清华大学出版社,2009.
[10]楼顺天,于卫.基于MATLAB的系统分析和设计——控制系统[M].西安:电子科技大学出
版社,2008.