CH4、控制系统的分析方法 早期的控制系统分析过程复杂而耗时,如想得到一个系统 的冲激响应曲线,首先需要编写一个求解微分方程的子程 序,然后将已经获得的系统模型输入计算机,通过计算机 的运算获得冲激响应的响应数据,然后再编写一个绘图程 序,将数据绘制成可供工程分析的响应曲线。 ≯ MATLAB控制系统工具箱和 SIMULINK辅助环境的出现, 给控制系统分析带来了福音 控制系统的分析包括系统的稳定性分析、时域分析、频域 分析及根轨迹分析
CH4、控制系统的分析方法 ➢ 早期的控制系统分析过程复杂而耗时,如想得到一个系统 的冲激响应曲线,首先需要编写一个求解微分方程的子程 序,然后将已经获得的系统模型输入计算机,通过计算机 的运算获得冲激响应的响应数据,然后再编写一个绘图程 序,将数据绘制成可供工程分析的响应曲线。 ➢ MATLAB控制系统工具箱和SIMULINK辅助环境的出现, 给控制系统分析带来了福音。 ➢ 控制系统的分析包括系统的稳定性分析、时域分析、频域 分析及根轨迹分析
第一节控制系统的稳定性分析 、系统稳定及最小相位系统判据 口对于连续时间系统,如果闭环极点全部在S平面左半 平面,则系统是稳定的 口对于离散时间系统,如果系统全部极点都位于Z平面 的单位圆内,则系统是稳定的。 口若连续时间系统的全部零极点都位于S左半平面;或 若离散时间系统的全部零极点都位于Z平面单位圆内, 则系统是最小相位系统
第一节 控制系统的稳定性分析 ❑对于连续时间系统,如果闭环极点全部在S平面左半 平面,则系统是稳定的。 ❑对于离散时间系统,如果系统全部极点都位于Z平面 的单位圆内,则系统是稳定的。 ❑若连续时间系统的全部零极点都位于S左半平面;或 若离散时间系统的全部零极点都位于Z平面单位圆内, 则系统是最小相位系统。 一、系统稳定及最小相位系统判据
系统稳定及最小相位系统的判别方法 间接判别(工程方法) 劳斯判据:劳斯表中第一列各值严格为正,则系统稳定, 如果劳斯表第一列中出现小于零的数值,系统不稳定 胡尔维茨判据:当且仅当由系统分母多项式构成的胡尔 维茨矩阵为正定矩阵时,系统稳定。 2、直接判别 MATLAB提供了直接求取系统所有零极点的函数,因此 可以直接根据零极点的分布情况对系统的稳定性及是否 为最小相位系统进行判断
2、直接判别 MATLAB提供了直接求取系统所有零极点的函数,因此 可以直接根据零极点的分布情况对系统的稳定性及是否 为最小相位系统进行判断。 二、系统稳定及最小相位系统的判别方法 1、间接判别(工程方法) 劳斯判据:劳斯表中第一列各值严格为正,则系统稳定, 如果劳斯表第一列中出现小于零的数值,系统不稳定。 胡尔维茨判据:当且仅当由系统分母多项式构成的胡尔 维茨矩阵为正定矩阵时,系统稳定
2-12 例exp41m 2630 已知某系统的模型如右所示: 47-8-5 0 6 y=[2561]x+7u 要求判断系统的稳定性及系统是否为最小相位系统, 例exp4_2m 系统模型如下所示,判断系统的稳定性,以及系统 是否为最小相位系统。 G(S) 3s3+16s2+41s+28 s°+14s3+110s4+528s3+1494s2+2117s+112
例exp4_1.m 已知某系统的模型如右所示: y x u x x u 2 5 6 1 7 1 0 0 1 7 2 1 6 4 7 8 5 2 6 3 0 1 2 1 2 = − + − + − − − = 要求判断系统的稳定性及系统是否为最小相位系统。 例exp4_2.m 系统模型如下所示,判断系统的稳定性,以及系统 是否为最小相位系统。 14 110 528 1494 2117 112 3 16 41 28 ( ) 6 5 4 3 2 3 2 + + + + + + + + + = s s s s s s s s s G s
i-find(条件式) 用来求取满足条件的向量的下标向量,以列向量表示 例如exp41m中的条件式为rea(p>0),其含义就是找出极点 向量p中满足实部的值大于0的所有元素下标,并将结果返回到i 向量中去。这样如果找到了实部大于0的极点,则会将该极点的 序号返回到ⅱ下。如果最终的结果里i的元素个数大于0,则认为 找到了不稳定极点,因而给出系统不稳定的提示,若产生的ⅱ向 量的元素个数为0,则认为没有找到不稳定的极点,因而得出系 统稳定的结论。 pzmap(p, Z 根据系统已知的零极点p和z绘制出系统的零极点图
ii=find(条件式) 用来求取满足条件的向量的下标向量,以列向量表示。 例如 exp4_1.m中的条件式为real(p>0),其含义就是找出极点 向量p中满足实部的值大于0的所有元素下标,并将结果返回到ii 向量中去。这样如果找到了实部大于0的极点,则会将该极点的 序号返回到ii下。如果最终的结果里ii的元素个数大于0,则认为 找到了不稳定极点,因而给出系统不稳定的提示,若产生的ii向 量的元素个数为0,则认为没有找到不稳定的极点,因而得出系 统稳定的结论。 pzmap(p,z) 根据系统已知的零极点p和z绘制出系统的零极点图
第二节控制系统的时域分析 、时域分析的一般方法 个动态系统的性能常用典型输入作用下的响应 来描述。响应是指零初始值条件下某种典型的输入函数 作用下对象的响应,控制系统常用的输入函数为单位阶 跃函数和脉冲激励函数(即冲激函数)。在 MATLAB的 控制系统工具箱中提供了求取这两种输入下系统响应的 函数。 口求取系统单位阶跃响应: stepO 口求取系统的冲激响应: impulse
第二节 控制系统的时域分析 一个动态系统的性能常用典型输入作用下的响应 来描述。响应是指零初始值条件下某种典型的输入函数 作用下对象的响应,控制系统常用的输入函数为单位阶 跃函数和脉冲激励函数(即冲激函数)。在MATLAB的 控制系统工具箱中提供了求取这两种输入下系统响应的 函数。 一、时域分析的一般方法 ❑求取系统单位阶跃响应:step() ❑求取系统的冲激响应:impulse()
1、 stepo函数的用法exp43m 口=sep( num, den, t):.其中num和den分别为系统传递函数描述中的分子和 分母多项式系数,t为选定的仿真时间向量,一般可以由t=0 step: end等步 长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。 Oy x, tI=step(num, den)此时时间向量t系统模型的特性自动生成,状 态变量x返回为空矩阵 口[yxt]step(A,B,C,D,ju):其中ABC,D为系统的状态空间描述矩阵,iu 用来指明输入变量的序号。x为系统返回的状态轨迹。 口如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可 调用以下的格式 step(num, den); step(num, den, t); step(A, B,C, D, iu, t); step(A, B, C, D,iu) 口线性系统的稳态值可以通过函数 degano来求取,其调用格式为 dc=dcgain(num, den )eidc=dcgain (a, b, c, d 20 例eH43m已知系统的开环传递函数为:G(S)=+85 s4+8s3+36s2+40 求系统在单位负反馈下的阶跃响应曲线
1、step()函数的用法 exp4_3_.m ❑y=step(num,den,t):其中num和den分别为系统传递函数描述中的分子和 分母多项式系数,t为选定的仿真时间向量,一般可以由t=0:step:end等步 长地产生出来。该函数返回值y为系统在仿真时刻各个输出所组成的矩阵。 ❑[y,x,t]=step(A,B,C,D,iu):其中A,B,C,D为系统的状态空间描述矩阵,iu 用来指明输入变量的序号。x为系统返回的状态轨迹。 ❑如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可 调用以下的格式: step(num,den);step(num,den,t);step(A,B,C,D,iu,t);step(A,B,C,D,iu); 例 exp4_3.m 已知系统的开环传递函数为: s s s s G s o 8 36 40 20 ( ) 4 3 2 + + + = 求系统在单位负反馈下的阶跃响应曲线。 ❑线性系统的稳态值可以通过函数dcgain()来求取,其调用格式为: dc=dcgain(num,den)或dc=dcgain(a,b,c,d) ❑[y,x,t]=step(num,den):此时时间向量t由系统模型的特性自动生成, 状 态变量x返回为空矩阵
2、 impulse(O函数的用法 求取脉冲激励响应的调用方法与 steph函数基本一致 y=impulse(num, den, t): y, x, t]=impulse(num, den): y, x, t]=impulse(A, B, C, D, iu, t) impulse(num, den); impulse(num, den, t) impulse(A, B, C, D, iu); impulse(A, B, C, D, iu, t) 20 例exp44m已知系统的开环传递函数为:G(s) +8s3+36s2+4 求系统在单位负反馈下的脉冲激励响应曲线。 例exp45m已知某典型二阶系统的传递函数为: G()=-2 ,2=0.6,Wn=5,求系统的阶跃响应曲线 sf+25w,S+w 10s+25 例exp46m已知某闭环系统的传递函数为:G(s)= 0.16s3+1.96s2+10s+25 求其阶跃响应曲线
2、impulse()函数的用法 例 exp4_4.m 已知系统的开环传递函数为: s s s s G s o 8 36 40 20 ( ) 4 3 2 + + + = 求系统在单位负反馈下的脉冲激励响应曲线。 例 exp4_5.m 已知某典型二阶系统的传递函数为: 2 2 2 2 ( ) n n n s w s w w G s + + = , = 0.6, = 5 wn ,求系统的阶跃响应曲线。 例 exp4_6.m 已知某闭环系统的传递函数为: 0.16 1.96 10 25 10 25 ( ) 3 2 + + + + = s s s s G s 求其阶跃响应曲线。 求取脉冲激励响应的调用方法与step()函数基本一致。 y=impulse(num,den,t);[y,x,t]=impulse(num,den);[y,x,t]=impulse(A,B,C,D,iu,t) impulse(num,den);impulse(num,den,t) impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t)
仿真时间t的选择: 口对于典型二阶系统根据其响应时间的估算公式4=34 可以确定 口对于高阶系统往往其响应时间很难估计,一般釆用试探的方法,把t选 大一些,看看响应曲线的结果,最后再确定其合适的仿真时间 口一般来说,先不指定仿真时间,由 MATLAB自己确定,然后根据结果 最后确定合适的仿真时间 口在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般 不易取太大。 口例exp46m
仿真时间t的选择: ❑对于典型二阶系统根据其响应时间的估算公式 可以确定。 ❑对于高阶系统往往其响应时间很难估计,一般采用试探的方法,把t选 大一些,看看响应曲线的结果,最后再确定其合适的仿真时间。 ❑一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果, 最后确定合适的仿真时间。 ❑在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般 不易取太大。 ❑例exp4_6_.m n s w t 3 ~ 4 =
常用时域分析函数 时间响应探究系统对输入和扰动在时域内的瞬态行为,系统 特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上 反映出来。 MATLAB除了提供前面介绍的对系统阶跃响应、冲激响应 等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数, 如 covar:连续系统对白噪声的方差响应 initial:连续系统的零输入响 lsin:连续系统对任意输入的响应 对于离散系统只需在连续系统对应函数前加d就可以,如 Instep, impulse等。 它们的调用格式与step、 impulse类似,可以通过help命令来察看自学
二、常用时域分析函数 时间响应探究系统对输入和扰动在时域内的瞬态行为,系统 特征如:上升时间、调节时间、超调量和稳态误差都能从时间响应上 反映出来。MATLAB除了提供前面介绍的对系统阶跃响应、冲激响应 等进行仿真的函数外,还提供了大量对控制系统进行时域分析的函数, 如: covar:连续系统对白噪声的方差响应 initial:连续系统的零输入响应 lsim:连续系统对任意输入的响应 对于离散系统只需在连续系统对应函数前加d就可以,如dstep, dimpulse等。 它们的调用格式与step、impulse类似,可以通过help命令来察看自学