控制系统工具箱

上传人:nu****n 文档编号:252985934 上传时间:2024-11-27 格式:PPT 页数:72 大小:326.50KB
收藏 版权申诉 举报 下载
控制系统工具箱_第1页
第1页 / 共72页
控制系统工具箱_第2页
第2页 / 共72页
控制系统工具箱_第3页
第3页 / 共72页
资源描述:

《控制系统工具箱》由会员分享,可在线阅读,更多相关《控制系统工具箱(72页珍藏版)》请在装配图网上搜索。

1、单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,第6章 控制系统工具箱,在MATLAB的Control System Toolbox(控制系统工具箱)中提供了许多仿真函数与模块,用于控制系统的仿真和分析。本章着重介绍控制系统的模型、时域分析方法和频域分析方法等内容。,,对线性定常系统,式中s的系数均为常数,且a,1,不等于零,这时系统在MATLAB中可以方便地,由分子和分母多项式系数构成的两个向量唯一地确定,,这两个向量分别,用num和den表示。,,num=[b,1,,b,2,,…,b,m,,b,m+1,],,den=[a,1,,a,

2、2,,…,a,n,,a,n+1,],连续系统的传递函数模型(,tf,对象,),单输入单输出(SISO) LTI系统的,传递函数,:,注意:它们都是按s的,降幂,进行排列的!,G(S),R(S),C(S),MATLAB中,用函数对象tf()来建立系统的传递函数模型。函数的调用格式为:,G=tf(num,den),例:系统传递函数为:,>> num=[12,24,0,20];den=[2 4 6 2 2]; G=tf(num,den),,,,Transfer function:,,12 s^3 + 24 s^2 + 20,,-------------------------------,,2 s^

3、4 + 4 s^3 + 6 s^2 + 2 s + 2,零极点模型,实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行分解因式处理,以,获得系统的零点和极点,的表示形式。,在MATLAB中零极点增益模型,用[z,p,K]矢量组表示:,,z=[z1,z2,…,zm];,,p=[p1,p2,...,pn];,,KGain=k;,零极点增益模型,(zpk对象),D(s)为特征多项式,D(s)=0为特征方程,,K为系统增益,z,i,为零点,p,j,为极点,零极点决定了系统的性能 (系统的阶次和多项式表达时的系数)。,MATLAB中,用函数对象zpk()来建立系统的,零极

4、点增益,模型。函数的调用格式为:,G1=zpk(z,p,k),例:系统的零极点模型为:,则该模型可以由以下语句输入到MATLAB的工作空间中:,>>,z=[-1.9294;-0.0353+0.9287i;-0.0353-0.9287i];,,>> p=[-0.9567+1.2272i;-0.9567-1.2272i;,,0.0433+0.6412i;0.0433-0.6412i];,,>> kGain=6;,,>> G1=zpk(z,p,kGain),,,,Zero/pole/gain:,,6 (s+1.929) (s^2 + 0.0706s + 0.8637),,-------------

5、---------------------------------,,(s^2 - 0.0866s + 0.413) (s^2 + 1.913s + 2.421),可见,系统的零点和极点分别为分子、分母多项式的根,增益是传递函数分子和分母最高项系数的比值。,LTI系统,可以,用一组一阶微分方程来描述,,其,矩阵形式即为,现代控制理论中常用的,状态空间表示法。状态方程,与,输出方程,的组合称为,状态空间表达式,,又称为,动态方程,,经典控制理论用传递函数将输入—输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入—输出关系,揭示了,系统内部状态对系统性能的影响,。,在MATLAB中,

6、,系统状态空间用(A,B,C,D)矩阵组表示,。,x为状态向量;u为输入向量;y为输出向量,,A为系统矩阵;B为输入矩阵;,,C为输出矩阵;D为前馈矩阵;,状态空间模型(ss对象),*,然后使用函数对象ss()来建立系统的,状态空间,模型。函数的调用格式为:,G3=ss(A,B,C,D),MATLAB中只需将各个系数矩阵按常规矩阵的方式输入到工作空间中即可:,例,:两输入两输出系统:,>> A=[1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14];,,B=[4 6; 2 4; 2 2; 1 0];,,C=[0 0 2 1; 8 0 2 2];,,D=zeros(

7、2,2);,,>> G3=ss(A,B,C,D),,,c =,,x1 x2 x3 x4,,y1 0 0 2 1,,y2 8 0 2 2,,,,,,d =,,u1 u2,,y1 0 0,,y2 0 0,,,,Continuous-time model.,,>>,a =,,x1 x2 x3 x4,,x1 1 6 9 10,,x2 3 12 6 8,,x3 4 7 9 11,,x4 5 12 13 14,,,,,,b =,,u1 u2,,x1 4 6,,x2 2 4,,

8、x3 2 2,,x4 1 0,6.1.4 线性离散时间系统的数学模型,在MATLAB中,离散系统的数学模型和连续系统的数学模型表达函数相同,只是需要输入系统的采样周期T, 具体格式如下。,,状态空间模型:sys=ss(A, B, C, D,Ts),,零极点模型:sys=zpk(z, p, k, Ts),,传递函数模型:sys=tf(num, den,Ts),,其中Ts为采样周期。,,,连续系统状态空间转换为离散系统状态空间形式采用函数c2d,其调用格式为,,sysd=c2d(sys, Ts) 或,,[Ad, Bd, Cd, Dd]=c2dm(A, B, C, D, Ts,

9、'method')%将带选项的连续系统,,%转换到离散系统,,[Ad, Bd, Cd, Dd]=c2dt(A, B, C, T, lambda),,%带有输入纯延迟的连续形式转换到离散形式,在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就,需要进行模型的转换,。,模型转换函数,包括:,,tf2zp: 传递函数模型转换为零极点增益模型;,,tf2ss: 传递函数模型转换为状态空间模型;,,zp2tf: 零极点增益模型转换为传递函数模型;,,zp2ss: 零极点增益模型转换为状态空间模型;,6.1.5 模型的转换,函数tf2zp()可以用来求传递函数的

10、零极点和增益。,ss2tf: 状态空间模型转换为传递函数模型,,ss2zp: 状态空间模型转换为零极点增益模型,例:已知某系统的传递函数零:,求:同一系统所对应的极点增益模型。,》num=[1,11,30,0];,,》den=[1,9,45,87,50]; [z,p,k]=tf2zp(num,den),z=,,0,,-6,,-5,p=,,-3.0000+4.0000i,,,-2.0000,,-1.0000,k=,,1,即,结果表达式为:,已知一个单输入三输出系统的传递函数模型为:,,,,,,,》num=[0 0 -2;0 -1 -5;1 2 0];den=[1 6 11 6];,,》[

11、A,B,C,D]=tf2ss(num,den),,》A= -6 -11 -6 B= 1 C= 0 0 -2 D= 0,,1 0 0 0 0 -1 -5 0,,0 1 0 0 1 2 0 0,系统的零极点增益模型:,注意,:,零极点的输入可以写成行向量,,,也可以写成列向量,。,》z=[-3];p=[-1,-2,-5];k=6;,,》[num,den]=zp2tf(z,p,k),,》num= 0 0 6 18 den= 1

12、8 17 10,,,》[a,b,c,d]=zp2ss(z,p,k),,》a= -1.0000 0 0 b=1,,2.0000 -7.0000 -3.1623 1,,0 3.1623 0 0,,c= 0 0 1.8974 d=0,控制系统常用到并联系统,这时就要,对系统函数进行分解,,使其表现为一些基本控制单元(子传递函数)的和的形式。同时部分分式展开也可以用来,对系统求解,。,6.1.6 部分分式展开,MATLA

13、B中,Residue()函数可以实现传递函数模型与部分分式模型的,互换。,函数[r,p,k]=residue(num,den)对两个多项式的比进行部分分式展开,即,把传函分解为微分单元的形式,。,,[b,a]=residue(r,p,k)可以将部分分式转化为多项式比p(s)/q(s)。,其中,向量num和den是按s的降幂排列的多项式系数向量(即传递函数的分子和分母)。,R、P分别为各个子传递函数的增益和极点,K为部分分式展开后的余项(常数项)。,部分分式展开:,,,》num=[2,0,9,1];,,》den=[1,1,4,4]; [r,p,k]=residue(num,den),p=,,0.

14、0000+2.0000i,,,-1.0000,k=,,2,r=,,,0.0000+0.2500i,,-2.0000,结果表达式:,其解可以表示为:,例:对传递函数模型的串联:,,[num,den]=series(num1,den1,num2,den2),,%将串联连接的传递函数进行相乘。,可以,使用series()函数直接对串联环节进行化简,:,G=series(sys1,sys2),格式:,例:对状态空间模型的串联:,,[a,b,c,d]=series(a1,b1,c1,d1,a2,b2,c2,d2),,%串联连接两个状态空间系统。,6.1.7 模型的连接,例:对传递函数模型的并联: [n

15、um,den]=parallel(num1,den1,num2,den2),可以,使用parallel()函数直接对并联环节进行化简,:,G=parallel(G1,G2),格式:,例:并联连接两个状态空间:,,[a,b,c,d]=parallel(a1,b1,c1,d1,a2,b2,c2,d2),更简单地:,G=G1+G2,,MATLAB中使用G=feedback(G1, G2, sign)直接对反馈系统进行化简,sign用来指示系统2输出到系统1输入的连接符号(反馈极性),sign省略时,默认为负,即sign=-1,sign=1表示正反馈。,,1、传递函数的形式表示的反馈系统:,,[num

16、,den]=feedback(num1,den1,num2,den2,sign),,,2、两个状态函数表示的系统按反馈方式连接:,,[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2),,[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,sign),,%系统1的所有输出连接到系统2的输入,系统2的所有输出连接到系统1的输入总系统的输入/输出数等同于系统1。,,[a,b,c,d]=feedback(a1,b1,c1,d1,a2,b2,c2,d2,inp1,out1),,%部分反馈连接,将系统1的指定输出out1连接到系统2的输

17、入,系统2的输出连接到系统1的指定输入inp1,以此构成 闭环系统。,,MATLAB,中使用Gc=cloop(G, sign)直接对单位反馈系统进行化简,sign用来指示系统的反馈极性,sign省略时,默认为负,即sign=-1。,,1、由传递函数表示的开环系统构成闭环系统:,,[numc,denc]=cloop(num,den,sign),,%当sign=1时采用正反馈;当sign= -1时采用负反馈;sign缺省时,默认为负反馈。,,,2、闭环系统的状态空间模型,,[ac,bc,cc,dc]=cloop(a,b,c,d,sign),,%通过将所有的输出反馈到输入,从而产生闭环系统的状态空间

18、模型。,,[ac,bc,cc,dc]=cloop(a,b,c,d,outputs,inputs),,%表示将指定的输出outputs反馈到指定的输入inputs,以此构成闭环系统。,应用举例,:,,1) 系统1为:,,,系统2为:,,,,,,求按串联、并联、正反馈、负反馈连接时的系统状态方程及系统1按单位负反馈连接时的状态方程。,2) 系统1、系统2方程如下所示。,求,部分并联后的状态空间,要求u11与u22连接,u13与u23连接,y11与y21连接。,,ctrb和obsv函数可以求出状态空间系统的可控性和可观性矩阵。,,格式:co=ctrb(a,b) ob=obsv(a,c),,对于

19、n×n矩阵a,n×m矩阵b和p×n矩阵c,,ctrb(a,b)可以得到n×nm的可控性矩阵,,co=[b ab a,2,b … a,n-1,b],,obsv(a,c)可以得到nm×n的可观性矩阵,,ob=[c ca ca,2,… ca,n-1,]’,,当co的秩为n时,系统可控;当ob的秩为n时,系统可观。,,6.1.8 模型的属性,例6.12 已知某系统的闭环传递函数为:,要求判断系统的稳定性及系统是否为最小相位系统。,,7 s^4 - 32 s^3 - 684 s^2 + 2689 s + 10365,,------------------------------------------

20、--------------,,s^4 - 5 s^3 - 86 s^2 + 345 s + 1236,%exp4_1.m,,clear; clc; close all; %系统描述,,n =[7,-32,-684,2689,10365];,,d =[1,-5,-86,345,1236];,,%求系统的零极点,,[z,p,k]=tf2zp(n,d),,%检验零点的实部;求取零点实部大于零的个数,,ii=find(real(z)>0),,n1=length(ii);,,%检验极点的实部;求取极点实部大于零的个数,,jj=find(real(p)>0),,n2=length(jj);,,%判断系

21、统是否稳定,if(n2>0),,disp('the system is unstable'),,disp('the unstable pole are:'),,disp(p(jj)) %显示不稳定极点p(jj),,else,,disp('the system is stable'),,end,,%判断系统是否为最小相位系统,,if(n1>0),,disp('the system is a nonminimal phase one'),,else,,disp('the syetem is a minimal phase one'),,end,,%绘制零极点图,,pzmap(p,z),源程序,ii

22、=find(条件式):用来求取满足条件的向量的下标向量,以列向量表示。,例如:,条件式为real(p>0),,其含义就是,找出极点向量p中满足实部的值大于0的所有元素下标,并将结果返回到ii向量中去,。这样如果找到了实部大于0的极点,则会将该极点的序号返回到ii下。如果最终的结果里ii的元素个数大于0,则认为找到了不稳定极点,因而给出系统不稳定的提示,反之得出系统稳定的结论。,pzmap(p,z):根据系统已知的零极点p和z绘制出系统的零极点分布图,说明:,>>,,z =,,,-8.9995,,-2.5260,,8.0485 + 0.5487i,,8.0485 - 0.5487i,,,p =,

23、,,-8.2656,,-2.4242,,7.8449 + 0.3756i,,7.8449 - 0.3756i,,,k =,,,7,ii =,,,3,,4,,,,jj =,,,3,,4,,,the system is unstable,,the unstable pole are:,,7.8449 + 0.3756i,,7.8449 - 0.3756i,,,the system is a nonminimal phase one,,>>,运行窗口,,例6.13,,系统闭环模型如下所示:,判断系统的稳定性,以及系统是否为最小相位系统。,,clear,,clc,,close all,,%系统描述,,

24、num=[3 16 41 28];,,den=[1 14 110 528 1494 2117 112];,,%求系统的零极点,,[z,p,k]=tf2zp(num,den),,%检验零点的实部;求取零点实部大于零的个数,,ii=find(real(z)>0),,n1=length(ii);,,%检验极点的实部;求取极点实部大于零的个数,,jj=find(real(p)>0),,n2=length(jj);,,%判断系统是否稳定,if(n2>0),,disp('the system is unstable'),,disp('the unstable pole are:'),,disp(p(jj)

25、),,else,,disp('the system is stable'),,end,,%判断系统是否为最小相位系统,,if(n1>0),,disp('the system is a nonminimal phase one'),,else,,disp('the system is a minimal phase one'),,end,,%绘制零极点图,,pzmap(p,z),源程序,>>,,z =,,-2.1667 + 2.1538i,,-2.1667 - 2.1538i,,-1.0000,,,p =,,-1.9474 + 5.0282i,,-1.9474 - 5.0282i,,-4.299

26、8,,-2.8752 + 2.8324i,,-2.8752 - 2.8324i,,-0.0550,k =,,3,,,ii =,,[],,,jj =,,[],,,the system is stable,,the system is a minimal phase one,,,>>,运行窗口,1、step()函数的用法,y=step(num,den,t),:,其中,num,和,den,分别为系统传递函数描述中的分子和分母多项式系数,,t,为选定的仿真时间向量,,可以由,t=0:step:end,产生。该函数返回值,y,为,系统在仿真时刻各个输出所组成的矩阵,。,[y,x,t]=step(A,B,

27、C,D,iu),:,其中,A,B,C,D,为系统的状态空间描述矩阵,,iu,用来指明输入变量的序号。,x,为系统返回的状态轨迹。,[y,x,t]=step(num,den),:,此时,时间向量,t,由系统模型的特性自动生成,,对传递函数模型,,状态变量,x,返回为空矩阵,。,在MATLAB的控制系统工具箱中提供了求取,单位阶跃响应,的函数step()和,冲激响应,的函数impulse() 。,6.2,控制系统的时域分析,如果对具体的响应值不感兴趣,而只想绘制系统的阶跃响应曲线,可调用以下的格式,,自动输出响应曲线,:,,step(num,den),;,step(num,den,t),;,ste

28、p(A,B,C,D,iu,t),;,step(A,B,C,D,iu),;,线性系统的,稳态值,可以通过函数,dcgain(),来求取,其调用格式为:,dc=dcgain(num,den),或,dc=dcgain(a,b,c,d),clc;clear;close all,,%开环传递函数描述,,num=[20];,,den=[1 8 36 40 0];,,%求闭环传递函数,,[numc,denc]=cloop(num,den);,,%绘制闭环系统的阶跃响应曲线,,t=0:0.1:10;,,y=step(numc,denc,t);,,[y1,x,t1]=step(numc,denc);,,%对于传

29、递函数调用,状态变量x返回为空矩阵,,plot(t,y,'r:',t1,y1),,title('the step responce'),,xlabel('time-sec'),,%求稳态值,,disp('系统稳态值dc为:'),,dc=dcgain(numc,denc),源程序,运行窗口,>> 系统稳态值dc为:,,,dc =,,,1,2、impulse()函数的用法,求取脉冲激励响应的调用方法与step()函数基本一致,。,,y=impulse(num,den,t);[y,x,t]=impulse(num,den);[y,x,t]=impulse(A,B,C,D,iu,t),,impulse

30、(num,den);impulse(num,den,t),,impulse(A,B,C,D,iu);impulse(A,B,C,D,iu,t),clc;clear;% 系统模型建立,,num=3;den=conv([1 1+3i],[1 1-3i]);,,% 求系统的单位阶跃响应,,[y,x,t]=step(num,den);,,% 求响应的稳态值,,finalvalue=dcgain(num,den),,% 求响应的峰值及对应的下标,,[yss,n]=max(y);,,% 计算超调量及峰值时间,,percentovershoot=100*(yss-finalvalue)/finalvalue

31、,,timetopeak=t(n),例:,已知系统G(s)=3/(s+1+3i)(s+1-3i)计算系统在阶跃输入时的峰值时间、超调量、调整时间等系统瞬态性能指标(稳态误差允许正负2%),% 计算上升时间,,n=1;,,while y(n)<0.1*finalvalue,,n=n+1;,,end,,m=1;,,while y(m)<0.9*finalvalue,,m=m+1;,,end,,risetime=t(m)-t(n),,% 计算调整时间,,k=length(t);,,while (y(k)>0.98*finalvalue)&(y(k)<1.02*finalvalue),,k=k-1;,

32、,end,,settlingtime=t(k),运行结果,finalvalue =,,0.3000,,,percentovershoot =,,35.0914,,,timetopeak =,,1.0491,,,risetime =,,0.4417,,,settlingtime =,,3.5337,,>>,6.2.2 控制系统的根轨迹分析方法,pzmap:绘制线性系统的,零极点图;,,rlocus:,求系统根轨迹,。,,rlocfind:计算给定一组根的,根轨迹增益,。,,sgrid:在连续系统根轨迹图和零极点图中绘制出,阻尼系数和自然频率栅格,。,根轨迹图绘制:,,rlocus(),rloc

33、us(num,den,),或,rlocus(a,b,c,d,),:根据,SISO,开环系统的传递函数模型和状态空间描述模型,,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化,。,,rlocus(a,b,c,d,k,),或,rlocus(num,den,k,),:,通过,指定开环增益,k,的变化范围,来绘制系统的根轨迹图。,,r=,rlocus(num,den,k,),或者,[r,k]=,rlocus(num,den,),:,不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量,k,,,返回闭环系统特征方程,1,+,k*num(s)/den(s)=0,的根,r,,,它有,le

34、ngth(k),行,,length(den)-1,列,每行对应某个,k,值时的所有闭环极点。或者同时返回,k,与,r,。,,对于参数根轨迹,可以通过传递函数的等效变换而进行绘制。若给出传递函数描述系统的分子项,num,为负,则利用,rlocus,函数绘制的是系统的零度根轨迹(正反馈系统或非最小相位系统) 。,rlocfind()函数,rlocfind():找出给定的一组根(闭环极点)对应的根轨迹增益。,[k,p]=,rlocfind(a,b,c,d,),或者,[k,p]=,rlocfind(num,den,),,,它要求在屏幕上先已经绘制好有关的根轨迹图。然后,此命令将产生一个光标以用来选择希

35、望的闭环极点,。命令执行结果:,k,为对应选择点处根轨迹开环增益;,p,为对应,K,的系统闭环特征根。,,,不带输出参数项,[k,p],时,同样可以执行,只是此时只将,k,的值返回到缺省变量,ans,中。,源程序,%根轨迹图的绘制,,clc,,clear,,close all,,%已知系统开环传递函数模型,,num=1;,,den=conv([0.01 1 0],[0.02 1]);,,rlocus(num,den),,[k1,p]=rlocfind(num,den),,[k2,p]=rlocfind(num,den),,,title('root locus'),Select a point

36、in the graphics window,,selected_point =,,-21.1302 - 0.8630i,,,k1 =,,9.6354,,p =,,1.0e+002 *,,-1.0774,,-0.2113 + 0.0086i,,-0.2113 - 0.0086i,,,Select a point in the graphics window,,selected_point =,,0.1023 +68.1800i,,,k2 =,,139.7356,,p =,,1.0e+002 *,,-1.4809,,-0.0095 + 0.6868i,,-0.0095 - 0.6868i,说明:

37、,,重根即两条根轨迹曲线汇合处,纯虚根即根轨迹与虚轴的交点。,sgrid()函数(等阻尼比/等振动频率栅格线),sgrid,:,在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率,wn,、,阻尼比矢量,z,对应的格线,。,,sgrid(‘new,’),:,是先清屏,再画格线。,,sgrid(z,wn,),:,则绘制由用户指定的阻尼比矢量,z,、,自然振荡频率,wn,的格线。,由控制理论知,离虚轴近的稳定极点(主导极点)对整个系统的响应贡献最大,且在系统处于临界阻尼状态时,相角为45,o,,即根轨迹图上,应当选择相角为45,o,的射线附近的K值。通过rlocfind,配合sgrid()函数可以找出

38、合适的增益值。,% 系统开环传递函数为G(s)=k/s(s+1)(s+2),,% 试寻找一个合适的k值使得闭环系统具,%,有较理想的阶跃响应。,,% 开环系统描述,,clc;clear;close all,,num=1;,,den=conv([1 0],conv([1 1],[1 2]));,,z=[0.1:0.2:1];,,wn=[1:6];,,sgrid(z,wn);,,text(-0.3,2.4,'z=0.1'),,text(-0.8,2.4,'z=0.3'),,text(-1.2,2.1,'z=0.5'),,text(-1.8,1.8,'z=0.7'),,text(-2.2,0.9,'

39、z=0.9'),例6.21,,% 通过sgrid指令可以绘出指定阻尼比z和%自然振荡频率wn的栅格线,,hold on,,rlocus(num,den),,axis([-4 1 -4 4]),,[k,p]=rlocfind(num,den),,% 由控制理论知,离虚轴近的稳定极点对整个系统的响应贡献大,,% 通过rlocfind,配合前面所画的z及wn %栅格线,,% 从而可以找出能产生主导极点阻尼比,%,,z=0.707的合适增益,,[numc,denc]=cloop(k,den);,,figure(2),,step(numc,denc),运行窗口,>> Select a point in

40、the graphics window,,selected_point =,,-0.4988 + 0.4348i,,,k =,,0.6862,,,p =,,-2.2454,,-0.3773 + 0.4040i,,-0.3773 - 0.4040i,,>>,6.3 控制系统的频域分析,MATLAB提供了函数,bode(),来,绘制系统的波特图,,其,用法,如下:,bode(num,den,),:,可绘制出以连续时间多项式传递函数表示的系统的波特图。,,bode(a,b,c,d,iu,w,),或,bode(num,den,w),:,可利用指定的角频率矢量绘制出系统的波特图。,由于横坐标按对数分度

41、,因此,w,必须由,logsapce,(对数生成语句),生成,。,6.3.1 函数bode,,bode(a,b,c,d,iu,),:,可,得到从系统第,iu,个输入到所有输出的波特图,。,,当,带输出变量,[,mag,pha,w,],或,[,mag,pha,],引用函数时,可得到系统波特图相应的幅值,mag,、,相角,pha,及角频率点,w,矢量或只是返回幅值与相角,。,相角以度为单位,幅值可转换为分贝单位:,magdb,=20×log10(mag),bode(a,b,c,d),:,自动绘制出系统的一组,Bode,图,它们是,针对连续状态空间系统,[a,b,c,d],的每个输入的,Bode,

42、图。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。,MATLAB,提供了,函数,nyquist,(),来,绘制系统的极坐标图,,其用法如下:,nyquist(num,den,),:,可,绘制,出以连续时间多项式传递函数表示的,系统的极坐标图,。,,nyquist(num,den,,,ω,),或,nyquist(a,b,c,d,iu,,,ω,),:可,利用指定的角频率矢量绘制出系统的极坐标图,。,6.3.2 奈奎斯特图(幅相频率特性图),nyquist(a,b,c,d,iu,),:,可得到从系统第,iu,个输入到所有输出的极坐标图,。,,当不带返回参数时,直接在屏幕

43、上绘制出系统的极坐标图(图上用箭头表示,ω,的变化方向,负无穷到正无穷) 。当带输出变量,[,re,im,,,ω,],引用函数时,可得到系统频率特性函数的实部,re,和虚部,im,及,角频率点,w,矢量(,为正的部分,)。可以用,plot(re,im,),绘制出对应,w,从负无穷到零变化的部分,。,nyquist(a,b,c,d,),:,绘制出系统的一组,Nyquist,曲线,每条曲线相应于连续状态空间系统,[a,b,c,d],的输入,/,输出组合对。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。,(1)源程序,% clear,,close all,,k=26;,,

44、z=[];,,p=[-6 1];,,[num,den]=zp2tf(z,p,k);,,figure(1),,subplot(211),,nyquist(num,den),,subplot(212),,pzmap(p,z),,figure(2),,[numc,denc]=cloop(num,den);,,step(numc,denc),逆时针绕行圈数为1,=不稳的极点数,所以系统稳定,,。,从闭环系统的阶跃响应看系统的却是稳定的。,6.3.3 其他常用频域分析函数,,MATLAB除了提供前面介绍的基本频域分析函数外,还提供了大量在工程实际中广泛应用的库函数,由这些函数可以求得系统的各种频率响应

45、曲线和 特征值。如:,margin:,求幅值裕度和相角裕度及对应的转折频率,,freqs:模拟滤波器特性,,nichols:求连续系统的尼科尔斯频率响应曲线(即对数幅相曲线),,ngrid:尼科尔斯方格图,margin()函数,margin,函数可以从频率响应数据中,计算出幅值裕度、相角裕度以及对应的频率,。幅值裕度和相角裕度是针对,开环,SISO,系统,而言,它指示出系统闭环时的,相对稳定性,。当不带输出变量引用时,,margin(sys),可在当前图形窗口中绘制出,带有裕量及相应频率显示,的,Bode,图,其中,幅值裕度以分贝为单位,。,sys,为系统模型描述,幅值裕度是在相角为,-180

46、,度处使开环增益为,1,的增益量,,如在,-180,度相频处的开环增益为,g,,,则幅值裕度为,1/g,;,若用分贝值表示幅值裕度,则等于:,-20*log10(g),。,类似地,,相角裕度是当开环增益为,1.0,时,相应的相角与,180,度角的和,。,margin(mag,phase,w,),:由,bode,指令得到的幅值,mag,(,不是以,dB,为单位,) 、相角,phase,及角频率,w,矢量绘制出带有裕量及相应频率显示的,bode,图。,,margin(num,den),:,可,计算出连续系统传递函数表示的幅值裕度和相角裕度并绘制相应波特图,。类似,,margin(a,b,c,d),

47、可以计算出连续状态空间系统表示的幅值裕度和相角裕度并绘制相应波特图。,,[,gm,pm,wcg,wcp,]=,margin(mag,phase,w,),:由,幅值,mag,(,不是以,dB,为单位) 、相角,phase,及角频率,w,矢量计算出系统幅值裕度和相角裕度及相应的相角交界频率,wcg,、,截止频率,wcp,,,而不直接绘出,Bode,图曲线。,源程序,例6.24,,%margin绘制出幅值裕度和相角裕度的波特图。,,clear,,clc,,close all,,%某系统的开环传递函数为:G(s)=k/s(s+1)(0.2s+1),,%求k分别为2和20时的幅值裕度与相角裕度,,num1=2;num2=20;,,den=conv([1 0],conv([1 1],[0.2 1]));,,figure(1),,margin(num1,den),,figure(2),,margin(num2,den);,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!