4.2利用MATLAB语言计算出超前校正器的传递函数。
要计算出校正后系统的传递函数,就编写求超前校正器的传递函数的MATLAB程序,其中调用了求超前校正器传递函数的函数leadc(),leadc.m保存在matlab7.0\\work\\文件夹下,其中key=1时,为var=gama,是根据要求校正后的相角稳定裕度计算超前校正器;当key=2时,为var=wc,则是根据要求校正后的剪切频率计算校正器。若已知系统的开环传递函数与要求校正后的相角稳定裕度或剪切频率,求系统串联超前校正器传递函数时,就可以调用此函数。leadc.m编制如下:
function [Gc]=leadc(key,sope,vars) % MATLAB FUNCTION PROGRAM leadc.m %
if key==1
gama=vars(1);gama1=gama+5; [mag,phase,w]=bode(sope);
[mu,pu]=bode(sope,w); gam=gama1*pi/180;
alpha=(1-sin(gam))/(1+sin(gam)); adb=20*log10(mu); am=10*log10(alpha); wc=spline(adb,w,am); T=1/(wc*sqrt(alpha)); alphat=alpha*T;
Gc=tf([T 1],[alphat 1]); elseif key==2 wc=vars(1);
num=sope.num{1};den=sope.den{1}; na=polyval(num,j*wc); da=polyval(den,j*wc); g=na/da; g1=abs(g); h=20*log10(g1); a=10^(h/10); wm=wc;
T=1/(wm*(a)^(1/2)); alphat=a*T;
6
Gc=tf([T 1],[alphat 1]); elseif key==3
gama=vars(1);wc=vars(2);gama1=gama+5; num=sope.num{1};den=sope.den{1}; ngv=polyval(num,j*wc); dgv=polyval(den,j*wc); g=ngv/dgv; thetag=angle(g); thetag_d=thetag*180/pi; mg=abs(g);
gama_rad=gama1*pi/180;
z=(1+mg*cos(gama_rad-thetag))/(-wc*mg*sin(gama_rad-thetag)); p=(cos(gama_rad-thetag)+mg)/(wc*sin(gama_rad-thetag)); nc=[z,1];dc=[p,1]; Gc=tf(nc,dc); end
matlab程序如下:
>> k=1000;
>> d1=conv(conv([1 0],[0.1 1]),[0.001 1]); >> sope=tf(k,d1);
>> gama=46;[Gc]=leadc(1,sope,[gama]) Transfer function: 0.01694 s + 1 -------------- 0.002124 s + 1
即对于校正后系统的相角裕度??46的超前校正补偿器传递函数为:
?0.01694s?1
0.002124s?14.3校验系统校正后系统是否满足题目要求:
Gc(s)?
程序如下: k0=1000; n1=1;
d1=conv(conv([1 0],[0.1 1]),[0.001 1]);s1=tf(k0,d1); s1=tf(k0*n1,d1); n2=[0.01694 1]; d2=[0.002124 1]; s2=tf(n2,d2);
sys=s1*s2;figure(1); margin(sys)
7
剪切频率
?c
=167rad/sec,相角裕度?=45deg和幅值裕度Gm=17.3dB
五、函数特征根的计算
5.1 校正前 开环传递函数:
G(S)?K0
S(0.1S?1)(0.001S?1)程序如下:
>> clear
>> k=1000;num=1;
>> den=conv(conv([1 0],[0.1 1]),[0.001 1]); >> s1=tf(k*num,den)
8
结果为:
Transfer function: 1000 --------------------------
0.0001 s^3 + 0.101 s^2 + s
故该系统闭环特征方程为:0.0001s3?0.101s2?s?1000?0 Matlab程序如下:
>> clear
>> p=[0.0001 0.101 1 1000]; >> roots(p)
ans =
1.0e+003 *
-1.0099 -0.0000 + 0.0995i -0.0000 - 0.0995i
由于校正前系统单位负反馈的特征方程没有右半平面的根,故校正前的闭环系统稳定。 5.2 校正后 开环传递函数:
GsGc(s)?1000(0.01694s?1)
s(0.1s?1)(0.001s?1)(0.002124s?1)>> num=[16.94 1000];
>> den=[0.0000002124 0.0003145 0.1031 1 0]; >> s=tf(num,den); >> s1=feedback(s,1) Transfer function:
16.94 s + 1000
--------------------------------------------------------- 2.124e-007 s^4 + 0.0003145 s^3 + 0.1031 s^2 +17.94 s +1000
校正后的闭环传递函数为:
?(s)?
16.94s?1000
0.0000002124s^4?0.0003145s^3?0.1031s^2?17.94s?1000
9
故该系统的闭环特征方程为:
??s??0.0000002124s^4?0.0003145s^3?0.1031s^2?17.94s?1000?0
程序如下:
>> clear
>> p=[0.0000002124 0.0003145 0.1031 17.94 1000]; >> roots(p)
ans =
1.0e+003 *
-1.1079 -0.1410 + 0.1641i -0.1410 - 0.1641i -0.0908
由于校正后系统单位负反馈的特征方程没有右半平面的根,故校正后的闭环系统稳定。
六、系统动态性能特性
校正前开环传递函数:
G(S)?K0
S(0.1S?1)(0.001S?1)6.1 校正前单位阶跃响应
10
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库串联超前校正设计剖析(2)在线全文阅读。
相关推荐: