1、第第3章章 控制系统分析控制系统分析3.1 控制系统的时域分析3.1.1 时域分析基础3.1.2 系统的稳态性能分析3.1.3 阶跃响应分析3.1.4 脉冲响应分析3.1.5 任意输入的时域响应分析3.1.6 控制系统时域分析综合实例3.2 控制系统的根轨迹分析3.2.1 函数指令方式3.2.2 基于根轨迹的设计工具第第3章章 控制系统分析控制系统分析3.3 控制系统的频域分析3.3.1 频率响应与Nyquist图3.3.2 Bode图分析3.3.3 控制系统频域分析综合实例3.3.4 基于单输入单输出设计工具的的控制系统频域分析3.4 控制系统的稳定性分析3.4.1 控制系统稳定性分析方法简
2、述3.4.2 控制系统稳定性分析的MATLAB实现3.5 控制系统的可观性与可控性分析3.5.1 系统的可观性分析3.5.2 系统的可控性分析第第3章章 控制系统分析控制系统分析在控制系统的数学模型建立以后,就要进行系统性能的分析,通过这一环节,获得原有系统的各方面性能定性或定量的描述,为系统控制器设计提供重要依据。因此,控制系统分析是系统设计的重要环节。系统性能主要有:系统稳定性、稳态性能、动态性能以及能控性、能观性等,经典控制理论中常用的分析方法有时域分析法、根轨迹分析法以及伯德图分析法。3.1 控制系统的时域分析控制系统的时域分析时域分析法是直接在时间域上研究控制系统性能的方法,是根据系
3、统的微分方程,用拉氏变换求解系统动态响应的曲线,从而求解系统的性能指标。这种方法的优点是对系统的分析结果直接而全面,缺点是计算量大,尤其是对高阶系统,应用MATLAB进行时域分析使计算量大不再成为问题。3.1.1 时域分析基础时域分析基础1典型输入信号典型输入信号控制系统中常用的典型输入信号有:单位阶跃函数、单位斜坡(速度)函数、控制系统中常用的典型输入信号有:单位阶跃函数、单位斜坡(速度)函数、单位加速度(抛物线)函数、单位脉冲函数及正弦函数。在典型输入信号作单位加速度(抛物线)函数、单位脉冲函数及正弦函数。在典型输入信号作用下,任何一个控制系统的时间响应都由动态过程和稳态过程这两部分组成。
4、用下,任何一个控制系统的时间响应都由动态过程和稳态过程这两部分组成。相应地,控制系统在典型输入信号作用下的性能指标,通常也由动态性能指相应地,控制系统在典型输入信号作用下的性能指标,通常也由动态性能指标和稳态性能指标这两部分组成。标和稳态性能指标这两部分组成。2动态过程与动态性能动态过程与动态性能动态过程又称过渡过程或瞬态过程,是指系统在典型输入信号作用下,其输动态过程又称过渡过程或瞬态过程,是指系统在典型输入信号作用下,其输出量从初始状态到最终状态的响应过程。系统在动态过程中所提供的系统响出量从初始状态到最终状态的响应过程。系统在动态过程中所提供的系统响应速度和阻尼情况等用动态性能指标描述。
5、应速度和阻尼情况等用动态性能指标描述。通常,在单位阶跃函数作用下,稳定系统的动态过程随时间变化的指标称为通常,在单位阶跃函数作用下,稳定系统的动态过程随时间变化的指标称为动态性能指标。通常定义动态性能指标为以下几种。动态性能指标。通常定义动态性能指标为以下几种。(1)上升时间()上升时间(Rise time)对于无振荡的系统,定义系统响应从终值的对于无振荡的系统,定义系统响应从终值的10%上升到上升到90%所需要的时间为所需要的时间为上升时间;对于有振荡的系统,定义系统响应从零到第一次到达终值所需要上升时间;对于有振荡的系统,定义系统响应从零到第一次到达终值所需要的时间为上升时间。默认情况下,
6、的时间为上升时间。默认情况下,MATLAB 按照第一种定义方式计算上升时按照第一种定义方式计算上升时间,但可以通过设置得到第二种方式定义的上升时间。间,但可以通过设置得到第二种方式定义的上升时间。(2)峰)峰值时间值时间(Peak time)响应超过其终值到达第一个峰值所需要的时间定义为峰值时间。(3)超)超调调量(量(Over shoot)响应的最大偏差量h(tp)与终值h()的差与终值h()之比的百分数,定义为超调量。即 (3-1)超调量也称为最大超调量或百分比超调量。(4)调节时间调节时间(Settling time)响应到达并保持在终值2%或5%内所需要的最短时间定义为调节时间。默认情
7、况下,MATLAB计算动态性能时,取误差范围为2%,可以通过设置得到误差范围为5%时的调节时间。3.稳态过程与稳态性能稳态过程与稳态性能稳态过程又称为稳态响应,指系统在典型输入信号作用下,当时间趋于无穷大时,系统输出量的表现方式。它表征系统输出量最终复现输入量的程度,提供系统有关稳态误差信息。稳态误差是控制系统控制准确度(或控制精度)的一种度量,也称为稳态性能。若时间趋于无穷时,系统的输出量不等于输入量或输入量的确定函数,则系统存在稳态误差。对于如图3-1所示控制系统的典型结构图,由输入信号R(s)至误差信号E(s)之间的误差传递函数为(3-2)则系统的误差信号为:当sE(s)的极点均位于s左
8、半平面(包括原点)时,应用拉氏变换的终值定理可以求出系统的稳态误差为:3.1.2 系统的稳态性能分析系统的稳态性能分析 线性控制系统的稳态性能分析主要是指稳态误差的计算。如前所示,只有当sE(s)的极点均位于s左半平面(包括原点)时,才可以根据拉氏变换的终值定理,应用(3-4)求取系统的稳态误差。计算稳态误差通常采用静态误差系数方法。设控制系统的开环传递函数为G(s)H(s),则静态误差系数的定义如下。图3-1 控制系统典型结构图(1)静态位置误差系数)静态位置误差系数 (3-5)(2)静态速度误差系数)静态速度误差系数 (3-6)(3)静态加速度误差系数)静态加速度误差系数 (3-7)可见,
9、计算稳态误差问题实质上是求极限问题,MATLAB符号数学工具箱中提供了求极限的函数limit()。3.1.3 阶跃响应分析阶跃响应分析(1)step()函数函数功能:求线性定常系统(单输入单输出或多输入多输出)的单位阶跃响应(多输入多输出系统需要对每一个输入通道施加独立的阶跃输入指令)。格式:step(sys)%绘制系统sys的单位阶跃响应曲线step(sys,T)%时间量T由用户指定step(sys1,sys2,sysN)%在一个图形窗口中同时绘制N个的单位阶跃响应曲线sys1,sys2,sysN step(sys1,sys2,sysN,T)%时间向量时间向量T 由用户指定由用户指定step
10、(sys1,PlotStylel,sysN,PotStyleN)%曲线属性用曲线属性用PlotStyle定定义义y,t=step(sys)%求系统求系统sys单位阶跃响应的数据值,包单位阶跃响应的数据值,包括输出向量括输出向量y及相应时间向量及相应时间向量t y,t,x=step(sys)%求系统求系统sys单位阶跃响应的数据值,包单位阶跃响应的数据值,包括输出向量括输出向量y、状态向量、状态向量x及相应时间向量及相应时间向量t 说明:说明:线性定常系统线性定常系统sys1,sys2,sysN可以为连续时间传递函数、零极点可以为连续时间传递函数、零极点增益及状态空间等模型形式。增益及状态空间等
11、模型形式。默认时,响应时间由函数根据系统的模型自动确定,也可以由用户默认时,响应时间由函数根据系统的模型自动确定,也可以由用户指定,由零开始,至指定,由零开始,至T秒结束。秒结束。若系统为状态空间模型,则只求其零状态响应。若系统为状态空间模型,则只求其零状态响应。不包含返回值时,只在屏幕上绘制曲线。不包含返回值时,只在屏幕上绘制曲线。也可以绘制离散时间系统的单位阶跃响应曲线。也可以绘制离散时间系统的单位阶跃响应曲线。例3-1已知典型二阶系统的传递函数为其中,自然频率其中,自然频率 =6,绘制当阻尼比,绘制当阻尼比 =0.1,0.2,0.707,1.0,2.0 时系统的单位阶跃响应曲线。时系统的
12、单位阶跃响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:wn=6;kosi=0.1,0.2,0.707,1.0,2.0;hold on;for kos=kosinum=wn2;den=1,2*kos*wn,wn2;step(num,den)end程序运行后可得到系统的单位阶跃响应曲线如图程序运行后可得到系统的单位阶跃响应曲线如图3-2所示。也所示。也可以将可以将“step(num,den)”语句换成语句换成“step(tf(num,den)”,运行结果相同。,运行结果相同。例例3-1已知典型二阶系统的传递函数为已知典型二阶系统的传递函数为图3-2 例3-1系统的单位阶跃响应曲
13、线例例3-2 已知线性定常系统的状态空间模型为已知线性定常系统的状态空间模型为 试绘制其单位阶跃响应曲线。试绘制其单位阶跃响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:a=-1.6,-0.9,0,0;0.9,0,0,0;0.4,0.5,-5.0,-2.45;0,0,2.45,0;b=1;0;1;0c=1,1,1,1;d=0;sys=ss(a,b,c,d);step(sys)运行后可得到的单位阶跃响应曲线如图运行后可得到的单位阶跃响应曲线如图3-3所示。所示。图3-3 例3-2的单位阶跃响应曲线例例3-3已知双输入单输出线性定常系统的状态空间模型为已知双输入单输出线性定常系统
14、的状态空间模型为试绘制其单位阶跃响应曲线。试绘制其单位阶跃响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:a=-0.5572-0.7814;0.7814 0;b=1-1;0 2;c=1.9691 6.4493;d=0,0;sys=ss(a,b,c,d);step(sys)运行后可得到的单位阶跃响应曲线如图运行后可得到的单位阶跃响应曲线如图3-4所示。所示。图3-4 例3-3的单位阶跃响应曲线例例3-4已知两个系统的传递函数分别为已知两个系统的传递函数分别为 ,试绘制它们的单位阶跃响应曲线。试绘制它们的单位阶跃响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:G
15、1=tf(1 2 4,1 10 5 4);G2=tf(3 2,2 7 2);step(G1,ro,G2,b*)运行后得到单位阶跃响应曲线如图运行后得到单位阶跃响应曲线如图3-5(a)所示。图中)所示。图中G1(s)的单位阶跃响应曲线为红色(的单位阶跃响应曲线为红色(“r”););G2(s)的的单位阶跃响应曲线为绿色(单位阶跃响应曲线为绿色(“b”)。若将语句)。若将语句“step(G1,ro,G2,b*)”换成换成“step(G1,-,G2,-.)”则则G1(s)的单位阶跃曲线为实线,系统的单位阶跃曲线为实线,系统G2(s)的单的单位阶跃响应曲线为点画线(如图位阶跃响应曲线为点画线(如图3-5
16、(b)所示)。)所示)。(a)设置了颜色和线型 (b)设置了数据点的线型图3-5 例3-4所示系统的单位阶跃响应曲线(2)dstep()函数函数功能:求线性定常离散系统(单输入单输出或多输入多输出)的单位阶跃响功能:求线性定常离散系统(单输入单输出或多输入多输出)的单位阶跃响应。应。格式:格式:dstep(num,den)%绘制单输入单输出系统的单位阶跃响应曲线绘制单输入单输出系统的单位阶跃响应曲线dstep(nem,den,N)%绘制单输入单输出系统的单位阶跃响应曲线,且响绘制单输入单输出系统的单位阶跃响应曲线,且响应点数应点数N由用户定义由用户定义dstep(a,b,c,d,iu)%绘制多
17、输入多输出系统第绘制多输入多输出系统第iu 个输入信号作用下个输入信号作用下的单位阶跃响应曲线,且响应点数的单位阶跃响应曲线,且响应点数N由用户定义由用户定义 dstep(a,b,c,d,iu,N)%绘制多输入多输出系统第绘制多输入多输出系统第iu 个输入信号个输入信号作用下的单位阶跃响应曲线作用下的单位阶跃响应曲线 y,x=dstep(a,b,c,d,)%求多输入多输出系统的单位阶跃响应数据值求多输入多输出系统的单位阶跃响应数据值y,x=dstep(num,den,)%求单输入单输出系统的单位阶跃响应数求单输入单输出系统的单位阶跃响应数据值据值说明:说明:这里的系统指线性定常离散系统。这里的
18、系统指线性定常离散系统。单输入单输出系统只需要给出传递函数分子向量单输入单输出系统只需要给出传递函数分子向量num和分母向量和分母向量den;多输入多输出系统只需要给出多输入多输出系统只需要给出a、b、c的和矩阵即可。的和矩阵即可。默认时响应点数由默认时响应点数由MATLAB自动选取。自动选取。不包含返回值时,只在屏幕上绘制响应曲线;包含返回值不包含返回值时,只在屏幕上绘制响应曲线;包含返回值y 和和x 时,分时,分别表示输出向量别表示输出向量y和状态向量和状态向量x 的时间序列矩阵,此时不绘制曲线,只给的时间序列矩阵,此时不绘制曲线,只给出响应数据值。出响应数据值。例例3-5 已知线性定常离
19、散系统的脉冲传递函数为已知线性定常离散系统的脉冲传递函数为试绘制其单位阶跃响应曲线。试绘制其单位阶跃响应曲线。解:在解:在MATLAB命令窗口输入:命令窗口输入:num=2,-3.4,1.5;den=1,-1.6,0.8;dstep(num,den)运行后可得到的单位阶跃响应曲线如图运行后可得到的单位阶跃响应曲线如图3-6(a)所示。用户)所示。用户可根据实际需要定义响应点数可根据实际需要定义响应点数N。若。若“dstep(num,den)”改写为改写为“dstep(num,den,70)”,运行后得到的单位阶跃,运行后得到的单位阶跃响应曲线如图响应曲线如图3-6(b)所示。)所示。(a)采用
20、默认离散点数 (b)指定离散点数图3-6 例3-5的运行结果例例3-6 线性定常离散系统的状态空间模型为线性定常离散系统的状态空间模型为试绘制其单位阶跃响应曲线。试绘制其单位阶跃响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:a=-0.5572-0.7814;0.7814 0;b=1-1;0 2;c=1.9691 6.4493;d=0;dstep(a,b,c,d)运行后得到的单位阶跃响应曲线如图运行后得到的单位阶跃响应曲线如图3-7(a)所示。若只需要)所示。若只需要绘制在第绘制在第1个输入信号作用下的阶跃响应,可将语句个输入信号作用下的阶跃响应,可将语句“dstep(a,b
21、,c,d)”改为改为“dstep(a,b,c,d,1)”,运行后得到,运行后得到的曲线如图的曲线如图3-7(b)所示。)所示。(a)采用默认离散点数 (b)指定离散点数图3-6 例3-5的运行结果3.1.4 脉冲响应分析脉冲响应分析(1)impulse()函数功能:求线性定常系统的单位脉冲响应。功能:求线性定常系统的单位脉冲响应。格式:格式:impulse(sys)%绘制系统的脉冲响应曲线绘制系统的脉冲响应曲线 impulse(sys,T)%响应时间响应时间T 由用户指定由用户指定impulse(sys1,sys2,sysN)%在同一个图形窗口中绘制在同一个图形窗口中绘制N个个系统系统sys1
22、,sys2,sysN的单位脉冲响应曲线的单位脉冲响应曲线impulse(sys1,sys2,sysN,T)%响应时间响应时间T 由用户指定由用户指定impulse(sys1,PlotStylel,sysN,PlotStyleN)%曲线属性用曲线属性用PlotStyle定义定义y,t=impulse(sys)%求系统求系统sys单位脉冲响应的数据值,包单位脉冲响应的数据值,包括输出向量括输出向量y及相应时间向量及相应时间向量ty,t,x=impulse(sys)%求状态空间模型求状态空间模型sys单位脉冲响应的数单位脉冲响应的数据值,包括输出向量据值,包括输出向量y,状态向量,状态向量x及相应时
23、间向量及相应时间向量t说明:说明:线性定常系统线性定常系统sys1,sys2,sysN可为传递函数、零极点增益及状态空可为传递函数、零极点增益及状态空间等模型形式。间等模型形式。默认时,响应由函数根据系统的模型自动确定,也可以由用户指定,由默认时,响应由函数根据系统的模型自动确定,也可以由用户指定,由零开始,至零开始,至T秒结束。秒结束。对于连续时间系统模型,输入信号为单位脉冲函数,对于离散时间系统对于连续时间系统模型,输入信号为单位脉冲函数,对于离散时间系统模型,输入函数为单位脉冲序列。模型,输入函数为单位脉冲序列。其他参数与函数其他参数与函数step()相同。相同。例例3-7 已知两个线性
24、定常连续系统的传递函数分别为已知两个线性定常连续系统的传递函数分别为试绘制它们的脉冲响应曲线。试绘制它们的脉冲响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:G1=tf(1 2 4,1 10 5 4);G2=tf(3 2,2 7 2);impulse(G1,G2)运行后得到的单位脉冲响应曲线如图运行后得到的单位脉冲响应曲线如图3-8所示。所示。图3-8 例3-7单位脉冲响应曲线(2)dimpulse()函数函数功能:求线性定常离散系统的单位脉冲响应。功能:求线性定常离散系统的单位脉冲响应。格式:格式:dimpulse(num,den)%绘制单输入单输出系统的单位脉冲响应绘制单
25、输入单输出系统的单位脉冲响应曲线曲线dimpulse(num,den,N)%绘制单输入单输出系统的阶跃响应曲线,绘制单输入单输出系统的阶跃响应曲线,且响应点数由用户定义且响应点数由用户定义dimpulse(a,b,c,d,iu)%绘制多输入多输出系统第绘制多输入多输出系统第iu个输入信号个输入信号作用下的单位脉冲响应曲线作用下的单位脉冲响应曲线dimpulse(a,b,c,d,iu,N)%绘制多输入多输出系统第绘制多输入多输出系统第iu个输入信号个输入信号作用下的单位脉冲响应曲线,且响应点数由用户定义作用下的单位脉冲响应曲线,且响应点数由用户定义y,x=dimpulse(a,b,c,d,)%求
26、多输入多输出系统的单位阶求多输入多输出系统的单位阶跃响应数据值跃响应数据值y,x=dimpulse(num,den,)%求单输入多输出系统的单位阶跃响应求单输入多输出系统的单位阶跃响应数据值数据值说明:说明:这里的系统指线性定常离散系统。这里的系统指线性定常离散系统。num,den,a,b,c和和d的含义与函数的含义与函数dstep()的相同。的相同。默认时响应点数由默认时响应点数由MATLAB自动选取。自动选取。不包含返回值时,只在屏幕上绘制响应曲线;包含返回值不包含返回值时,只在屏幕上绘制响应曲线;包含返回值y 和和x 时,分时,分别表示输出向量别表示输出向量y和状态向量和状态向量x 的时
27、间序列矩阵,此时不绘制曲线,只的时间序列矩阵,此时不绘制曲线,只给出响应数据值。给出响应数据值。例例3-8 已知线性定常离散系统的脉冲传递函数为已知线性定常离散系统的脉冲传递函数为计算并绘制其脉冲响应曲线。计算并绘制其脉冲响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:num=1 2 4;den=1 10 5 4;dimpulse(num,den)运行后得到的离散时间系统的单位脉冲响应曲线如图运行后得到的离散时间系统的单位脉冲响应曲线如图3-9 所所示。示。图3-9 例3-8单位脉冲响应曲线例例3-9 线性定常离散系统的状态空间模型为:线性定常离散系统的状态空间模型为:计算并
28、绘制其脉冲响应曲线。计算并绘制其脉冲响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:a=-0.5572-0.7814;0.7814 0;b=1-1;0 2;c=1.9691 6.4493;d=0;dimpulse(a,b,c,d)运行后得到的单位脉冲响应曲线如图运行后得到的单位脉冲响应曲线如图3-10(a)所示。若只需)所示。若只需要绘制图要绘制图3-10(a)中两条曲线中的第一条,可将语句)中两条曲线中的第一条,可将语句“dimpulse(a,b,c,d)”改写为改写为“dimpulse(a,b,c,d,1)”。(a)两个输入序列同时作用 (b)第1 个输入序列作用图3-1
29、0 例3-9单位脉冲响应曲线 3.1.5 任意输入的时域响应分析任意输入的时域响应分析(1)lsim()函数函数功能:求线性定常系统在任意输入信号作用下的时间响应。功能:求线性定常系统在任意输入信号作用下的时间响应。格式:格式:lsim(sys,u,t)%绘制系统绘制系统sys的时间响应曲线,输入信号由的时间响应曲线,输入信号由u和和t定义,其含义见试验信号生成函数定义,其含义见试验信号生成函数gensig()的返回值的返回值lsim(sys,u,t,x0)%绘制系统在给定信号和初始条件绘制系统在给定信号和初始条件x0同同时作用下的响应曲线时作用下的响应曲线lsim(sys,u,t,x0,zo
30、h)%指定采样点之间的插值方法为零阶保持器指定采样点之间的插值方法为零阶保持器(zoh)lsim(sys,u,t,xo,foh)%指定采样点之间的插值方法为一阶保持器指定采样点之间的插值方法为一阶保持器(foh)lsim(sys1,sys2,sysN,u,t)%绘制绘制N个系统的时间响应曲线个系统的时间响应曲线lsim(sys1,PlotStyle1,sysN,PloStyleN,u,t)%曲线属性用曲线属性用PlotStyle定义定义y,t,x=lsim(sys,u,t,x0)%y,t,x的含义同函数的含义同函数step()说明:说明:u和和t由函数由函数gensig()产生,用来描述输入信
31、号特性,产生,用来描述输入信号特性,t为时间区间,为时间区间,u为输入向量,其行数应与输入信号个数相等。为输入向量,其行数应与输入信号个数相等。默认时,函数默认时,函数lsim()根据输入信号根据输入信号u的平滑度自动选择采样点之间的插的平滑度自动选择采样点之间的插值方法。用户也可以指定采样点之间的插值方法。值方法。用户也可以指定采样点之间的插值方法。在所绘制的响应曲线中还绘制了输入信号的波形。在所绘制的响应曲线中还绘制了输入信号的波形。例例3-10 已知线性定常系统的传递函数如下,求其在指定方波已知线性定常系统的传递函数如下,求其在指定方波信号作用下的响应。信号作用下的响应。,解:在解:在M
32、ATLAB命令窗口中输入:命令窗口中输入:u,t=gensig(square,4,10,0.1);G1=tf(2 5 1,1 2 3);G2=tf(1-1,1 1 5);lsim(G1,G2,-.,u,t)运行后得到的响应曲线如图运行后得到的响应曲线如图3-11所示。所示。图3-11 例3-10的方波信号响应曲线(2)dlsim()函数功能:求线性定常离散系统在任意输入下的响应。格式:dlsim(a,b,c,d,u)%绘制系统(a,b,c,d)在输入序列u作用下的响应曲线dlsim(num,den,u)%绘制分子向量和分母向量分别为num和den 的脉冲传递函数模型在输入序列u作用下的响应曲线
33、y,x=dlsim(a,b,c,d,u)y,x=dlsim(num,den,u)其中,返回值y,x 分别表示在MATLAB的命令窗口中分别得到的输出向量y和状态向量x数据值,此时不绘制曲线,只给出解析结果。例例3-11 已知某闭环系统的传递函数为:已知某闭环系统的传递函数为:求其单位阶跃响应曲线,单位脉冲响应曲线,以及输入信号为求其单位阶跃响应曲线,单位脉冲响应曲线,以及输入信号为r(t)=1+t的响应曲线。的响应曲线。解:在解:在MATLAB命令窗口中输入:命令窗口中输入:num=10,25;den=0.16,1.96,10,25;subplot(3,1,1);impulse(num,den
34、,r)title(Impulse Response);subplot(3,1,2);step(num,den)title(Step Response);t=0:0.01:2;u=1+t;subplot(3,1,3)lsim(num,den,u,t)程序运行后得到的响应曲线如图程序运行后得到的响应曲线如图3-12所示,在所示,在“Step Response”的曲线显示区域,的曲线显示区域,点击鼠标右键,选择点击鼠标右键,选择“Characteristics”功能下的功能下的“Peak Respose”和和“Settling Time”选项即可获取系统的动态性能,本例中选项即可获取系统的动态性能,
35、本例中 ,3.1.6 控制系统时域分析综合实例控制系统时域分析综合实例图3-12 例3-11的系统响应曲线及系统性能3.2 控制系统的根轨迹分析控制系统的根轨迹分析控制系统的根轨迹是当开环系统的某一参数(一般为系统的开环增益)从负无穷到正无穷变化时,闭环系统特征方程的根在复平面上留下的轨迹,根轨迹分析方法利用绘制出的根轨迹来分析闭环系统稳定性和其他性能指标的方法。3.2.1 函数指令方式函数指令方式 MATLAB的控制系统工具箱提供的根轨迹分析方法的相关函数如表3-1所示。表表3-1 系统根轨迹绘制及分析函数列表系统根轨迹绘制及分析函数列表1.根轨迹绘制函数根轨迹绘制函数功能:系统的根轨迹绘制
36、格式1:rlocus(num,den)R,K=rlocus(num,den)格式2:Rlocus(A,B,C,D)R,K=rlocus(A,B,C,D)说明说明:此函数可用于连续时间系统,也可用于离散时间系统。对于不带返回参数的将绘制根轨迹。对于带返回参数的将不作图,其中返回参数K和R分别是根轨迹增益K的值及其所对应于的闭环极点。例3-12 绘制如下系统的根轨迹图,其中,K为根轨迹增益。解:在MATLAB命令窗口中输入:num=1;den=conv(1,3,2,1,5);rlocus(num,den)程序运行后得到根轨迹如图3-13(1)。将鼠标停在曲线显示区域,点击右键,从弹出的菜单中用鼠标
37、左键单击选择“Grid”,就可以加入网格线(也可以通过在MATLAB命令窗口中键入“Grid”命令并运行来增加网格线)。注意,根轨迹中的网格线并不是直线,而是由等阻尼比线和等自然频率线组成(如图3-13(2)所示)。(1)(2)(3)(1)缺省绘制的根轨迹;(2)包含网格线的根轨迹;(3)根轨迹上性能参数的确定;图3-13 例3-12的根轨迹图用鼠标左键(右键也行)单击根轨迹某一点,也可以得到当前点的根轨迹增益(Gain)、闭环极点坐标(pole)、阻尼比(Damping)、超调量(Overshoot)及频率(Frequence)等信息,如图3-13(3)所示。以上所绘制的是根轨迹增益K由0变
38、化到+时的根轨迹,若将例3-12中的“rlocus(num,den)”语句换成“rlocus(num,den,1,200)”,也可以绘制根轨迹增益K在1200之间取值时的根轨迹,如图3-14所示。图 3-14 K在1与200之间取值时的根轨迹 2.系统的零极点图绘制系统的零极点图绘制功能:绘制系统的零极点格式:pzmap(A,B,C,D)p,z=pzmap(A,B,C,D)格式:pzmap(num,den)p,z=pzmap(num,den)格式:pzmap(p,z)说明:说明:在所绘制的零极点图中,极点用“”表示,零点用“”表示,对于不带返回参数的将绘制零极点图,对于带有返回参数的将不作图,
39、其中返回参数P为极点的列向量,z为零点的列向量。例如在MATLAB命令窗口中输入:num=1;den=conv(1,3,2,1,5);pzmap(num,den)运行后可得到例3-12中系统的极点分布图,如图3-15所示。图3-15 例3-12系统的极点分布图3.计算根轨迹上给定一组极点所对应的根轨迹增益计算根轨迹上给定一组极点所对应的根轨迹增益功能:计算根轨迹给定极点对应的根轨迹增益格式1:K,poles=rlocfind(A,B,C,D)K,poles=rlocfind(A,B,C,D,P)格式2:K,poles=rlocfind(num,den)K,poles=rlocfind(num,
40、den,P)说明:说明:由rlocfind()绘制的根轨迹图形窗口中将显示十字光标,当用户选择其中一点时,该极点所对应的根轨迹增益由K记录,与根轨迹增益有关的所有极点记录在poles中。也可通过指定极点p得到增益的向量。向量K的第m项是根据极点位置P(m)计算的根轨迹增益,矩阵poles的第m列是相应的闭环极点。以例3-12中系统为例,在MATLAB命令窗口中输入:num=1;den=conv(1,3,2,1,5);K,poles=rlocfind(num,den)运行后显示提示语“Select a point in the graphics window”,当用鼠标点击图上某一点时,会出现所
41、选择的三个闭环极点,如图 3-16所示。同时,在MATLAB命令窗口显示以下信息:selected_point=0.4804+0.8816i%鼠标选择点的坐标K=0.0252%此时所对应的根轨迹增益poles=-6.1686%此时闭环系统的极点(3个)图 3-16 例3-12系统在K=0.0252时的闭环极点分布 -0.9157+2.2055i -0.9157-2.2055i图 3-16 例3-12系统在K=0.0252时的闭环极点分布4.sgrid()函数函数功能:为连续时间系统的根轨迹添加网格线,包括等阻尼比线和等自然功能:为连续时间系统的根轨迹添加网格线,包括等阻尼比线和等自然频率线。频
42、率线。格式:格式:sgrid%为根轨迹添加网格线为根轨迹添加网格线 sgrid(z,wn)%为根轨迹添加网格线,等阻尼比范围和等自然频率为根轨迹添加网格线,等阻尼比范围和等自然频率范围分别由向量范围分别由向量z和向量和向量wn确定确定说明:缺省情况下,等阻尼比步长为说明:缺省情况下,等阻尼比步长为0.1,范围为,范围为01.等自然频率步长为等自然频率步长为1,范围为,范围为010,也可以由向量,也可以由向量z和向量和向量wn分别指定其范围。分别指定其范围。例如若要将例例如若要将例3-13中系统的根轨迹添加网格线,可以在中系统的根轨迹添加网格线,可以在MATLAB命令窗命令窗口中输入:口中输入:
43、num=1;den=conv(1,3,2,1,5);rlocus(num,den),sgrid运行后得到根轨迹图如图运行后得到根轨迹图如图3-13(2)所示。)所示。5.zgrid()函数函数功能:为离散时间系统的根轨迹添加网络线,包括等阻尼比线和等自然功能:为离散时间系统的根轨迹添加网络线,包括等阻尼比线和等自然频率线。频率线。格式:格式:zgrid%为根轨迹添加网络线为根轨迹添加网络线 zgrid(z,wn)%为根轨迹添加网络线,等阻尼比范围和等自然频率范为根轨迹添加网络线,等阻尼比范围和等自然频率范围分别由向量围分别由向量z和向量和向量wn确定确定说明:说明:缺省情况下,等阻尼比步长为缺
44、省情况下,等阻尼比步长为0.1,范围为,范围为01.等自然频率步长为等自然频率步长为1,范围为,范围为010,也可以由向量,也可以由向量z和向量和向量wn分别指定其范围。分别指定其范围。例例3-13 离散时间控制系统如图离散时间控制系统如图3-17所示。所示。已知已知G(z)=,采样周期采样周期Ts=0.01s,绘制其根轨迹并添加网络线。,绘制其根轨迹并添加网络线。图图3-17 离散系统时间控制系统离散系统时间控制系统解:在解:在MATLAB命令窗口中输入:命令窗口中输入:A=tf(0.5,0.04,1,-0.4,0.5,0.1);rlocus(A)程序运行后得到系统根轨迹,如图程序运行后得到
45、系统根轨迹,如图3-18所示。所示。图3-18 离散系统根轨迹在上述程序末尾添加语句在上述程序末尾添加语句“zgrid”,运行后可给,运行后可给得到根轨迹添加网格,如图得到根轨迹添加网格,如图3-19所示。所示。图图3-19 离散系统根轨迹添加网格线离散系统根轨迹添加网格线解:在解:在MATLAB命令窗口中输入如命令窗口中输入如下命令,可得到系统根轨迹如下命令,可得到系统根轨迹如图图3-20所示。所示。num=1;den=conv(1,3,2,1,5);G=tf(num,den);rlocus(G)%绘制根轨迹绘制根轨迹例例3-14 已知系统开环传递函数如下,试分析闭环系统的稳定性。已知系统开
46、环传递函数如下,试分析闭环系统的稳定性。图图3-20例例3-15系系统统的根的根轨轨迹及迹及临临界增益界增益值值单击并拖动根轨迹和虚轴相交的点,可得到临界根轨迹增益单击并拖动根轨迹和虚轴相交的点,可得到临界根轨迹增益K=12.6,超过该值,闭环系统将不稳定。可以通过不同的超过该值,闭环系统将不稳定。可以通过不同的K值所对应的闭环系统值所对应的闭环系统的阶跃响应来验证该结论。的阶跃响应来验证该结论。例如选择例如选择K值分别为值分别为1,10,12.6,15时,绘制闭环系统的单位阶跃响时,绘制闭环系统的单位阶跃响应曲线,在应曲线,在MATLAB命令窗口中输入如下命令,程序运行后可得到系命令窗口中输
47、入如下命令,程序运行后可得到系统的阶跃响应曲线,如图统的阶跃响应曲线,如图3-21所示。所示。figure%新建图形窗口新建图形窗口 k=1;G_close1=feedback(G*k,1);%增益为增益为1时的闭环传函时的闭环传函subplot(2,2,1);step(G_close1)%在在2*2图形界面的第一个窗口图形界面的第一个窗口title(Step Response K=1);%绘制绘制K=1时的阶跃响应时的阶跃响应k=10;G_close10=feedback(G*k,1);subplot(2,2,2);step(G_close10)title(Step Response K=1
48、0);k=12.6;G_close12=feedback(G*k,1);subplot(2,2,3);step(G_close12)title(Step Response K=12.6);k=15;G_close15=feedback(G*k,1);subplot(2,2,4);step(G_close15)title(Step Response K=15);图3-21 例3-15中K取不同值时系统的响应情况3.2.2单输入单输出设计工具单输入单输出设计工具SISO Design Tool是是MATLAB中一个图形用户界面中一个图形用户界面(GUI)的设计工具,的设计工具,可用来分析和调整单输
49、入单输出反馈控制系统。它能用根轨迹图或伯可用来分析和调整单输入单输出反馈控制系统。它能用根轨迹图或伯德德(伯德伯德)图等进行系统的分析与控制器的设计,目前已经集成了图等进行系统的分析与控制器的设计,目前已经集成了MATLAB早期版本中根轨迹设计工具早期版本中根轨迹设计工具rltool的功能。由于采用了的功能。由于采用了GUI,用户无需从键盘输入操作命令,导入系统的模型后就能自动绘制根轨用户无需从键盘输入操作命令,导入系统的模型后就能自动绘制根轨迹图和伯德图,可以用鼠标直接对屏幕上的对象进行操作,并且在与迹图和伯德图,可以用鼠标直接对屏幕上的对象进行操作,并且在与SISO实时连接的可视分析工具实
50、时连接的可视分析工具LTI viewer马上显示出系统响应的结果,马上显示出系统响应的结果,这样用户可以一边看闭环响应,一边调整控制器的增益、极点和零点,这样用户可以一边看闭环响应,一边调整控制器的增益、极点和零点,直到设计出满足要求的控制器为止。本节主要介绍该工具用于系统分直到设计出满足要求的控制器为止。本节主要介绍该工具用于系统分析的基本使用方法,下一章将利用该工具进行系统的校正设计。析的基本使用方法,下一章将利用该工具进行系统的校正设计。下边以例下边以例3-14 中的系统为例,说明中的系统为例,说明SISO Design Tool的基本使用方法。的基本使用方法。1.打开打开SISO De