880 likes | 1.13k Views
第 5 章 控制系统计算机辅助分析. 返回总目录. 控制系统的计算机辅助分析是以理论分析为依据,在已建立控制系统数学模型的基础上,通过编程实现对系统稳定性、稳态性能和瞬态性能进行分析的一门应用型技术。 MATLAB 以其灵活的编程、丰富的工具箱和强大的图形功能成为目前人们公认使用最方便的控制系统辅助分析软件。本章在简单介绍系统分析基础理论的基础上,主要讲述利用 MATLAB 实现线性定常系统稳定性分析的方法以及基于 MATLAB 的对控制系统瞬态性能进行分析的域法、频域法和根轨迹法。. 控制系统的稳定性分析.
E N D
第5章控制系统计算机辅助分析 返回总目录
控制系统的计算机辅助分析是以理论分析为依据,在已建立控制系统数学模型的基础上,通过编程实现对系统稳定性、稳态性能和瞬态性能进行分析的一门应用型技术。MATLAB以其灵活的编程、丰富的工具箱和强大的图形功能成为目前人们公认使用最方便的控制系统辅助分析软件。本章在简单介绍系统分析基础理论的基础上,主要讲述利用MATLAB实现线性定常系统稳定性分析的方法以及基于MATLAB的对控制系统瞬态性能进行分析的域法、频域法和根轨迹法。控制系统的计算机辅助分析是以理论分析为依据,在已建立控制系统数学模型的基础上,通过编程实现对系统稳定性、稳态性能和瞬态性能进行分析的一门应用型技术。MATLAB以其灵活的编程、丰富的工具箱和强大的图形功能成为目前人们公认使用最方便的控制系统辅助分析软件。本章在简单介绍系统分析基础理论的基础上,主要讲述利用MATLAB实现线性定常系统稳定性分析的方法以及基于MATLAB的对控制系统瞬态性能进行分析的域法、频域法和根轨迹法。
控制系统的稳定性分析 稳定是动态系统最重要的特性,也是控制系统能够正常工作的前提条件。只有稳定的系统才能够完成预定的控制任务。 稳定性的严格的数学定义是俄国科学家李雅普诺夫于1892年提出的,一直沿用至今。经典控制理论中的系统稳定实质是指李雅普诺夫意义下的渐近稳定。即受到扰动影响,控制系统将偏离平衡状态,如果扰动消除后,系统能够回复到原来的平衡状态,就称系统平衡状态是渐近稳定的。在分析线性系统的稳定性时,关心的是系统的运动稳定性,即系统在不受任何外界输入作用时,系统方程的解在时间t趋于无穷时的渐近行为。可以证明,对于线性系统运动稳定性和平衡状态稳定性是等价的。 线性定常连续系统稳定的充要条件是:所有的闭环极点都位于复平面的左半部。线性定常离散控制系统稳定的充要条件是:所有的闭环极点均位于复平面上以坐标原点为圆心的单位圆以内。因此判断系统稳定性的最直接的方法是求出系统全部的闭环极点,根据闭环极点在复平面上的位置判别系统的稳定性。
控制系统的稳定性分析 一. 特征方程根的求取 n阶的线性定常系统,其特征方程是一个n次代数方程。特征方程的根即为系统的闭环极点,MATLAB提供了求取特征方程根的函数roots( ),其调用格式为 式中,P为特征多项式的系数向量,返回值V是特征根构成的列向量。 对于n维状态方程描述的系统 系统矩阵A为n×n阶方阵,那么 为系统的特征多项式。
控制系统的稳定性分析 MATLAB提供了求取矩阵特征多项式的函数 其中返回值P为n+1维行向量,各分量对应为矩阵特征多项式按降幂形式排列时的各项系数,即: MATLAB还提供了一个可以直接求取矩阵特征值的函数eig( ),其调用格式为 其中D为对角矩阵,对角线上的元素即为矩阵A的特征值。 调用该函数时,也可以给出两个返回值: 其中V是由与特征值相对应的特征向量构成的矩阵。
控制系统的稳定性分析 二. 利用传递函数的极点判断系统的稳定性 控制系统传递函数(或脉冲传递函数)以有理真分式形式给出时, MATLAB提供的函数tf2zp( )和pzmap( )可以用来求取系统的零点和极点,进而实现对系统稳定性的判断。 【例5.1】 已知控制系统结构图,如图5.1所示。 图5.1 例5.1图 求取系统的闭环极点,并判别闭环系统的稳定性。 解 n1=30; d1=[0.5,1]; %输入环节1的数学模型 n2=[0.2,0.4]; d2=[0.25, 1, 0]; %输入环节2的数学模型 Gkn=conv(n1,n2); Gkd=conv(d1, d2); %求取系统的开环传递函数 [num,den]=cloop(Gkn, Gkd); %求取系统的闭环传递函数 P=roots(den); %求取系统的闭环极点 Disp(‘系统的闭环极点为 ’),disp(P) 输入下面的命令,MATLAB可给出稳定性判别的结果及位于右半复平面的极点 ss=find(real(P) > 0); tt=length(ss); if (tt>0) disp(‘系统不稳定’) disp(‘位于右半复平面的极点为’),disp(P(ss)) else disp(‘系统是稳定的’) end 图5.1
控制系统的稳定性分析 【例5.2】 已知离散控制系统闭环脉冲传递函数 判别系统的稳定性。 解:MATLAB程序为 Num=[2, 3, -1, 0.6, 3, 2]; den=[6, 4, -1, 0.6, 3, 0.8]; [Z, P]=tf2zp(num, den); ss=find(abs(P) > 1); tt=length(ss); if (tt>0) disp( ‘系统不稳定’ ) disp([‘位于z平面单位圆外的极点有’ int2str(tt) ‘个,分别为’]),disp(P(ss)) else disp(‘系统是稳定的’) end 这里也可以调用MATLAB提供的函数pzmap( )来绘制闭环系统的零极点分布图, >>pzmap(num, den); title(‘零极点分布图’) 再用下面的语句绘制一个以坐标原点为圆心的单位圆,闭环系统的稳定性则清楚可见。 >> hold on; sgrid( [ ], 1) 若采用带返回变量的调用格式,该函数可用于求取系统的零点和极点。 [P,Z]=pzmap(num,den) 其中的P、Z分别是由系统的极点和零点构成的列向量。
控制系统的稳定性分析 三. 利用李雅普诺夫第二法判别系统的稳定性 线性定常连续系统 当A非奇异时,系统有唯一的平衡状态 ,如果该平衡状态是渐近稳定的,那么它一定是大范围渐近稳定的。李雅普诺夫第二法指出:如果对任意给出的正定实对称矩阵Q都存在一个正定的实对陈矩阵P满足下面的方程 那么,系统的平衡状态 是渐近稳定的,并且标量函数 就是系统的李雅普诺夫函数。为了方便,常取Q为单位矩阵。 MATLAB提供了李雅普诺夫方程的求解函数lyap( ),其调用格式为
控制系统的稳定性分析 【例5.3】 系统状态方程为 确定系统的平衡状态,判断平衡状态的稳定性。 解:MATLAB程序为 A=[1, 2, 0; -6, -2, 3; -3, -4, 0]; [m,n]=size(A); if (n~=m) disp(‘输入错误,系统矩阵不是方阵’),break else if ( rank(A)<m) disp(‘系统平衡状态不止一个’) break else Q=eye(size(A)); P=lyap(A,Q); for ii=1:m detp (ii)=det(P([1:ii],[1:ii])); end ss=find(detp<=0); tt=length(ss); if (tt>0) disp( ‘系统平衡状态是不稳定’ ) else disp(‘P正定,系统在原点处平衡状态是渐近稳定的’) end end end
控制系统的稳定性分析 线性定常离散控制系统 其平衡状态在李雅普诺夫意义下渐近稳定的充要条件是:对于任意给出的实对称矩阵Q存在正定的实对称矩阵P,使得李雅普诺夫方程 成立,而且 是系统的李氏函数。MATLAB中,求解离散系统李雅普诺夫方程的函数是dlyap( ),判别平衡状态稳定性时,只需编程,对于任意给定的Q阵,判别李雅普诺夫方程的解P阵的定号性。
控制系统的时域分析 一. 时域分析的一般方法 控制系统数学模型的时域形式一般有微分方程、差分方程和状态空间表达式等。时域内对控制系统进行分析时,应先求取系统在典型输入信号作用下的时间响应,然后以系统时间响应为依据分析系统的动态性能和稳态性能。 1. 典型输入信号 实际系统承受的外作用形式多种多样,为了便于用统一的方法研究并比较系统的性能,人们约定了一些典型形式的输入信号。这些信号在现场和实验室中容易得到,它们的数学表达式简单,便于理论计算,而且对实际系统有代表性。常用的典型输入信号见表5-1。
控制系统的时域分析 2. 控制系统动态性能指标 对于稳定的系统,通常用描述系统阶跃响应特征的一些参数来评价其性能的好坏。 1) 最大超调量(简称超调量) 瞬态过程中输出响应的最大值超过稳态值的百分数,即 式中, 和 分别是输出响应的最大值和稳态值。 2) 峰值时间 输出响应超过稳态值第一次达到峰值所需要的时间。
控制系统的时域分析 3) 上升时间 输出响应第一次达到稳态值的时间,或由稳态值的 上升到 所需的时间。 4) 延迟时间 输出响应第一次达到稳态值 所需的时间。 5) 调节时间 或过渡过程时间当 和 之间误差达到规定的允许值(一般取 的 或 ,称允许误差范围,用 表示),且以后不再超出此值所需的时间称为调节时间 ,即 以后有 ( 或 ) 6) 振荡次数 在调节时间内, 偏离 振荡的次数。
控制系统的时域分析 3. 控制系统稳态性能指标 单位负反馈控制系统中,误差定义为 稳态误差是指稳定的系统在外作用下,经历过渡过程后进入稳态时的误差,即 不同输入信号作用下系统的稳态误差可以根据表5-2进行计算。
控制系统的时域分析 表中0型、Ⅰ型和Ⅱ型系统是根据系统开环传递函数Gk(s)中所含积分环节的个数定义的,Kp为系统的静态位置误差系数、Kv为系统的静态速度误差系数、Ka为系统的静态加速度误差系数,分别定义为
控制系统的时域分析 二.常用时域分析函数 常用时域分析正数见表5-3。
控制系统的时域分析 三. 时域分析应用实例 【例5.4】 已知控制系统传递函数 利用拉普拉斯变换法求系统的脉冲响应函数,并绘制响应曲线。 解:输入为理想单位脉冲,。在MATLAB命令窗口执行下面的语句, >>syms s >>y=ilaplace(1*(25/(s^2+2*s+25))) y= -25/96*(-96)^(1/2)*(exp((-1+1/2*(-96)^(1/2))*t)-exp((-1-1/2*(-96)^(1/2))*t)) 输入下面的程序可得如图5.2所示的响应曲线。 t=[0:0.01:5]; y=-25/96*(-96)^(1/2)*(exp((-1+1/2*(-96)^(1/2))*t)-exp((-1-1/2*(-96)^(1/2))*t)); plot(t,y)
控制系统的时域分析 【例5.5】 已知控制系统闭环传递函数,绘制控制系统阶跃响应曲线。 解: num=[4.8,28.8,24); den=[1,9,26,24]; step(num,den) grid %给图形添加网格线 鼠标置于图形上,右击鼠标,在快捷菜单中选择Grid(网格)功能也可以给图形添加网格线。鼠标置于Characteristics(特性)项,在子菜单中选择Peak Response(响应峰值)、Settling Time(调整时间)、Rise Time(上升时间)和Steady State(稳态值),MATLAB将在响应曲线上标出这些点的位置。将鼠标置于响应曲线的任意位置,单击,MATLAB都将显示与该点对应的时间及响应值。完整的阶跃响应曲线如图5.3所示。
控制系统的时域分析 【例5.6】 在同一个坐标系中绘制典型二阶系统、具有零点的二阶系统和三阶系统的阶跃响应曲线,并比较它们的性能。系统的传递函数分别为 (1) (2) (3) 解: num1=3.2; %系统1分子多项式系数 den1=conv([1,0.8+1.6*j],[1,0.8-1.6*j]); %系统1分母为两个一阶因子的乘积 num2=num1; den2=conv(den1,[0.33,1]); num3=conv(num1,[0.33,1]); den3=den1; step(num1,den1) grid hold on %保留屏幕上原有图形 step(num2,den2) step(num3,den3) gtext('系统1') %用鼠标在图形窗口定位添加文本 text('系统2') gtext('系统3')
控制系统的时域分析 系统2和系统3分别是在系统增加闭环极点和闭环零点构成的,全部的响应曲线如图5.4所示。由于增加的闭环零点或闭环极点与一对复数极点距离相对较近,复数极点的主导作用不明显。根据响应曲线可知:与系统1比较,系统2超调量降低,调整时间延长;系统3的超调量增加,调整时间缩短。
控制系统的时域分析 【例5.7】 已知单位反馈控制系统, 为其输入, 为输出, 系统的开环传递函数为 求系统的闭环传递函数。在同一个坐标系中绘制输入信号为 和 时,系统的时域响应曲线 和 。 系统响应曲线如图5.5所示。
控制系统的时域分析 解:编写如下所示的MATLAB程序 nu mk=25;denk=[1,4,0]; [num,den]=cloop(numk,denk); printsys(num,den) %显示闭环传递函数 t=0:0.1:5; %产生时间向量 u1=1+0.2*sin(4*t); u2=0.3*t+0.3*sin(5*t); y1=lsim(num,den,u1,t); y2= lsim(num,den,u2,t); plot(t,[y1,y2]) %在同一个坐标系中绘制响应曲线 grid xlabel('t(s)'); %标注横坐标 ylabel('y(t)'); %标注纵坐标 gtext(0.6,1.1,'u1'); %给图形添加文本 gtext(0.7,1.5,'y1'); gtext(4.5,1.3,'u2'); gtext(4.2,1.5,'y2'); 程序的运行结果为 num/den = 25 -------------- s^2 + 4 s + 25
控制系统的时域分析 【例5.8】 控制系统状态空间表达式为 试以T=0.5(s)为采样周期,采用零阶保持器将系统离散化,设系统的初始状态为x0=[-1,1,-1]T, 求离散化系统的零输入响应。 解:在MATLAB命令窗口输入下面的程序,可得图5.6所示的响应曲线 A=[-4,-2.5,-0.5;1.5,0,0;0,2.5,0]; B=[1;2;3];C=[0,1.5,1;-3,0,-6];D=[0;0]; x0=[-1,1,-1]' [G,H,Cd,Dd]=c2dm(A,B,C,D,0.5,'zoh'); %连续系统的离散化 dinitial(G,H,Cd,Dd,x0)
控制系统的频域分析 频域分析是工程上常用的一种利用频率特性对控制系统性能进行分析的方法。频域分析的一般方法有如下几种。 一. 频域分析的一般方法 1. 频率特性 稳定的线性定常系统,在正弦输入信号作用下,其输出的稳态分量是与输入同频率的正弦函数,不同的是其振幅和初始相位。输出稳态分量与输入正弦信号的振幅之比 称为幅频特性,而它们的初始相位之差 称为相频特性。频率响应与输入正弦信号的向量之比称为系统的频率特性,用 表示为 频率特性也可以用复数的代数形式表示为 式中, 称为实频特性; 称为虚频特性。显然有下面的一些关系成立。
控制系统的频域分析 工程上常见的控制系统,其输入并非正弦函数。但一般都满足条件:t<0时,函数值等于0。将频率特性也可以定义为:零初始条件下,系统输出的傅里叶变换与输入的傅里叶变换之比。频率特性是控制系统在频域内的数学模型。 当系统的传递函数为 时,频率特性和传递函数有下面的关系: 这表明了不同形式数学模型之间的等价关系。
控制系统的频域分析 2. 最小相位系统 右半s平面内既无零点又无极点,同时也不含延迟环节的系统称为最小相位系统,对应的传递函数称为最小相位传递函数;反之,在右半s平面内有零点或极点,或含延迟环节的系统为非最小相位系统,相应的传递函数为非最小相位传递函数。当频率由0变化至无穷时,在幅频特性相同的各系统中,最小相位系统的相角变化范围是最小的,且相频特性和幅频特性变化的趋势是一致的,而非最小相位系统的相角变化范围通常大于前者,或者相频特性的变化范围虽不大,但相角的变化趋势与幅频特性的变化趋势是不一致的。
控制系统的频域分析 3. 常用的几种开环频率特性图 1) 极坐标频率特性图 极坐标频率特性图也称奈奎斯特(Nyquist)图,或幅相特性图。它是以频率 为参变量,以复平面上的向量表示频率特性 的方法。当 从 连续变化至时, 向量的端点在复平面上连续变化形成的轨迹即为极坐标频率特性曲线。由频率特性和传递函数的关系可知,频率特性曲线是映射 当自变量沿s平面虚轴变化时的象曲线,通常将绘有极坐标频率特性曲线的复平面称为 平面。
控制系统的频域分析 2) 对数频率特性图 对数频率特性图也称伯德(Bode)图,是由对数幅频特性和对数相频特两条曲线组成,实质是用 和 两个实变函数表示复变函数 ,只是在作图时频率轴虽然以 标注,却以 进行线性分度。对数幅频特性的纵轴以 线性分度且以 标注,单位为分贝(dB),对数相频特性曲线的纵轴以 线性分度,一般以度或弧度为单位。 采用对数频率轴的优点是可以在有限的范围内扩大频率的表示范围。 由于对数频率轴上 =0的点在负的无穷远处,所以Bode图可以表示的频率变化范围是0~ 。
控制系统的频域分析 3) 对数幅相特性图 对数幅相特性图也称尼柯尔斯(Nichols)图,它是将Bode图中的对数幅频特性曲线和对数相频特性曲线合并得到的,分别以 和 作为横坐标和纵坐标, 为参变量。通常表示的频率变化范围也是0~ 。 4. 奈奎斯特稳定判据 1) 奈奎斯特(Nyquist)稳定判据的基本思想
控制系统的频域分析 反馈控制系统位于右半复平面的闭环极点个数: 式中,P为系统开环传递函数位于右半s平面的极点个数;N为开环极坐标频率特性曲线顺时针方向包围 平面 点的圈数。 Nyquist稳定判据的基本思想是:利用系统的开环频率特性及开环传递函数中位于右半s平面的极点个数来判别闭环系统的稳定性。 闭环系统稳定的充要条件是: 。 2) 应用Nyquist稳定判据需要注意的问题 (1) 右半s平面指开平面,不包括虚轴。 (2) 判据中,N是指Nyquist曲线顺时针方向和逆时针方向包围 点圈数的代数和。N>0表示顺时针方向包围;N<0表示逆时针方向包围;N=0表示不包围。 (3) Nyquist曲线正好穿过 点,表明闭环系统有位于虚轴上的极点,系统处于临界稳定状态。工程上认为这种系统是不能正常工作的。
控制系统的频域分析 (4) 对于虚轴上坐标原点处有个开环极点的非0型的系统,和均位于平面的无穷远处,需要补充Nyquist曲线上到的一段使Nyquist曲线闭合之后,才能使用Nyquist判据来判别闭环系统的稳定性。补充的这一段通常是以为起点,为终点,圆心在坐标原点,半径为无穷大的个半圆。 (5) 上述Nyquist稳定判据是在假设开环传递函数中不存在零点、极点相消现象的前提下进行的。如果开环传递函数中存在有零点和极点的相消现象,那么只有在用Nyquist稳定判据判别系统稳定且被消去的极点稳定时,对应的闭环系统才是稳定的。
控制系统的频域分析 3) 利用正负穿越判别系统的稳定性 这里的穿越(见图5.7)特指极坐标频率特性曲线对 平面负实轴上 段的穿越。极坐标频率特性曲线上频率的变化范围是 ,当 增加,频率特性曲线由上而下穿过-1左侧的负实轴时,称作一次正穿越;频率特性自下而上穿过该段时,称作一次负穿越,正、负穿越次数分别记作 和 ,它们与Nyquist 曲线顺时针方向包围 点的圈数N之间的关系是 。根据Nyquist稳定判据可得,闭环系统稳定的充要条件是 即:极坐标频率特性曲线对于平面 负实轴上 段的正、负穿越次数之差等于开环传递函数中位于右半s平面的极点个数。 位于右半s平面的闭环极点个数为
控制系统的频域分析 当只绘制正频率部分的极坐标频率特性曲线时,正负穿越次数分别用 和 表示。这时有从-1左侧实轴上开始或终止于该段的频率特性,对应地记作半次正穿越或半次负穿越。由于 说明 与 对称于复平面的实轴,所以有 根据Nyquist稳定判据可得,闭环系统稳定的充要条件是 令 ,则有 即闭环系统稳定的充要条件:正频率部分极坐标频率特性曲线对于 平面负实轴上 段的正、负穿越次数之差等于右半s平面开环极点个数的一半。 此时,闭环系统位于右半s平面不稳定的极点个数
控制系统的频域分析 4) Nyquist稳定判据在Bode图和Nichols图上的应用 由图5.8可知,Bode图描述的系统频率特性其频率变化范围是 。G(s)平面上 段对应于 用对数幅值表示即为 Bode图上在 的频段,对数相频特性曲线随频率增加由上至下穿过 线,对应于一次负穿越;而由下至上穿过 线时,对应于一次正穿越。利用对数频率特性判别系统的稳定性时,闭环系统稳定的充要条件是:对数频率特性图上,在对数幅频特性大于0dB的频段内,当频率增加时,对数相频特性对 线的正、负穿越次数之差 为 。对于系统不稳定的情况,闭环不稳定极点的个数 。
控制系统的频域分析 在对数幅相特性图上, 对应于上半平面。作 线,Nichols曲线在上半平面随频率增加从左到右穿过 线和从右到左穿过 线分别对应于正穿越和负穿越,正、负穿越次数分别为 和 。
控制系统的频域分析 5. 开环频域性能指标 1) 幅值稳定裕度 图5.9所示最小相位系统中 式中, 为相角穿越频率,幅值稳定裕度定义为:开环相频特性为 时,开环幅频特性值的倒数,用 表示。 幅值稳定裕度的物理意义:稳定的开环为最小相位的系统,如果开环放大系数增大 倍,开环极坐标频率特性曲线恰好穿过 点,系统处于临界稳定状态。若开环放大系数增大的倍数超过 ,系统将变得不稳定。 Bode图上用表示幅值稳定裕度,称为对数幅值稳定裕度。
控制系统的频域分析 2) 相角稳定裕度 在图5.9中, ,称 为幅值穿越频率,也称为剪切频率或截止频率。相角稳定裕度定义为:系统开环频率特性幅值为1时,开环相频特性的值与 °的相角差,用 表示 相角稳定裕度的物理意义:开环为最小相位的系统,开环频率特性在 处增加一个等于 的滞后相角,原来闭环稳定的系统将变为临界稳定,增加的滞后相角超过 时,系统将变得不稳定。 3) 开环频域性能指标与时域性能指标的关系 常用的开环频域性能指标还有截止频率 和中频段宽度 。中频段宽度定义为对数幅频特性以 斜率过零分贝线频率段的宽度。对于工程上常见的开环为最小相位的系统,当中频段足够宽时,一般可以用下面的经验公式来估算系统的性能。
控制系统的频域分析 6. 闭环频域性能指标 1) 常用的闭环频域性能指标 常用的闭环频域性能指标有谐振峰值 ,谐振频率 和带宽频率 。设 是系统的闭环频率特性, 指闭环幅频特性超过 的最大值,对应的频率 称为谐振频率; 是指幅频特性值由 降至 时对应的频率。频率范围 称为系统的带宽。 2) 高阶系统性能指标的换算关系 高阶系统各项性能指标与系统参数的关系及各种性能指标之间的换算关系非常复杂,但对工程上常见的具有一对共轭复数闭环主导极点的高阶系统,可以利用在二阶系统中推导出的结论对其性能进行估算。下面是人们通过对大量实际系统的研究计算,总结归纳出的一些经验公式: 式中, ,
控制系统的频域分析 二. 频域分析应用实例 1. 利用MATLAB求取频率响应 MATLAB 6.5提供了直接求取频率特性值的函数freqresp( ),其调用格式为 G=freqresp(ncloop,dcloop,sqrt(-1)*w) 其中,w为给定的频率范围向量或频率值,ncloop、dcloop分别为传递函数的分子和分母多项式向量。
控制系统的频域分析 【例5.9】 如图5.10所示系统,利用MATLAB求取系统的频率响应。其中输入信号为 解:运行下面的程序 num=1;den=[1,1]; %输入开环传递函数模型 [ncloop,dcloop]=cloop(num,den), %求闭环传递函数 w=[2,3];rphase=[0,30];rmag=[2,4]; %输入正弦信号参数 G=freqresp(ncloop,dcloop,sqrt(-1)*w) %频率特性计算 Gmag=abs(G), %闭环系统幅频特性 Gphase=57.3*angle(G) %闭环系统相频特性 Cmag=Gmag'.*rmag %频率响应幅值向量 Cphase=Gphase'+rphase %频率响应初始相位向量 Css(t)=sprintf('=C1s(t)+C2s(t)') Css(t)=sprintf('=%dsin(%dt+%d)+%dcos(%dt+%d)',Cmag(1),w(1), Cphase(1),Cmag(2),w(2),Cphase(2)) 显示结果ncloop =[ 0 1] dcloop =[1 2] G = [0.2500 - 0.2500i 0.1538 - 0.2308i] Gmag =[0.3536 0.2774] Cmag =[0.7071 1.1094] Gphase =[-45.0033 -56.3141] Cphase =[-45.0033 -26.3141] Css(t)=C1s(t)+C2s(t) Css(t)=0.71sin(2t-45)+1.11cos(3t-26.3)
控制系统的频域分析 2. 利用MATLAB绘制控制系统Bode图 利用MATLAB提供的bode ( )函数可以绘制系统的对数频率特性图。Bode函数有下面几种常用的调用格式: (1) bode(num,den) %MATALB自动绘制Bode图 (2) [mag, phase,w]=bode(num,den) [mag,phase,w]=bode(num,den,w) 这种格式带有输出变量,执行该命令,MATLAB将自动形成一行矢量的频率点并返回与这些频率点对应的幅值和相角的列矢量(相角以度为单位),但不显示频率特性曲线。为了得到系统Bode图,需使用绘图命令。 subplot(2,1,1) % 图形窗口分割成2×1的两个区域,选中第一个区域 semilogx(w,20*log10(mag)) % 在当前窗口横轴为对数坐标的半对数坐标系里生成 % 对数幅频特性曲线,纵轴以20lg(mag)线性分度, subplot(2,1,2) % 激活图形窗口的第二个区域 semilogx(w,phase) % 在半对数坐标系中绘制对数相频特性曲线,纵轴以 相角线性分度
控制系统的频域分析 【例5.10】已知系统传递函数 绘制其图。 解: K=1;num=1; den=poly([0,-1,-2]); %由给定的极点求取传递函数的分母多项式 w=logspace(-1,1,100); %在 和10频率范围内产生100个点。 [m,p]=bode(K*num,den,w); subplot(2,1,1); semilogx(w,20*log10(m)); %绘制对数幅频特性曲线 grid title('对数幅频特性曲线') %加标题 xlabel(‘\omega(1/s)’) %横轴加标题,“\omega”为特殊字符 ylabel('L(\omega)(dB)') %纵轴加标题 subplot(2,1,2); semilogx(w,p); %绘制对数相频特性曲线 gridtitle('对数相频特性曲线') xlabel('\omega(1/s)') ylabel('\phi(\omega)(deg)') %“\phi”为特殊字符
控制系统的频域分析 由图5.11可知,以为开环传递函数的单位反馈系统, , 。使用margin( )函数和allmargin ( )函数能够获得幅值稳定裕度、相角稳定裕度、幅值穿越频率、相角穿越频率及系统稳定性等信息。 [Kh,r,wg,wc]=margin(m,p,w) Kh= 4.0002 r=41.5332 wg=1.4142 wc=0.6118 计算对数幅值稳定裕度 Lh=20*log10(Kh)
控制系统的频域分析 使用cloop命令绘制单位反馈时闭环系统频率特性曲线,如图5.12所示。 [ncloop,dcloop]=cloop(num,den) ; %求取闭环传递函数的分母多项式向量和分 子多项式向量 [mc,pc,w]=bode(ncloop,dcloop); %计算闭环幅值和相角向量 subplot(2 1 1) %分割图形窗口为2×1,选中图形区域2 plot(w, mc) %绘制闭环幅频特性曲线 subplot(2 12) %分割图形窗口为2×1,选中图形区域2 plot(w,pc) %绘制闭环相频特性曲线
控制系统的频域分析 3. 利用MATLAB绘制控制系统奈奎斯特图 MATLAB提供了nyquist( )函数用于绘制系统Nyquist曲线。该函数常用的调用格式有以下几种。 (1) nyquist(num,den) (2) [re,im]=nyquist(num,den) [re,im,w]=nyquist(num,den) [re,im,w]=nyquist(num,den,w) w为频率矢量。这些带有输出变量的命令执行后只产生频率特性的实部、虚部和频率矢量,在屏幕上不产生图形,用plot命令可以绘制极坐标频率特性曲线。
控制系统的频域分析 【例5.11】 利用MATLAB绘制Nyquist图。已知 解: num=[0,0,1]; den=[1,0.8,1]; nyquist(num,den) grid 如图5.13所示。图中实轴、虚轴的范围都是MATLAB自动产生的,如果采用手工确定的范围来绘制Nyquist图,可以输入以下命令 v=[-2,2,-2,2]; axis(v); 即指定实轴、虚轴的范围均为-2~2。上述命令也可合并写做 axis([xmin,xmax,ymin,ymax]); MATLAB自动绘制的极坐标频率特性曲线其频率变化范围是 ,也可以通过功能菜单选择为 。另外,在绘制Nyquist图时,若MATLAB运算中包括“被零除”现象,得到的Nyquist图可能是错误的,此时只要给定axis(v),则可对错误的图进行修正。
控制系统的频域分析 4. 利用MATLAB绘制控制系统尼柯尔斯图 MATLAB中nichols ( )函数的调用格式有 nichols(num,den) [mag,phase]=nichols(num,den,w) 后者利用指定的频率矢量计算频率特性的幅值和相角,使用下面的命令和方法求取对数幅频特性,并绘制对数幅相特性曲线。 magdb=20*log10(mag) plot(phase,magdb) 用ngrid命令加画Nichols图线。
控制系统的频域分析 【例5.12】 制系统开环传递函数 绘制对数幅相特性曲线,并加画Nichols图线和坐标线。 解: num=1; den=conv([1,1,0],[1,2,2]); ngrid('new') %清图后画Nichols图线 nichols(num,den) %绘制系统Nichols图 grid MATLAB绘制的该系统对数幅相特性曲线如图5.14所示。
控制系统的频域分析 5. 控制系统MATLAB辅助分析 在利用MATLAB自动绘图命令bode(num,den)、 nyquist (num,den )、nichols(num,den)等绘制的频率特性图形窗口中,进行适当的操作可以获得MATLAB自动提供的系统开环频率特性的特征量以及对应的闭环系统是否稳定等信息。 (1) 将光标置于频率特性曲线上。①单击鼠标,MATLAB将自动用“ ”标注对应的点,并显示其频率特性信息:频率和对应的幅频特性或相频特性之值;②拖动鼠标,沿频率特性曲线移动光标,显示的信息将随光标位置变化。 (2) 光标置于频率特性图的其他位置。右击,MATLAB显示功能选项菜单,包括坐标轴的属性设置、给图形加画网格线等。其中“characteristics”选项可以用来在特性曲线上标注 、 及 等频域性能指标。将光标移到这些点上,MATLAB将显示对应的频率值、幅值稳定裕度、相角稳定裕度、频率特性峰值及闭环系统是否稳定等信息。