或剪切频率,求系统串联滞后校正器传递函数时,就可以调用此函数。
lagc.m编制如下:
function [Gc]=lagc(key,sope,vars)
% MATLAB FUNCTION PROGRAM lagc.m if key==1
gama=vars(1); gama1=gama+5;
[mu,pu,w]=bode(sope);
wc=spline(pu,w',(gama1-180)); elseif key==2
wc=vars(1); end
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); beta=10^(h/20); T=10/wc; betat=beta*T;
Gc=tf([T 1],[betat 1]); MATLAB程序如下: clear
K=10;num1=1;
den1=conv([1 0],[1 1]); den=conv([0.125 1],den1); sope=tf(K*num1,den); gama=32;
[Gc]=lagc(1,sope,[gama]);
程序结果为:
即对于校正后系统的相角裕度?0?32?的滞后校正补偿器传递函数为:
9.758s?1
65.97s?1(4)校验系统校正后系统是否满足题目要求。 MATLAB程序如下:
G=tf(10*[9.758 1],conv([0.125,1.125,1,0],[65.97 1])) [Gm,Pm,Wcp,Wcg]=margin(G);
Gc(s)?
6
margin(G)程序结果为: Transfer function:
97.58 s + 10
---------------------------------------------- 8.246 s^4 + 74.34 s^3 + 67.09 s^2 + s 即校正后系统的开环传递函数为:
G(s)?Gc(s)?97.85s?10
8.246s4?74.34s3?67.09s2?s
图2.2 滞后校正后系统的Bode图
即剪切频率?C?1.03rad/s,相角裕度?0?32??30?,幅值裕度Kg=14.8dB。满足题目要求。
7
3、 传递函数特征根的计算
3.1校正前系统的传递函数的特征根
校正前的开环传递函数为:
G(s)?10
s(s?1)(0.125s?1)MATLAB程序为:
程序结果为:
故该系统的闭环特征方程为:
0.125s3?1.125s2?s?10?0
MATLAB程序为:
由于校正前系统单位负反馈的特征方程有右半平面的根,故校正前的闭环系统不稳定。
3.2校正后系统的传递函数的特征根
校正后的开环传递函数为:
97.85s?10 4328.246s?74.34s?67.09s?s由以下程序求得闭环传递函数。
G(s)?Gc(s)?
8
程序结果为:
校正后的闭环传递函数为:
?(s)?
97.85s?10
8.246s4?74.34s3?67.09s2?98.85s?10故该系统的闭环特征方程为:
8.246s4?74.34s3?67.09s2?98.85s?10?0
MATLAB程序为:
由于校正后系统单位负反馈的特征方程没有右半平面的根,故校正后的闭环系统稳定。
9
4、 系统动态性能的分析
4.1校正前系统的动态性能分析
校正前的开环传递函数为:
G(s)?10
s(s?1)(0.125s?1)(1)单位脉冲响应 MATLAB程序为:
图4-1 校正前系统的单位脉冲响应
(2)单位阶跃响应 MATLAB程序为:
10