《第7章MATLAB.ppt》由会员分享,可在线阅读,更多相关《第7章MATLAB.ppt(64页珍藏版)》请在三一文库上搜索。
1、关于作业,sys=tf(24,18,3,1 2 10 0 0) sys1=feedback(sys,1); key=0; t=0:0.1:50 stre(key,sys1,t) stre(1,sys1,0:0.1:50) stre(2,sys1,0:0.1:50),stre.m,Design constraint,第7章 频域分析,参见112页5.4节和262页8.3节,内容,绘制Nyquist图 绘制Bode图 绘制Nichols图 分析频率特性性能,如稳定性、稳定裕度 计算频域性能指标 应用频域法设计校正装置,7.1 控制系统的频率特性,设s=j,系统的频域响应可由下式直接求出:,建模 已
2、知传递函数模型 num=0.5;den=1 2 1 0.5; w=0.01:0.01:1000; Gwnum=polyval(num,i*w); Gwden=polyval(den,i*w); Gw=Gwnum./Gwden; 如果是状态空间模型则可以 Gw=C*inv(i*w*eye(n)-A)*B+D;,计算系统的频率特性的方法,计算系统的频率特性的方法,real(g)计算实频响应;imag(g)计算虚频响应 a1=real(Gw); b1=imag(Gw); plot(a1,b1) abs(g)计算幅频响应;angle(g)计算相频响应 h1=abs(Gw) f1=angle(Gw);
3、subplot(2,1,1),semilogx(w,20*log(h1) subplot(2,1,2),plot(w,f1) 注意频率w=0.01:0.01:1000; w=logspace(-2,-1,1000);,7.2 绘制Nyquist图,nyquist(),re,im,w=nyquist(num,den,w),re=实部向量 im=虚部向量,G(s)=num/den,用户选择的频率 (可选),nyquist(sys) nyquist(sys,wmin,wmax) nyquist(sys,w) nyquist(sys1,sys2,.,w) nyquist(sys1,r,sys2,y-,
4、sys3,gx). re,im = nyquist(sys,w) re,im,w = nyquist(sys),其他调用格式有,若想使得闭环系统稳定,则开环系统G(s)H(s)的nyquist图逆时针地绕(-1,j0)点的圈数必须等于G(s) H(s)位于s右半平面开环极点数。,nyquist分析闭环系统的稳定性:,Ex1:,num=0.5;den=1 2 1 0.5; roots(den) ans = -1.5652 -0.2174 + 0.5217i -0.2174 - 0.5217i re,im=nyquist(num,den); plot(re,im),grid,(-1,j0)点,nu
5、m=0.5 5; d1=0.5 1 0; d2=1/2500 0.6/50 1; den=conv(d1,d2); nyquist(num,den),axis(-0.1,0,-0.15,0.15),7.3 绘制Bode图,mag,phase,w=bode(num,den,w),mag=幅值向量 phase=相角向量,G(s)=num/den,用户选择的频率 (可选),bode(num,den) bode(num,den,w) mag,phase=bode(num,den),注意要得到幅频需用分贝表示dB MAGDB = 20*log10(mag),其他调用格式有,bode(sys) bode(
6、sys,wmin,wmax) bode(sys,w) bode(sys1,sys2,.,w) bode(sys1,r,sys2,y-,sys3,gx). mag,phase = bode(sys,w) mag,phase,w = bode(sys),logspace(): 指定频率点w,w=logspace(a,b,n),w=用对数尺度表示的频率点数据向量,介于10a与10b之间的n点,Ex 2:,num=0.5 5; d1=0.5 1 0;d2=1/2500 0.012 1; den=conv(d1,d2); w=logspace(-1,3,200);%指定频率范围 mag,phase,w=
7、bode(num,den,w) semilogx(w,20*log10(mag),grid xlabel(Frequencyrad/sec),ylabel(20log(mag)dB),实际幅频特性与近似幅频特性比较,相频特性,semilogx(w,phase),grid xlabel(frequencyrad/sec); ylabel(phase);,完整Bode图,bode(num,den),grid,7.4 求增益裕度和相角裕度,margin(),Gm,Pm,Wcg,Wcp=margin(num,den),Gm=增益裕度(dB) Pm=相角裕度(deg),G(s)=num/den,Gm,P
8、m,Wcg,Wcp = margin(sys) Gm_dB = 20*log10(Gm) Gm,Pm,Wcg,Wcp=margin(mag,phase,w) margin(num,den) 直接在Bode图上标明 margin(sys),Wcg=相角-180对应频率 Wcp=增益0dB对应频率,bode(num,den) margin(num,den),Gm = 26.9405 Pm = 48.5831 Wcg = 47.5445 Wcp = 2.939,bode(num,den) Gm,Pm,Wcg,Wcp=margin(num,den),title(Gm=,num2str(Gm), Pm=
9、,num2str(Pm),7.5 绘制Nichols图,mag,phase,w=nichols(num,den,w),mag=幅值向量 phase=相角向量,G(s)=num/den,用户选择的频率 (可选),nichols(num,den) nichols(num,den,w) mag,phase= nichols(num,den),单位负反馈系统的幅相频率特性,其他调用格式有,nichols(sys) nichols(sys,wmin,wmax) nichols(sys,w) nichols(sys1,sys2,.,w) nichols(sys1,r,sys2,y-,sys3,gx). m
10、ag,phase = nichols(sys,w) mag,phase,w = nichols(sys),Nichols图框架下的等M()和等()线,ngrid在已有的nichols图中绘制等M()和等()线。 ngrid(new)产生nichols图框架下的等M()和等()线,以便绘制nichols图,命令自动保持图形,相当于hold on。,num=0.0001 0.0218 1.0436 9.3599; den=0.0006 0.0268 0.6365 6.2711; sys=tf(num,den); ngrid(new); nichols(sys),7.6 BODE串联校正设计工具,1
11、. 超前校正设计 校正原理:超前校正的两个转折频率应分设在未校正系统的剪切频率的两侧。相频特性具有正相移,幅频特性具有正斜率。校正后,低频段不变,剪切频率比原系统大,说明快速性提高。,设计方法,ess K 画出校正前原系统的 Bode 计算出稳定裕度及剪切频率PMk c 由m=PMd- PMk+5, 求 值. L() =10lg dB. 确定校正后的系统的剪切频率m. 根据m计算校正器的零极点的转折频率.,6.画出校正后的系统Bode图,校验系统性能指标 7.使系统构成闭环,验证闭环系统的响应,已知单位负反馈系统被控对象的传函,设计校正器使之满足:,斜坡信号作用下,稳态误差小于0.001; 相
12、角裕度在4348 之间,figure(2); sysc=feedback(sys,1); step(sysc),Gm0 = 1.0100 Pm0 = 0.0584 wcg0 = 100.0000 wcp0 = 99.4863,k0=1000; n1=1;d1=conv(conv(1 0,0.1 1),0.001 1); figure(1);sys=tf(k0*n1,d1); bode(sys) Gm0,Pm0,wcg0,wcp0=margin(k0*n1,d1) hold on,期望的稳定裕度d=45,gamad=45; phai=gamad-Pm0+5; pha=phai*pi/180; a
13、lpha=(1+sin(pha)/(1-sin(pha); mag,phase,w=bode(sys); adb=20*log10(mag); am=-10*log10(alpha); wgc=spline(adb,w,am);%插值 T=1/(wgc*sqrt(alpha); alphat=alpha*T; Gc=tf(alphat 1,T 1),Transfer function: 0.01669 s + 1 - 0.002218 s + 1,根据校正后系统的结构与参数,校验其是否满足要求,sopen=sys*Gc; figure(1);bode(sopen) margin(sopen),
14、sclose=feedback(sopen,1); figure(2);step(sclose),2. 滞后校正设计 校正原理:滞后校正的两个转折频率应比未校正系统的剪切频率小很多。相频特性具有负相移,幅频特性具有负斜率。校正后,低频段不变,剪切频率比原系统小,说明快速性变差,意味着牺牲系统的快速性换取稳定性。,设计方法,ess K 画出校正前原系统的 Bode 由( gc)=-180 +PMd+5, 确定校正后的系统的剪切频率 gc L( gc) =20lg ,get =10(L/20). 根据gc计算校正器的零极点的转折频率.,5.画出校正后的系统Bode图,校验系统性能指标 6.使系统构
15、成闭环,验证闭环系统的响应,已知单位负反馈系统被控对象的传函,设计校正器使之满足:,斜坡信号作用下,Kv30s-1; 相角裕度45; (剪切频率c 2.3s-1),k0=30; n1=1;d1=conv(conv(1 0,0.1 1),0.2 1); figure(1);sys=tf(k0*n1,d1); mag,phase,w=bode(sys) figure(1); margin(k0*n1,d1) hold on figure(2); sysc=feedback(sys,1); step(sysc),gama=45 pha=gama+5-180; wgc=spline(pu,w,pha)
16、,gama = 45 wgc = 2.4588,na=polyval(k0*n1,j*wgc); da=polyval(d1,j*wgc); g=na/da g1=abs(g); h=20*log10(g1); beta=10(h/20); T=10/wgc;betat=beta*T; Gc=tf(T 1,betat 1),Transfer function: 4.183 s + 1 - 46.06 s + 1,sopen=sys*Gc; figure(1);bode(sopen) margin(sopen) sclose=feedback(sopen,1); figure(2);step(s
17、close),3. 滞后-超前校正设计 校正原理:实现滞后校正与超前校正的综合。 滞后校正把剪切频率左移。从而减小了系统在剪切频率处的相位滞后,超前校正的作用是新剪切频率提供一个相位超前量,用以增大一个相位超前量,用以增大系统相位稳定裕度,使其满足动态性能要求,设计方法,ess K 画出校正前原系统的 Bode,获取系统的剪切频率 g1 确定滞后校正的参数,取=810,1/T1=0.1 g1 确定校正后的系统的剪切频率g2,使这一点超前校正器能满足,并在该点综合后幅频衰减为0db. L() =10lg dB. 根据g2计算校正器的零极点的转折频率.,6.画出校正后的系统Bode图,校验系统性能
18、指标 7.使系统构成闭环,验证闭环系统的响应,已知单位负反馈系统被控对象的传函,设计校正器使之满足:,斜坡信号作用下,Kv=10s-1; 相角裕度45; 剪切频率c 1.5s-1 时域性能指标:%25%,Tp 2s,Ts 6s,k0=20; n1=1;d1=conv(conv(1 0,1 1),1 2); figure(1);sys=tf(k0*n1,d1); mag,phase,w=bode(sys); figure(1); margin(k0*n1,d1) hold on figure(2); sysc=feedback(sys,1); step(sysc),wg1=1.5;beta=9.
19、5; T1=1/(0.1*wg1); betat=beta*T1; Gc1=tf(T1 1,betat 1),求滞后校正器,取 g1=1.5s-1, =9.5, 1/T1=0.1 g1,Transfer function: 6.667 s + 1 - 63.33 s + 1,Transfer function: 133.3 s + 20 - 63.33 s4 + 191 s3 + 129.7 s2 + 2 s,求超前校正器,已知 g2,na=polyval(num,j*wg2); da=polyval(den,j*wg2); g=na/da; g1=abs(g); h=20*log10(g1)
20、; alpha=10(-h/10); T2=1/(wg2*(alpha)(1/2); alphat=alpha*T2; Gc2=tf(alphat 1,T2 1),Transfer function: 2.13 s + 1 - 0.2086 s + 1,sopen=sys*Gc1*Gc2; figure(1);bode(sopen) margin(sopen) sclose=feedback(sopen,1); figure(2);step(sclose),校正的解析法,频域作业,编写串联校正的函数。 输入参数:开环传函,校正器的种类, 输出参数:校正器传函,频域作业,已知单位负反馈系统被控对
21、象的传函,设计校正器使之满足:,斜坡信号作用下,Kv=10s-1; 相角裕度45; 剪切频率c 1.5s-1 时域性能指标:%25%,Tp 2s,Ts 6s,附: 系统串联校正的程序设计,Leadcmpst.m: 超前校正,function modelcompensator,Wcnew,Wcold,alpha=leadcmpst(sysopen,Pmd) % To get a model of a lead compensator % sysopen - a open system % Pmd- desired phase margin % modelcompensator-Model of
22、the new system % Wcnew-Crossover frequency of the new system % Wcold-Crossover frequency of the open system % alpha-coefficient of the compensator,Gmo,Pmo,Wcgo,Wcpo=margin(sysopen); phacmp=Pmd-Pmo+5; phc=phacmp*pi/180; alpha=(1-sin(phc)/(1+sin(phc); Gaincmp=10*log10(alpha); mag,phase,W=bode(sysopen)
23、; l,n,c=size(mag); mag1=zeros(c,1); for i=1:c mag1(i)=20*log10(mag(1,1,i); end Wcold=interp1(mag1,W,0,spline);%插值 Wcnew=interp1(mag1,W,Gaincmp,spline); %插值 Zc=Wcnew*sqrt(alpha); Pc=Zc/alpha; modelcompensator=zpk(-Zc,-Pc,1/alpha);,Pmd=50;%degree Kv=20; disp(Model of the original system:); sys=zpk(,0
24、-2,4) disp(open loop system model which meets steady target :) sysopen,kc=modtraget(sys,Kv); sysopen disp(Model of the compensator:); Cmp,Wcnew,Wcold,alpha=leadcmpst(sysopen,Pmd); Cmp disp(Model of new open-loop system:); sysnew=Cmp*sysopen,Amp407.m,disp(Margin of the open loop system:); Gmold,Pmold
25、,Wcgold,Wcpold=margin(sysopen); Gmold Pmold Wcgold Wcpold disp(Margin of the new system:); Gmnew,Pmnew,Wcgnew,Wcpnew=margin(sysnew); Gmnew Pmnew Wcgnew Wcpnew,subplot(1,2,1); bode(sysnew,r,sysopen,b),grid; subplot(1,2,2); sysclose1=feedback(sysnew,1); sysclose2=feedback(sysopen,1); step(sysclose1,r-
26、,sysclose2,b:),modtraget.m 子程序,求满足稳态性能要求的开环传函,function sysopen,kc=modtraget(sysold,kd) % This function is to get a system model which meets % steady traget kd % systemold-the original system % kd-the gived steady performence traget % sysopen-a system model which meets steady traget kd % kc-compensat
27、ive gain,sys=zpk(sysold); z,p,k=zpkdata(sys,v); ind=find(p=0); p1=zeros(1,length(ind) for i=1:length(ind) p1(i)=p(ind(i); end sys1=zpk(z,p1,k); num,den=tfdata(sys1,v); k1=polyval(num,0)/polyval(den,0); kc=kd/k1; sysopen=kc*sys;,Lagcmpst.m: 滞后校正,lagcmpst.m function modelcompensator,Wcnew,Wcold,alpha=
28、lagcmpst(sysopen,Pmd) % To get a model of a lag compensator % sysopen - a open system % Pmd- desired phase margin % modelcompensator-Model of the new system % Wcnew-Crossover frequency of the new system % Wcold-Crossover frequency of the open system % alpha-coefficient of the compensator,mag,phase,W
29、=bode(sysopen); l,n,c=size(mag); mag1=zeros(c,1); for i=1:c mag1(i)=20*log10(mag(1,1,i); end Wcold=interp1(mag1,W,0,spline); l,n,c=size(phase); pha1=zeros(c,1); for i=1:c pha1(i)=phase(1,1,i); end phawc=-180+Pmd+15; Wcnew=interp1(pha1,W,phawc,spline); Magwcn=interp1(W,mag1,Wcnew,spline); beta=10(Mag
30、wcn/20); Zc=Wcnew/5; Pc=Zc/beta; modelcompensator=zpk(-Zc,-Pc,1/beta);,Pmd=40;%degree Kv=5; disp(Model of the original system:); sys=zpk(,0 -1 -2,2) disp(open loop system model which meets steady traget:) sysopen,kc=modtraget(sys,Kv); sysopen disp(Model of the compensator:); Cmp,Wcnew,Wcold,alpha=la
31、gcmpst(sysopen,Pmd); Cmp disp(Model of new open-loop system:); sysnew=Cmp*sysopen,disp(Margin of the open loop system:); Gmold,Pmold,Wcgold,Wcpold=margin(sysopen); Gmold Pmold Wcgold Wcpold disp(Margin of the new system:); Gmnew,Pmnew,Wcgnew,Wcpnew=margin(sysnew); Gmnew Pmnew Wcgnew Wcpnew,subplot(1,2,1); bode(sysnew,r,sysopen,b),grid; subplot(1,2,2); sysclose1=feedback(sysnew,1); sysclose2=feedback(sysopen,1); step(sysclose1,r-,sysclose2,b:),
链接地址:https://www.31doc.com/p-2987615.html