您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 第7章控制系统的计算机辅助分析kj
1本章内容(1)利用MATLAB分析系统的稳定性;(2)利用MATLAB求取系统在典型和任意输入信号作用下的时域响应;(3)利用MATLAB绘制系统的根轨迹,在根轨迹上可确定任意点的根轨迹增益K值,从而得到系统稳定的根轨迹增益K值范围;(4)利用MATLAB绘制系统的Bode图、Nichols图和Nyquist图等,并求取系统的幅值裕量和相位裕量;第7章控制系统的计算机辅助分析2step(num,den)求取系统单位阶跃响应impulse(num,den)求取系统的单位脉冲响应bode(num,den)绘出系统的Bode图margin(num,den)nyquist(num,den)绘出系统的奈魁斯特图nichols(num,den)绘出系统的尼柯尔斯图pzmap(num,den)绘制系统的零极点图rlocus(num,den)绘制系统的根轨迹37.2控制系统的时域分析1.任意信号函数生成任意信号函数gensig()的调用格式为[u,t]=gensig(type,Ta)或[u,t]=gensig(type,Ta,Tf,T)其中第一式产生一个类型为type的信号序列u(t),周期为Ta,type为以下标识字符串之一:’sin’—正弦波;’square’—方波;’pulse’—脉冲序列;第二式同时定义信号序列u(t)的持续时间Tf和采样时间T。4例7-5生成一个周期为5秒,持续时间为30秒,采样时间为0.1秒的方波。解Matlab窗口中执行以下命令可得图7-2所示结果。[u,t]=gensig(’square’,5,30,0.1);plot(t,u)axis([0,30,–0.5,1.5])5图7-262.连续系统的单位阶跃响应单位阶跃响应函数step()的调用格式为[y,x,t]=step(num,den,t)或[y,x,t]=step(A,B,C,D,iu,t)绘制阶跃响应曲线plot(t,y)式中t为选定的仿真时间向量,可以由t=0:step:end等步长地产生出来。函数返回值y为系统在各个仿真时刻的输出所组成的矩阵;而x为自动选择的状态变量的时间响应数据。如只想绘制出系统的阶跃响应曲线,则可以由如下的格式调用此函数step(num,den,t);step(num,den)step(A,B,C,D,t);step(A,B,C,D)7仿真时间t的选择:对于高阶系统往往其响应时间很难估计,一般采用试探的方法,把t选大一些,看看响应曲线的结果,最后再确定其合适的仿真时间。一般来说,先不指定仿真时间,由MATLAB自己确定,然后根据结果,最后确定合适的仿真时间。在指定仿真时间时,步长的不同会影响到输出曲线的光滑程度,一般不易取太大。8sssssG4036820)(234例7-6假设系统的开环传递函数为试求该系统在单位反馈下的阶跃响应曲线和最大超调量。9%ex7_6.mnum0=20;den0=[1836400];[numc,denc]=cloop(num0,den0);t=0:0.1:10;[y,x,t]=step(numc,denc,t);plot(t,y)M=((max(y)-1)/1)*100;disp(['最大超调量M=',num2str(M),'%'])1001234567891000.20.40.60.811.21.4最大超调量M=2.5546%11例7-7对于典型二阶系统试绘制出无阻尼自然振荡频率ωn=6,阻尼比ζ分别为0.2,0.4,…,1.0,2.0时系统的单位阶跃响应曲线。2222)(nnnsssG12解MATLAB程序为%ex7_7.mwn=6;zeta=[0.2:0.2:1.0,2.0];figure(1);holdonforI=zetanum=wn.^2;den=[1,2*I*wn,wn.^2];step(num,den);endtitle('StepResponse');holdoff执行后可得如图7-4所示的单位阶跃响应曲线。2222)(nnnsssG13图7-4143.离散系统的单位阶跃响应离散系统的单位阶跃响应函数dstep()的调用格式为[y,x]=dstep(num,den,n)或[y,x]=dstep(G,H,C,D,iu,n)式中n为选定的取样点个数,当n省略时,取样点数由函数自动选取,其余参数定义同前。15例7-9已知二阶离散系统试求其单位阶跃响应。解MATLAB程序为%ex7_9.mnum=[2-3.41.5];den=[1-1.60.8];dstep(num,den);title('DiscreteStepResponse')执行后得如图7-6所示的单位阶跃响应曲线。8.06.15.14.32)(22zzzzzG16Time(sec.)AmplitudeDiscreteStepResponse05101520253035404550-0.500.511.52From:U(1)To:Y(1)图7-6174.单位脉冲响应单位脉冲响应函数impulse()和dimpulse()与单位阶跃函数step()和dstep()的调用格式完全一致,这里就不一一列写了。185.系统的零输入响应对于连续系统由初始状态引起的响应,即零输入响应,可由函数initial()来求得,其调用格式为[y,x,t]=initial(A,B,C,D,x0)或[y,x,t]=initial(A,B,C,D,x0,t)其中x0为初始状态,其余参数定义同前。197.4控制系统的频域分析频率响应研究系统的频率行为,从频率响应中可得带宽、增益、转折频率和闭环系统稳定性等系统特征。MATLAB的控制系统工具箱提供了多种求取线性系统频率响应曲线的函数,如表7-5所示。201.产生频率向量频率向量可由logspace()函数来构成。此函数的调用格式为ω=logspace(m,n,npts)此命令可生成一个以10为底的指数向量(10m∽10n),点数由npts任意选定。212.系统的伯德图(Bode图)(对数频率特性图)伯德图是幅值和相位分别对角频率w进行绘图。因此,也称为幅频和相频特性曲线。对数频率特性图包括对数幅频特性图和对数相频特性图。横坐标均为频率w,采用对数分度,单位为弧度/秒;纵坐标都是均匀分度。幅频特性曲线的纵坐标为幅值函数20lgA(w),以dB表示;相频特性曲线的纵坐标为相位,以度表示。连续系统的伯德图可利用bode()函数来绘制。22Frequency(rad/sec)Phase(deg);Magnitude(dB)BodeDiagrams-15-10-50510From:U(1)10-1100101-200-150-100-500To:Y(1)23连续系统的伯德图可利用bode()函数来绘制[mag,phase,ω]=bode(num,den)[mag,phase,ω]=bode(num,den,ω)[mag,phase,ω]=bode(A,B,C,D)[mag,phase,ω]=bode(A,B,C,D,iu)[mag,phase,ω]=bode(A,B,C,D,iu,ω)式中num,den和A,B,C,D分别为系统的开环传递函数和状态方程的参数,ω为频率点构成的向量。24有了这些数据就可以利用下面的MATLAB命令subplot(2,1,1);semilogx(w,20*log10(mag))subplot(2,1,2);semilogx(w,phase)在同一个窗口上同时绘制出系统的Bode图了,其中前一条命令中对幅值向量mag求取分贝(dB)值。25简单的调用格式如果只想绘制出系统的Bode图,而对获得幅值和相位的具体数值并不感兴趣,则可以采用如下简单的调用格式bode(num,den,ω)bode(A,B,C,D,iu,ω)或更简单地bode(num,den)bode(A,B,C,D,iu)26例7-16已知二阶系统的开环传递函数为绘制ζ取不同值时,频率在0.1到10之间变化的Bode图。解当ωn=6,ζ取0.2,0.4,0.6,0.8,1.0时二阶系统的Bode图可直接采用bode()函数得到。MATLAB程序为Ex7_16.m2nn22n2)(sssG27%ex7_16.mwn=6;zeta=[0.2:0.2:1.0];w=logspace(-1,1);num=[wn.^2];fork=zetaden=[12*k*wnwn.^2];bode(num,den,w);holdon;end28Frequency(rad/sec)Phase(deg);Magnitude(dB)BodeDiagrams-15-10-50510From:U(1)10-1100101-200-150-100-500To:Y(1)293.幅值裕量和相位裕量在判断系统稳定性时,常需要求出系统的幅值裕量和相位裕量。margin()函数可求出系统的幅值裕量与相位裕量,该函数的调用格式为[Gm,Pm,Wcg,Wcp]=margin(num,den)或[Gm,Pm,Wcg,Wcp]=margin(A,B,C,D)式中Gm和Pm分别为系统的幅值裕量和相位裕量,而Wcg和Wcp分别为幅值裕量和相位裕量处相应的频率值。当不带输出变量引用时,margin可在当前图形窗口中绘制出带有裕量及相应频率显示的Bode图,其中幅值裕度以分贝为单位。margin(num,den)margin(A,B,C,D)30幅值裕量是在相角为-180度处使开环增益为1的增益量,如在-180度相角处的开环增益为g,则幅值裕量为1/g;若用分贝值表示幅值裕量,则等于:-20*log10(g)。类似地,相角裕量是当开环增益为1.0时,相应的相角与180度角的和。幅值裕量和相角裕量是针对开环SISO系统而言,它指示出系统闭环时的相对稳定性。31例7-17给定系统的开环状态空间表达式为求系统的幅值裕量和相位裕量,并画出Bode图。A=[0100;0010;0001;-62.5-213.8-204.2-54];B=[0;0;0;1];C=[1562187500];D=0;margin(A,B,C,D))(0018751562)()(1000)(542.2048.2135.62100001000010)(txtytutxtx32Frequency(rad/sec)Phase(deg);Magnitude(dB)BodeDiagrams-150-100-50050Gm=13.049dB(at12.647rad/sec),Pm=23.07deg.(at5.8275rad/sec)10-1100101102103-300-200-100033执行ex7_17.m后得如下数据及图7-15所示Bode图。图7-1534Gm=4.4922Pm=23.0705Wcg=12.6466Wcp=5.8275幅值裕量=13.0492dB,相位裕量=23.0706度。35某系统的开环传递函数为:G(s)=k/s(s+1)(0.2s+1)求k分别为2和20时的幅值裕度与相角裕度.num1=2;num2=20;den=conv([10],conv([11],[0.21]));figure(1);margin(num1,den);figure(2);margin(num2,den)36Frequency(rad/sec)Phase(deg);Magnitude(dB)BodeDiagrams-150-100-50050Gm=9.5424dB(at2.2361rad/sec),Pm=25.39deg.(at1.2271rad/s
本文标题:第7章控制系统的计算机辅助分析kj
链接地址:https://www.777doc.com/doc-3995363 .html