版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章 Matlab在自动控制原理中的应用研究线形系统中的时不变系统系统复杂,具有各种数学描述方法,有各个数学模型求出总的系统数学模型,研究系统特性的同时,注意研究系统中个部件的状态。控制系统多为闭环反馈系统,一般研究其开环系统如何反映和影响系统的闭环特性由于控制系统的应用广泛性,在Matlab的控制工具箱有很多,如鲁棒控制工具箱,神经网络工具箱等概述8.1 控制工具箱中的LTI对象线性系统可以采用四种不同方法来进行描述,每种方法又有几个参数矩阵,基于面向对象的设计思想,建立专用的数据结构类型,将各种模型封装成统一的LTI对象。在一个名字下包含了改系统的所有属性。8.1.1 LTI 对象的类型
2、和属性控制工具箱中一般有三个对象ss tf zpk共同属性p238 表8.1 Ts0,Ts1 Td 输入时延 特有属性p239 表8.28.1.2 LTI模型的建立dss(a,b,c,d)生成描述状态空间模型filt(num,den)生成dsp形式的离散传递函数(z-1)ss(a,b,c,d)生成状态空间模型tf(num,den,)生成传递函数模型zpk(z,p,k)生成零极增益模型8.1.3对象属性的获取和修改对象属性的获取get set 模型的参数转换和提取 dssdata ssdata tfdata zpkdata输出反馈反馈联接系统串联联接系统并联联接系统增广联接系统模型的连接输出反馈
3、系统的结构图下图所示。可以使用函数cloop得到闭环系统的数学模型。格式1:numc,denc=cloop(num,den,sign)输入开环系统的传递函数,左变量返回系统的闭环参数,numc为分子多项式系数向量,denc为分母多项式系数向量;右变量中的sign=1为正反馈,sign=-1为负反馈。sign的缺省值为。+-uy输出反馈格式2:Ac,Bc,Cc,Dc=cloop(A,B,C,D,sign)MIMO系统时,状态空间模型的全输出反馈。格式3: Ac,Bc,Cc,Dc=cloop(A,B,C,D,outputs,inputs)MIMO系统时,状态空间模型的选择输出反馈。向量output
4、s,inputs分别指明输出输入端口号数,正反馈时inputs取正值,负反馈时inputs取负值。例:单位反馈系统结构图如图所示,求闭环系统的数学模型。+-uynum=10;den=1,2,0;nc,dc=cloop(num,den,-1);printsys(nc,dc)num/den = 10 - s2 + 2 s + 10例:双输入、双输出系统结构图如下图所示,求闭环系统的数学模型。a=0 0;0 0;b=10,0;0,2;c=1 0;0 1;d=0 0;0 0;ac,bc,cc,dc=cloop(a,b,c,d,1,2,1,2,-1,-2,-1,-2)+-u1y1+-u2y2-ac =
5、-20 0 0 -4bc = 10 0 0 2cc = 1 0 0 1dc = 0 0 0 0一般反馈系统的结构图如图所示。可以使用函数feedback得到闭环系统的数学模型。格式1:numc,denc=feedback(num1,den1,num2,den2,sign)系统1和系统2均为传递函数模式时,左变量为返回的闭环系统参数;右变量中,num1 和den1为系统1参数向量,num2和den2为系统2参数向量,符号变量sign=1为正反馈,+-uy反馈联接符号向量sign=-1为负反馈。符号向量sign的缺省值为-1。格式2:Ac,Bc,Cc,Dc=feedback(A1,B1,C1,D1
6、,A2,B2,C2,D2,sign)系统1与系统2均为状态空间模式时的使用格式。格式3:Ac,Bc,Cc,Dc=feedback(A1,B1,C1,D1,A2,B2,C2,D2,outputs1,inputs1)MIMO系统时,系统1与系统2为状态空间模型的反馈联接。向量outputs1和inputs1分别指明当系统2作为反馈模块时,联接系统1的输出输入端口号数,正反馈时inputs1取正值,负反馈时inputs1取负值。例:反馈控制系统结构图如下图所示,求闭环系统的数学模型。n1=10;d1=1,2,0;n2=0.2,1;d2=0.01,1;n,d=feedback(n1,d1,n2,d2,
7、-1);printsys(n,d)num/den = 0.1 s + 10 - 0.01 s3 + 1.02 s2 + 4 s + 10 +-uy系统串联联接的结构图如下图所示。在使用过程中可用函数series得到串联系统的数学模型。格式1:num,den=series(num1,den1,num2,den2)系统1和系统2均为多项式模型时,左变量为返回的闭环系统参数。右变量中num1和den1为系统1参数向量;右变量中num2和den2为系统2参数向量。uy系统串联联接格式2:A,B,C,D=series(A1,B1,C1,D1,A2,B2,C2,D2)系统1与系统2均为状态空间模式时的使用
8、格式。格式3:A,B,C,D=series(A1,B1,C1,D1,A2,B2,C2,D2,outputs1,inputs2)MIMO系统时,系统1与系统2之间的串联联接方式,向量outputs1指明系统1的输出号数,inputs2指明系统2和输出号数。例:已知系统串联校正结构图如下所示,求系统的传递函数。n1=0.5,1;d1=0.1,1;n2=10;d2=1,2,0;no,do=series(n1,d1,n2,d2);nc,dc=cloop(no,do,-1);printsys(nc,dc)num/den = 5 s + 10 - 0.1 s3 + 1.2 s2 + 7 s + 10uy+
9、-系统并联联接的结构图如图所示,可以使用函数parallel得到闭环系统的数学模型。具体使用格式如下:格式1:num,den=parallel(num1,den1,num2,den2)系统1和系统2均为传递函数时,左变量为返回的闭环系统参数;右变量中,num1,den1为系统1参数向量,num2,den2为系统2参数变量。uy系统并联联接格式2:A,B,C,D=parallel(A1,B1,C1,D1,A2,B2,C2,D2)系统1与系统2均为状态空间模式时的使用格式。格式3: A,B,C,D=parallel(A1,B1,C1,D1,A2,B2,C2,D2,out1,out2)MIMO系统时
10、,系统1与系统2之间的并联联接方式,向量out1指明系统1的输出号数,out2指明系统2的输入号数。例:系统结构图如图所示,求并联系统的数学模型。n1=2;d1=1 2;n2=5;d2=1,3;n,d=parallel(n1,d1,n2,d2)printsys(n,d)num/den = 7 s + 16 - s2 + 5 s + 6uy系统增广联接的结构图如图所示。其中,系统1和系统2均为状态空间表达式,在使用中可利用函数append()得到增广联系统状态空间模型。使用格式如下:A,B,C,D=append(A1,B1,C1,D1,A2,B2,C2,D2)A1,B1,C1,D1为系统1的状态
11、空间参数矩阵;A2,B2,C2,D2为系统2的状态空间参数矩阵;系统1系统2y1y2u2u1系统的增广联接A,B,C,D为增广系统的状态空间参数矩阵。例:系统结构图如图所示,利用系统增广函数求闭环系统的数学模型。+-u1y1+-u2y2-ns1=10;ds1=1 0;a1,b1,c1,d1=tf2ss(ns1,ds1);ns2=2;ds2=1,0;a2,b2,c2,d2=tf2ss(ns2,ds2);as,bs,cs,ds=append(a1,b1,c1,d1,a2,b2,c2,d2);a,b,c,d=cloop(as,bs,cs,ds,1 2 1 2,-1,-2,-1,-2)a = b =
12、-20 0 1 0 0 -4 0 1c = d = 10 0 0 0 0 2 0 0 返回二、控制系统分析控制系统时域分析控制系统根轨迹分析控制系统频域分析控制系统稳定性分析返回控制系统时域响应分析阶跃响应函数功能:给定系统数学模型,求系统的单位阶跃响应。step(num,den) or step(A,B,C,D)step(num,den,t) or step(A,B,C,D,t)y,x=step(num,den) or y,x=step(A,B,C,D)y,x,t=step(num,den) or y,x=step(A,B,C,D,t)其中,num和den对应TF的系数向量。A,B,C,D对
13、应SS模型的系数矩阵。格式1:给定num,den,求系统的阶跃响应并作图,时间向量t的范围自动设定。给定A, B, C,D求系统的阶跃响应并作图,时间向量的范围自动设定。格式2:时间向量t的范围由人工设定,等间隔。例:t=0:0.1:3。格式3:返回变量格式。返回输出变量y、状态变量x,不作图。格式4:返回变量格式。包括或不包括时间向量t,不作图。例:系统的传递函数为:求阶跃响应并作系统性能分析。绘制阶跃响应曲线num=4;den=1 1 4;step(num,den)计算峰值y,x,t=step(num,den);max(y)ans =1.4441求峰值时间tp=spline(y,t,max
14、(y)tp = 1.6062脉冲响应函数函数功能:给定系统数学模型,求系统的单位脉冲响应。impulse(num,den) or impulse(A,B,C,D)impulse(num,den,t) or impulse(A,B,C,D,t)y,x=impulse(num,den) or y,x=impulse(A,B,C,D)y,x,t=impulse(num,den) or y,x=impulse(A,B,C,D,t)其中,num和den对应TF的系数向量。A,B,C,D对应SS模型的系数矩阵。格式1:给定num,den,求系统的脉冲响应并作图,时间向量t的范围自动设定。给定A, B, C
15、,D求系统的脉冲响应并作图,时间向量t的范围自动设定。格式2:时间向量t的范围由人工设定,等间隔。例:t=0:0.1:3。格式3:返回变量格式。返回输出变量y、状态变量x至MATLAB窗口,不作图。格式4:返回变量格式。包括或不包括时间向量t,不作图。例:系统的传递函数为:求阶跃响应并作系统性能分析。绘制脉冲响应num=4;den=1 1 4;impulse(num,den)计算误差面积y,x,t=impulse(num,den);trapz(t,y)ans =0.9983返回根轨迹作图与系统根轨迹分析函数功能:给定系统的开环模型,绘制根轨迹图或计算绘图变量。用法:rlocus(num,den
16、) or rlocus(num,den,k)r=rlocus(num,den,k) or r,k=rlocus(num,den)rlocus(a,b,c,d) or rlocus(a,b,c,d,k)r=rlocus(a,b,c,d,k) or r,k=rlocus(a,b,c,d)+-uy格式1:根据传递函数模型绘制系统的根轨迹图。格式rlocus(num,den)中,k为机器自适应产生的从0的增益向量;格式rlocus(num,den,k)中,k为人工给定的增益向量。格式2:返回变量格式,不作图。k为返回增益值,r为返回的闭环根矩阵,矩阵行数为length(k),其列数为(length(d
17、en)-1)。格式3:绘制SISO系统的根轨迹图;格式rlocus(a,b,c,d)中,k为机器自适应产生的从0的增益向量;格式rlocus(a,b,c,d,k)中,k为人工给定的增益向量。格式4:状态空间模型时返回变量格式。例:控制系统为绘制系统的根轨迹图,并确定系统临界稳定时系统参数。绘制系统的根轨迹图num=1;den=1,2,10,0;rlocus(num,den)求临界稳定时的系统参数r,k=rlocus(num,den);kg=spline(real(r(10:30,2),k(10:30),0) kg=20.0000例:非最小相位系统的开环传递函数为试绘制该系统的根轨迹,并确定使用
18、闭环系统稳定的Kg范围。绘制根轨迹n=1 1;d1=1 0;d2=1 -1;d3=1 4 16;d=conv(d1,conv(d2,d3);rlocus(n,d)k1,p=rlocfind(n,d)Select a point in the graphics windowselected_point = -0.0046 + 1.5439ik1 =23.1109p1 =-1.5058 + 2.7146i -1.5058 - 2.7146i 0.0058 + 1.5486i 0.0058 - 1.5486ik2,p2=rlocfind(n,d)Select a point in the graph
19、ics windowselected_point =-0.0046 + 2.5965ik2 =36.0909p2 = 0.0138 + 2.5855i 0.0138 - 2.5855i -1.5138 + 1.7627i -1.5138 - 1.7627i通过上述分析,可以得出系统稳定的Kg范围为23.1109Kg36.0909函数rlocfind()功能:用鼠标确定根轨迹上某一点的增益值和该点对应的n个闭环根。k,poles=rlocfind(num,den) or r,poles=rlocfind(a,b,c,d)k,poles=rlocfind(num,den,p) or k,poles
20、=rlocfind(a,b,c,d,p)格式1:在已经作出的根轨迹图上,用鼠标选择闭环极点的位置后,返回对应闭环极点的根轨迹增益值k和对应的n个闭环根,并在图上标注十字。使用该命令前,需要用rlocus()指令作出根轨迹图。格式2:给定右变量p为根轨迹上某点坐标值,返回对应该点的根轨迹增益值k和对应的n个闭环根。函数pzmap()功能:给定系统数学模型,作出零极点位置图。pzmap(num,den) or pzmap(a,b,c,d) or pzmap(p,z)p,z=pzmap(num,den) or p,z=pzmap(a,b,c,d)格式1:零极点绘图指令。零点标记为,极点标记为。格式2
21、:返回零极点值,不作图。返回控制系统频域响应分析MATLAB提供了多个用于系统频域分析的函数。波特函数Bodebode(num,den) or bode(a,b,c,d,iu)bode(num,den,w) or bode(a,b,c,d,iu,w)m,p,w=bode(num,den) or m,p,w=bode(a,b,c,d,iu)函数功能:对数频率特性作图函数,即波特图绘图。格式1:给定开环系统的数学模型作波特图,频率向量w自动给出。当开环模型以状态空间模型给出时须指定第几个输入。格式2:给定开环系统的数学模型作波特图,频率向量w由人工给出。w的单位为rad/s,可以由命令logspa
22、ce得到对数等分的w值。格式3:返回变量式,不作图。其中,m为频率特性G(jw)的幅值变量,m=|G(jw)|;p为频率特性G(jw)的幅角向量,p=argG(jw),单位为();w为频率向量,单位为rad/s。例:控制系统的开环传递函数为作波特图,并确定谐振峰值的大小Mr与谐振频率wr。n=10;d=1 2 10;bode(n,d);m,p,w=bode(n,d);mr=max(m)mr = 1.6667wr=spline(m,w,mr)wr = 2.8284稳定裕度函数margin函数功能:计算系统的稳定裕度,包括相位裕度Gm和幅值裕度Pm。margin(num,den) or margi
23、n(a,b,c,d)Gm,Pm,wg,wp=margin(num,den) or Gm,Pm,wg,wp=margin(a,b,c,d)Gm,Pm,wg,wp=margin(m,p,w)格式1:给定开环系统的数学模型作波特图,并在图上标注幅值裕度Gm和对应的频率wg,相位裕度Pm和对应的频率wp。幅值裕度Gm定义为:单位为dB(分贝)。相位裕度Pm定义为单位为度()。格式2:返回变量格式,不作图。返回幅值裕度Gm和对应的频率wg,相位裕度Pm和对应的频率wp。格式3:给定频率特性的参数向量、幅值m、相位p和频率w,由插值法计算幅度裕度幅值裕度Gm和对应的频率wg,相位裕度Pm和对应的频率wp。
24、例:控制系统结构图如图所示。求系统的稳定裕度,并分别采用格式2与格式3比较计算误差。n=2;d=1 3 20;margin(n,d)gm1,pm1,wg1,wp1=margin(n,d);m,p,w=bode(n,d);gm2,pm2,wg2,wp2=margin(m,p,w);gm1,gm2;pm1,pm2;wg1,wg2;wp1,wp2+-uy奈奎斯特函数nyquist()函数功能:奈奎斯特轨线作图命令,即极坐标图。nyquist(num,den) or nyquist(a,b,c,d)nyquist(num,den,w) or nyquist(a,b,c,d,w)re,im,w=nyqu
25、ist(num,den) or re,im,w=nyquist(a,b,c,d)格式1:给定开环系统的数学模型作波特图。频率w的范围自动给定。格式2:给定开环系统的数学模型作波特图。频率w的范围人工给定。格式3:返回极坐标图参数变量,不作图。其中re为复变函数G(jw)的实部变量,re=ReG(jw);im为复变函数G(jw)的虚部变量,im=ImG(jw);w为频率向量,单位为rad/s。例:二阶系统令n=1,分别作出=2,1,0.707,0.5时的奈奎斯特轨线。n=1;d1=1 4 1;d2=1 2 1;d3=1 1.414 1;d4=1 1 1;nyquist(n,d1);hold on
26、nyquist(n,d2);nyquist(n,d3);nyquist(n,d4);axis(equal);x=0:0.1:2*pi;plot(sin(x),cos(x),:)例:分别由w的自动变量与人工变量作下述系统的奈奎斯特轨线。n=1;d=1 1 0;nyquist(n,d);figure(2)w=0.5:0.2:3;nyquist(n,d,w);axis(equal);有时为了使曲线变化趋势看起来更明显,常采用人工变量。返回控制系统的稳定性分析借助于MATLAB语言工具,控制系统的稳定性分析采用直接方法,成为异常方便,异常简单的问题。因此,控制理论中经常使用的几种间接分析方法,如劳斯判
27、据、赫尔维斯判据和奈奎斯特判据等,这里从时域和频域两个方面介绍MATLAB语言的应用。时域稳定性分析频域稳定性分析返回时域稳定性分析在数学模型的基础上,可采用直接求根法确定系统的稳定性。在前述课程的学习过程中,可以知道系统的稳定性取决于系统特征根的正负,这样要求取系统的根,在一般的求解过程中比较繁琐,而MATLAB恰恰提供了这方面的便利。系统的传递函数模型一般表示为系统的特征方程为对于系统的传递函数模型,特征方程的根全部具有负实部,即对于特征方程其n个根为则系统是稳定的。而MATLAB提供了两个关于时域稳定性应用的函数。函数roots(d)函数功能:根据对应于特征方程式多项式向量求取系统对应的
28、特征根。函数pzmap(num,den) or pzmap(a,b,c,d)函数功能:绘出零极点在s平面上的位置,以图形可视方式显示系统的稳定性。例:控制系统结构图如图所示,试分别确定k=2,k=10时系统的稳定性。dz=0,-1,-2;do=poly(dz);no1=2;nc1,dc1=cloop(no1,do);roots(dc1)ans = -2.5214 -0.2393 + 0.8579i -0.2393 - 0.8579i+-uy因此k=2时,由于系统的闭环特征根全部具有负实部,系统是稳定的。no2=10;nc2,dc2=cloop(no2,do);roots(dc2)ans = -
29、3.3089 0.1545 + 1.7316i 0.1545 - 1.7316i因此,当k=10时,由于系统有一对共轭复数根的实部为正值,系统不稳定。利用函数pzmap(num,den)也可判断稳定性。dz=0,-1,-2;do=poly(dz);no1=2;nc1,dc1=cloop(no1,do);subplot(2,1,1)pzmap(nc1,dc1)no2=10;nc2,dc2=cloop(no2,do);subplot(2,1,2)pzmap(nc2,dc2)返回频域稳定性分析在频域稳定性分析中,主要使用波特图上的nyquist稳定性判据,即稳定裕度命令margin()。注意,稳定裕
30、度的定义是对最小相位系统而言的。若系统为非最小相位系统,不能应用稳定裕度来判别系统的稳定性。例:系统的开环传递函数为试分析系统的稳定性。n=1;d1=1,0;d2=0.5,1;d3=0.1,1;d=conv(d1,conv(d2,d3);margin(n,d)如上图所示,当k=1时系统是稳定的。由插值函数spline确定系统稳定的临界增益。m,p,w=bode(n,d);wi=spline(p,w,-180)wi = 4.4720mi=spline(w,m,wi)mi = 0.08331/mians = 12.0036通过上述运算,得到系统临界增益值为k临=12,则有k0dB,相位裕度Pm0,
31、系统是稳定的;当k12时,系统的幅值裕度Gm0dB,相位裕度Pm0,系统不稳定。例:非最小相位系统的开环传递函数为试在频域确定系统的稳定性。k=1;n=0.5,1;no=k*n;do=1,-1,0;margin(no,do);从图中可以看出,系统的闭环是不稳定的,这时就要借助于nyquist判据来判稳。作奈氏曲线分析:w=0.5:0.1:10;nyquist(no,do,w);axis(equal)由插值法寻找临界增益k临:m,p,w=bode(no,do);wi=spline(p,w,-180)mi=spline(w,m,wi)1/miwi = 1.4142mi = 0.4999ans =
32、2.0004 因此,临界增益k临=2。由于p=1,根据奈氏判据,该系统稳定条件为:角度增量=p=。所以k2时,在奈氏判图上,角度增量=,满足稳定条件,系统稳定。k=1和k=3的奈氏判据图如上页图所示。绘制程序如下:hold onno=no*3;nyquist(no,do);返回三、控制系统校正在控制分析的基础上对系统性能进行改善。为了保证一定的控制效果,按照传统方法,在原系统特性的基础上,将原特性加以修正称为系统的校正。例如改变原系统的波特图使之成为希望的形状即满足要求的性能指标就属于控制系统的校正内容。在本节主要介绍频域校正法,即基于波特图的校正方法。返回基于波特图的系统校正方法主要有两种。
33、一种是相位超前校正,通过超前校正装置的相位超前特性使校正系统获得希望的相位裕度;另一种是相位滞后校正,通过压缩频带宽度使校正系统获得希望的相位裕度。这两种校正方法都是在系统串联校正的基础上实现的。例:已知角位移随动系统的开环特性为要求:(1)r(t)=t时,ess0.1弧度; (2) c 4.41/s,c45。用频率法设计超前校正装置。为满足稳态性能,令K=10,作开环系统的波特图(见下页)。no1=10;do1=1,1,0;bode(no1,do1);hold ongm,pm,wg,wp=margin(no1,do1);gm,pm,wg,wpans = Inf 17.9642 NaN 3.0
34、842相位裕度c=17.9645,wp=2.16642,K=30,满足设计要求。绘制系统校正前后的时域响应。程序1:将以上频域波特图江于一图。n=30;d=conv(1 0,conv(0.1 1,0.2 1);bode(n,d)gm,pm,wg,wp=margin(n,d);gm,pm,wg,wphold onnc=4,1;dc=50,1;bode(nc,dc);no2=conv(n,nc);do2=conv(d,dc);bode(no2,do2);gm,pm,wg,wp=margin(no2,do2);gm,pm,wg,wp返回四、应用举例例1:控制系统的传递函数分别为:作系统的脉冲响应曲线,并求解析解。num1=0 0 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论