您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > matlab非线性控制系统分析
MATLAB与控制系统仿真实践第16章非线性控制系统分析主要内容•原理要点•非线性系统概述•相平面法•描述平面法•原理要点•非线性系统的研究方法由于系统的复杂性和多样性而成为控制界的研究热点,从而产生了很多理论方法。比较基本的有李雅普诺夫第二法,小范围线性近似法,描述函数法,相平面法,计算机仿真等等。1.典型的非线性特性典型的非线性特性有死区非线性、饱和非线性、间隙非线性、继电非线性等。Simulink给出了部分非线性特性模块。用户也可以自行构建非线性特性模块。2.非线性控制系统含有非线性元件或环节的控制系统称为非线性控制系统。非线性系统输出暂态响应曲线的形状与输入信号的大小和初始状态有关,非线性系统的稳定性亦与输入信号的大小和初始状态有关。非线性系统常会产生持续振荡。3.描述函数法非线性特性的描述函数法是线性部件频率特性在非线性特性中的推广。它是对非线性特性在正弦信号作用下的输出进行谐波线性化处理之后得到的,是非线性特性的一种近似描述。4.用描述函数研究系统的稳定点的方法用描述函数研究系统的稳定点的方法,是建立在线性系统Nyquist稳定判据基础上的一种工程近似方法。其基本思想是把非线性特性用描述函数来表示,将复平面上的整个非线性曲线()理解为线性系统分析中的临界点,再将线性系统有关稳定性分析的结论用于非线性系统。16.1非线性系统概述•含有非线性元件或环节的控制系统称为非线性控制系统。•一般非线性系统的数学模型可表示为:11()()()()[,,...,,(),,...,()]0nnmnnmdxtdxtdxtdutFxtutdtdtdtdt写成多变量的形式为:()[(),(),]XtfXtUtt•在F与f函数中,如果相应的算子为线性,则称为线性系统,否则称为非线性系统。如果不显含t,则为时不变系统,若显含t,则称为时变系统。•非线性系统输出暂态响应曲线的形状与输入信号的大小和初始状态有关,非线性系统的稳定性亦与输入信号的大小和初始状态有关。非线性系统常会产生持续振荡。16.2非线性特性模块的构建及示例•典型的非线性特性有死区非线性、饱和非线性、间隙非线性、继电非线性等。Simulink给出了部分非线性特性模块。这在Simulink一章中已列出。在系统仿真中可以直接使用。但对于没有提供的模块则需要我们自己构建。那么如何根据需要构建任意的非线性模块呢?事实上,任意的静态非线性模块,无论其是单值非线性,还是多值非线性,都可以由Simulink构建,并直接用于仿真。•例1:构建如图16.1分段线性的非线性特性模块。(-3,-1)(-2,-1)(-1,0)(2,0)(3,1)(4,1)图16.1例1非线性特性1.新建一个空白模型。在模型中添加子模块集LookupTables中的LookupTable模块。2.设置模块属性。双击LookupTable模块进入其属性设置窗口,如图16.2,并添加非线性特性值。其中,Vectorofinputvalues栏为横坐标向量,而Tabledata栏为纵坐标向量。需要注意的是,如果仅添加了图中的所有转折点坐标,则位于最左侧与最右侧外边的特性将无法表现。因此还应该在特性曲线的两侧再找两点,从而完整地表现非线性特性。根据非线性函数,位于最左侧转折点(-3,-1)之外的点取为(-4,-2),位于最右侧转折点(4,1)之外的点取为(5,2)。图16.2非线性特性属性设置窗口例2:构建如图16.3的回环非线性特性模块。(-3,-2)(-2,-2)(1,0)(2,0)(2,2)(3,2)(-1,0)(-2,0)图16.3例2非线性特性•分析:该特性在输入信号增加时走一条折线,而在输入信号减小时走另一条折线。可以将特性分解为两个单值函数。如图16.4。•根据例1的结果,这两个单值函数都可以用查表模块实现。这里有两个问题需要解决。一是如何判断输入是增加还是减小?在判断输入信号是否为增加时,可通过比较输入信号的当前值和它的上一步值进行判断。而Simulink离散模块组中提供的Memory模块,可以用来记忆上一个计算步长的信号值,这样将输入信号的当前值和它的上一步值分别作为比较模块(RelationalOperator)的输入,即可输出代表上升还是下降的逻辑值1和0。二是如何控制特性曲线走不同折线?Simulink中的SignalRouting子模块组中Switch模块,使用比较模块的输出作为输入控制,即可使模块对输入信号的不同变化走不同折线。具体实现如图16.5:(-2,-2)(2,0)(3,2)(-1,0)(-3,-2)(1,0)(2,2)(-2,0)(a)输入上升分支(b)输入下降分支图16.4特性分解后的两个单值函数Out11输入下降分支输入上升分支SwitchRelationalOperator=MemoryIn11图16.5例2非线性特性的Simulink模型1.新建一个空白模型。添加所需的不同模块。2.进行不同模块的连接并进行属性设置。图16.5中,输入上升分支和输入下降分支都是调用了查表模块。其设置见图16.6。(a)输入上升分支设置窗口(b)输入下降分支设置窗口图16.6例2非线性特性设置窗口对输入信号当前值和其上一步的值比较,如果当前值大于等于前一步值,则模块表现为上升分支的特性;反之,则表现为下降分支的特性。RelationalOperator(比较模块)默认值为=,我们根据需要改为=。Switch(开关模块)的控制阀值(Threshold)可以设置。这里设为0.5。即控制端输入=0.5时,按上升分支特性输出,否则按上降分支特性输出。3.给定输入,观察非线性模块的特性。inreasedecreaseToWorkspacesimoutSwitchSineWaveScopeRelationalOperator=Memory图16.7例2非线性特性在正弦输入的Simulink模型•本例给定输入为正弦信号,其幅值分别设为2、4,其输出可以用示波器模块直接观察,也可以输出到工作空间后,使用plot函数绘制。其Simulink模型如图16.7。本例输出到工作空间变量名设为simout,其保存格式设为Array,在命令窗口使用plot函数绘制,运行结果如图。plot(tout,simout(:,1),tout,simout(:,2))012345678910-2-1.5-1-0.500.511.52012345678910-4-3-2-101234(a)输入信号幅值为2时的仿真输出(b)输入信号幅值为4时的仿真输出图16.8例2不同输入下的仿真输出16.3相平面法•16.3.1相平面法概述•相平面法是一种求解二阶以下线性或非线性微分方程的图解方法。•对于形如下式的二阶系统(,)0xfxx•涉及的概念有:•1.相平面:以为横坐标,为纵坐标的直角坐标平面构成相平面。•2.相轨迹:以时间为参变量,由表示运动状态的分别作为横坐标和纵坐标而绘制的曲线称为相轨迹,每根相轨迹与起始条件有关。表示了质点在时刻的位置和速度。•3.相平面图:同一系统,不同初始条件下的相轨迹是不同的。由所有相轨迹组成的曲线族所构成的图称为相平面图。16.3.2基于MATLAB的相轨迹图绘制实例•例3:绘制如下系统的单位阶跃输入时的相轨迹。其中,非线性部分为饱和非线性,0.3,0.3,0.30.3,0.3xyxxx线性部分为10()(4)Gsss系统初始状态为0。•1.新建一个空白模型。将所需的不同模块添加到空白模型中。•2.连接各模块并设置各模块参数。这里将饱和非线性模块upperlimit设为0.3,lowerlimit设为-0.3。其它模块的设置不再赘述,模型如图16.9。XYGraphTransferFcn10s+4ToWorkspace1simout1ToWorkspacesimoutStepScopeSaturationIntegrator1s图16.9例3的Simulink模型•3.设置仿真参数。如图16.10,将Solveroptions下的Type项选为Fixed-step,Solver项选ode5(Dormand-Prince),Fixed-stepsize设为0.01。图16.10仿真参数设置窗口•4.开始仿真。•相轨迹可以直接观察XYGraph输出,也可使用输出到工作空间的参数绘制,如图16.11所示。plot(simout(:,1),simout1(:,1))grid00.20.40.60.811.21.4-0.100.10.20.30.40.50.60.70.8图16.11例3输出的相轨迹•系统阶跃响应输出如图16.12所示。图16.12系统阶跃响应输出由16.11分析可知,系统的稳定点在(1,0)点,即稳态值为1。16.4描述函数法16.4.1描述函数法概述P.J.Daniel于1940年首先提出了描述函数法。非线性特性的描述函数法是线性部件频率特性在非线性特性中的推广。它是对非线性特性在正弦信号作用下的输出进行谐波线性化处理之后得到的,是非线性特性的一种近似描述。1.描述函数法的定义:设非线性环节的输入输出关系为()yfx非线性环节输入正弦信号()sin()xtAt非线性环节的输出通常也为周期信号,可以分解为傅立叶级数0011()(cossin)sin()nnnnnnytAAntBntAYnt其中,为直流分量,和是第n次谐波的幅值和相角,且有201()cos(),0,1,...nAytntdtn201()sin(),1,2,...nBytntdtn22,arctannnnnnnAYABB00A若,且1n时nY很小,则非线性环节的输出近似为11()sin()ytYt•可见,其近似结果和线性环节频率响应形式相似,依照线性环节的频率特性的定义,非线性环节的输入输出特性可由描述函数表示:1()111()()jjNABjAYNANAeeAA对于非线性控制系统的描述函数分析方法,常用的负倒描述函数为:()11()()jNAeNANA对于如图16.13的等效非线性系统,且()Gj在开环幅相平面上无右半平面的极点,稳定性判据为:如果1()NA不被()Gj包围,则系统是稳定的,如果1()NA被()Gj包围,则系统是不稳定的系统。()Gj包围的区域称为不稳定区域,不包围的区域称为稳定区域。如果1()NA与()Gj,则在交点处,若1()NA沿着A值增加的方向由不稳定区域进入稳定区域,则自激振荡是稳定的,否则,自激振荡是不稳定的。在交点处有:001()()GjNA•2.用描述函数研究系统的稳定点的方法•用描述函数研究系统的稳定点的方法,是建立在线性系统Nyquist稳定判据基础上的一种工程近似方法。其基本思想是把非线性特性用描述函数来表示,将复平面上的整个非线性曲线(1,0)j统有关稳定性分析的结论用于非线性系统。01/()NX理解为线系统分析中的临界点,再将线性系Out11-1G(s)N(A)图16.13等效非线性系统对于如图16.13的等效非线性系统,且()Gj在开环幅相平面上无右半平面的极点,稳定性判据为:如果1()NA不被()Gj包围,则系统是稳定的,如果1()NA被()Gj包围,则系统是不稳定的系统。()Gj包围的区域称为不稳定区域,不包围的区域称为稳定区域。如果1()NA与()Gj,则在交点处,若1()NA沿着A值增加的方向由不稳定区域进入稳定区域,则自激振荡是稳定的,否则,自激振荡是不稳定的。在交点处有:001()()GjNA由此可求出自激振荡的振幅0A和振荡频率。016.4.2基于MATLAB的描述函数法非线性系统分析实例•例4:考虑如图16.14的非线性系统,图中的继电器非线性模块。试判断系统是否存在自振;若有自振,求出自振的振幅和频率。12s+7s+19s+1332M=10,h
本文标题:matlab非线性控制系统分析
链接地址:https://www.777doc.com/doc-3179926 .html