65
第第第 第第第第 第第第第第第第第第第 第第第第第 第第第第第第第第第第 第第 第第第第第第第第第第 第第第第第第第第

第五章 时域分析、零极点分析和根轨迹法

  • Upload
    totie

  • View
    99

  • Download
    2

Embed Size (px)

DESCRIPTION

获得控制系统的瞬态响应和稳态响应 对系统的瞬态和稳态性能分析 根轨迹绘制和分析. 第五章 时域分析、零极点分析和根轨迹法. 产生信号 gensig(). [u,t]=gensig(type,Ta) [u,t]=gensig(type,Ta,Tf,T) Type :信号序列. sin 正弦; square 方波; pulse 脉冲 Ta :信号周期 Tf :信号的持续时间 T :采样时间. 例子:. 产生一个周期为5秒,持续时间为30秒,采样为0 .1 秒的方波 . [u,t]=gensig('square',5,30,0.1); plot(t,u) - PowerPoint PPT Presentation

Citation preview

Page 1: 第五章 时域分析、零极点分析和根轨迹法

第五章 时域分析、零极点分析和根轨迹法 获得控制系统的瞬态响应和稳态响应 对系统的瞬态和稳态性能分析 根轨迹绘制和分析

Page 2: 第五章 时域分析、零极点分析和根轨迹法

产生信号 gensig() [u,t]=gensig(type,Ta) [u,t]=gensig(type,Ta,Tf,T) Type :信号序列. sin 正弦; square 方波; pulse 脉冲 Ta :信号周期 Tf :信号的持续时间 T :采样时间

Page 3: 第五章 时域分析、零极点分析和根轨迹法

例子: 产生一个周期为5秒,持续时间为30秒,采样为0 .1 秒的方波 . [u,t]=gensig('square',5,30,0.1); plot(t,u) Axis([0,30,-0.5,1.5])

Page 4: 第五章 时域分析、零极点分析和根轨迹法

产生正弦波: [u,t]=gensig('sin',5,30,0.1); plot(t,u) Axis([0,30,-1.5,1.5])

Page 5: 第五章 时域分析、零极点分析和根轨迹法

5.1 系统的时域分析 时域分析法是研究系统对典型输入的时间响应曲线,常用的输入信号有: 阶跃信号 step 脉冲信号 impulse 任一信号 lsim

Page 6: 第五章 时域分析、零极点分析和根轨迹法

1. step(): 计算系统对单位阶跃输入的响应 y=step(num,den) step(num,den) [y,t,x]=step(num,den,t)

[y,t,x] = step(num,den,t)

y(t)= 时间输出响应x(t)= 时间状态响应the state trajectory xt= 仿真时间G(s)=num/den

t= 计算阶跃响应时间

Page 7: 第五章 时域分析、零极点分析和根轨迹法

无左边参数调用,绘制仿真计算图形。 step(sys);step(sys,t);step(sys1,sys2,…,t)

有左边参数调用,返回仿真计算结果。 y=step(sys,t) [y,t]=step(sys) [y,t,x]=step(sys)

使用 help step 命令,了解函数的调用方法。

step 的其他调用形式

Page 8: 第五章 时域分析、零极点分析和根轨迹法

a = [-0.5572 -0.7814;0.7814 0];b = [1 -1;0 2];c = [1.9691 6.4493];sys = ss(a,b,c,0); step(sys)

step(sys)t = 0:dt:Tfinal step(sys,t)step(sys1,sys2,...,sysN)step(sys1,sys2,...,sysN,t)step(sys1,'PlotStyle1',...,sysN,'PlotStyleN')[y,t,x] = step(sys)

Page 9: 第五章 时域分析、零极点分析和根轨迹法
Page 10: 第五章 时域分析、零极点分析和根轨迹法

例子: a1=[-0.5572 -

0.7814;0.7814 0]; b1=[1 -1;0 2]; c1=[1.9691 6.4493]; sys1=ss(a1,b1,c1,0); a2=[-0.8572 -

0.7814;0.7814 0]; b2=[3 -1;0 2]; c2=[6.9691 6.4493]; sys2=ss(a2,b2,c2,0); step(sys1,sys2)

Page 11: 第五章 时域分析、零极点分析和根轨迹法

例 5-1 G=1/(s2+2s+1)

num=1;y=zeros(200,1);i=0;for bc=0.1:0.1:1 den=[1,2*bc,1];sys=tf(num,den);t=[0:0.1:19.9]; i=i+1;y(:,i)=step(sys,t);endplot(y)legend('zeta=0.1','zeta=0.2','zeta=0.3','zeta=0.4','zeta=0.5','zeta=0.6','zeta=0.7','zeta=0.8','zeta=0.9','zeta=1.0',-1)

注意: Lengend:pos = -1 表示 places the legend outside the axes boundary on the right side.

Page 12: 第五章 时域分析、零极点分析和根轨迹法

例 5-1

Page 13: 第五章 时域分析、零极点分析和根轨迹法

mesh(y)例 5-1

Page 14: 第五章 时域分析、零极点分析和根轨迹法

2. impulse() 计算系统对单位脉冲输入的响应 调用方法与step()函数类似,用help impulse命令例了解其调用规则 y=impulse(num,den) impulse(num,den) [y,t,x]=impulse(num,den,t)

[y,t,x]=impulse(num,den,t)

y(t)= 时间输出响应x(t)= 时间状态响应t= 仿真时间 G(s)=num/den

t= 计算脉冲响应时间

Page 15: 第五章 时域分析、零极点分析和根轨迹法

例 5-2 分析系统的脉冲响应num=1;y=zeros(200,1);i=0;for bc=0.1:0.1:1 den=[1,2*bc,1];t=[0:0.1:19.9]';sys=tf(num,den); i=i+1;y(:,i)=impulse(sys,t);endplot(y)legend('zeta=0.1','zeta=0.2','zeta=0.3','zeta=0.4','zeta=0.5','zeta=0.6','zeta=0.7','zeta=0.8','zeta=0.9','zeta=1.0',-1)

Page 16: 第五章 时域分析、零极点分析和根轨迹法

例 5-2

Page 17: 第五章 时域分析、零极点分析和根轨迹法

3. 其他输入下的时域响应 initial() 零输入响应[y,t,x]=initial(sys,x(0)) help initial 命令了解命令的使用方法。

x0= 初始状态sys= 系统模型

initial(sys,x0)initial(sys,x0,t)initial(sys1,sys2,...,sysN,x0)initial(sys1,sys2,...,sysN,x0,t)initial(sys1,'PlotStyle1',...,sysN,'PlotStyleN',x0)[y,t,x] = initial(sys,x0)

Page 18: 第五章 时域分析、零极点分析和根轨迹法

a = [-0.5572 -0.7814;0.7814 0]; c = [1.9691 6.4493];x0 = [1 ; 0]; sys = ss(a,[],c,[]); initial(sys,x0)

Page 19: 第五章 时域分析、零极点分析和根轨迹法
Page 20: 第五章 时域分析、零极点分析和根轨迹法

lsim() 计算系统对任意输入的响应 [y,t,x]=lsim(sys,u,t,x0) y=lsim(sys,u,t) lsim(sys,u,t)

[y,t,x]=lsim(sys,u,t,x0)

y(t)= 时间输出响应x(t)= 时间状态响应sys= 系统模型 t= 计算信号响应时间u= 输入

x0= 初始 状态

Page 21: 第五章 时域分析、零极点分析和根轨迹法

Lsim(num,den,u,t) u 为给定输入序列构成的矩阵,它的每列对应一个输入,每行对应一个时间点,其行数与时间 t 的长度相等。

Page 22: 第五章 时域分析、零极点分析和根轨迹法

例子:对离散系统G(z)=0.632/(z^2-1.368z+0.568),输入信号为幅值正负 1 的方波信号 , 求输出信号。num=0.632;den=[1 -1.368 0.568];u1=[ones(1,50),-1*ones(1,50)];u=[u1 u1 u1];figure(1)dlsim(num,den,u)

Page 23: 第五章 时域分析、零极点分析和根轨迹法

例 5-3 系统对斜坡输入的响应closet=[0:0.1:10];num=[1];zeta=0.4;den=[1 2*zeta 1];u=t; % 单位斜坡输入y=lsim(num,den,u,t);plot(t,y,'b-',t,u,'r:');legend('zeta=0.4','u=t',0)

G=1/(s2+2s+1)

Page 24: 第五章 时域分析、零极点分析和根轨迹法

5.2 系统动态及稳态性能的时域分析1. 稳定性分析 MATLAB 实现的方法 MATLAB 提供了直接求取系统所有零极点的函数,因此可以直接根据零极点的分布情况对系统的稳定性及是否为最小相位系统进行判断。 roots() 、 pzmap()

Page 25: 第五章 时域分析、零极点分析和根轨迹法

已知开环传函k=100;z=[-2];p=[0,-1,-20];[n1,d1]=zp2tf(z,p,k)n1 =

0 0 100 200d1 =

1 21 20 0>> P=n1+d1P = 1 21 120 200

)20)(1()2(100)(

sssssG

对系统闭环稳定性判别>> roots(P)ans = -12.8990 -5.0000 -3.1010

Page 26: 第五章 时域分析、零极点分析和根轨迹法

G=tf(n1,d1)sys=feedback(G,1) Transfer function: 100 s + 200--------------------------s^3 + 21 s^2 + 120 s + 200

>> roots(sys.den{1})ans = -12.8990 -5.0000 -3.1010

>> sys1=zpk(sys) Zero/pole/gain: 100 (s+2)------------------------(s+12.9) (s+5) (s+3.101)>> sys1.p{1}ans = -12.8990 -5.0000 -3.1010

>> G=ss(sys)>> eig(G.a)

Page 27: 第五章 时域分析、零极点分析和根轨迹法

2. 稳态值n

m

s abG

sssGy

)0(1)(lim)(

0

DBCADBAsICs

ssGyss

11

00)(lim1)(lim)(

K=dcgain(num,den)%k 为稳态增益,即:当 s 趋近于零时 num(s)/den(s)=k对于状态空间K=dcgain(a,b,c,d)

Page 28: 第五章 时域分析、零极点分析和根轨迹法

3. 稳态误差目标值与稳态响应之差,称为稳态误差。 )()( limlim0

ssEteest

ss

)(1 hess单位阶跃响应ytess 单位斜坡响应

Page 29: 第五章 时域分析、零极点分析和根轨迹法

4. 峰值时间 Tp 和超调量%100

)()(%

yyym

[mp,tf]=max(y);cs=length(t);yss=y(cs);sigma=100*(mp-yss)/ysstp=t(tf)

Tp : 0 到阶跃响应曲线 h( t)超过稳态值而达第一个峰值之间的时间sys=tf(1.25,[1 1 0])Gc=feedback(sys,1)[y,t]=step(Gc)

Page 30: 第五章 时域分析、零极点分析和根轨迹法

sigma = 20.9121

tp = 3.0920>> yssyss = 0.9987

sssG

2

25.1)(

Page 31: 第五章 时域分析、零极点分析和根轨迹法

二阶系统的超调量的计算%100%

21

esigma=exp(-pi*zeta/(1-(zeta)^2)^(1/2))*100

zeta=((log(1/sigma))^2/((pi)^2+(log(1/sigma))^2))^(1/2)

22

2

%)/1ln(%)/1ln(

Page 32: 第五章 时域分析、零极点分析和根轨迹法

5. 调节时间 TsTs :进入稳态值附近±5%或±2% 的误差带而不再超出的最小时间

if t2<tp if t1>t2 ts=t1 endelseif t2>tp if t2<t1 ts=t2 else ts=t1 endend

j=cs+1;n=0;while n==0,j=j-1; if j==1,n=1; elseif y(j)<0.95*yssn=1; endendt2=t(j);

cs=length(t)i=cs+1;n=0;while n==0,i=i-1; if i==1,n=1; elseif y(i)>1.05*yss n=1; endendt1=t(i);

Page 33: 第五章 时域分析、零极点分析和根轨迹法

t1=t(i);t1=t(i);j=cs+1;j=cs+1;

n=0;n=0;while n==0,j=j-1;while n==0,j=j-1;

if j==1,n=1; if j==1,n=1; elseif y(j)<0.95*yss elseif y(j)<0.95*yss

n=1;n=1; end end

endendt2=t(j);t2=t(j);if t2<tpif t2<tp

if t1>t2 if t1>t2 ts=t1 ts=t1

end endelseif t2>tpelseif t2>tp if t2<t1 if t2<t1 ts=t2 ts=t2

else ts=t1 else ts=t1 end end

endend

定义函数,求超调量定义函数,求超调量 sigmasigma ,峰,峰值时间值时间 tptp 和调节时间和调节时间 tsts function[sigma,tp,ts]=ste(y,t)%function[sigma,tp,ts]=ste(y,t)% 函函数定义数定义 [mp,tf]=max(y);[mp,tf]=max(y); cs=length(t);cs=length(t); yss=y(cs);yss=y(cs); sigma=100*(mp-yss)/ysssigma=100*(mp-yss)/yss tp=t(tf)tp=t(tf) cs=length(t)cs=length(t) i=cs+1;i=cs+1; n=0;n=0; while n==0,i=i-1;while n==0,i=i-1; if i==1,n=1;if i==1,n=1; elseif y(i)>1.05*ysselseif y(i)>1.05*yss n=1;n=1; endend endend

Page 34: 第五章 时域分析、零极点分析和根轨迹法

G为系统开环传递函数,求G为系统开环传递函数,求超调量超调量 sigmasigma ,峰值时间,峰值时间 tptp和调节时间和调节时间 tsts global y tglobal y t sys1=tf(1.25,[1 1 0])sys1=tf(1.25,[1 1 0]) sys=feedback(sys1,1)sys=feedback(sys1,1) [y,t]=step(sys);[y,t]=step(sys); [sigma,tp,ts]=ste(y,t)[sigma,tp,ts]=ste(y,t)

sssG

2

25.1)(

sigma = 20.9121

tp = 3.0920

ts = 4.6380

Page 35: 第五章 时域分析、零极点分析和根轨迹法

5.3 系统时域响应的解析解算法 部分分式展开方法

传递函数 G(s)含有 n 个互异极点,可展开为部分分式:

将其 Laplace逆变换,得输出:n

n

psr

psr

psrsG

2

2

1

1)(

tpn

tptp nererertg 2121)(

Page 36: 第五章 时域分析、零极点分析和根轨迹法

因此,可以通过 G(s)*R(s) 的部分分式展开而求出系统的解析解。 求留数函数 [r,p,k]=residue(num,den) 可以得出各系数。 请注意,此解法得出的是解析解,而不是数值解。

Page 37: 第五章 时域分析、零极点分析和根轨迹法

传递函数 G(s) 的第 j 个极点 Pj 是 m重的,则展开中含有下面各项:

对应的 Laplace逆变换为:

系统有重极点的计算

mj

mj

j

j

j

j

psr

psr

psr

)()(1

21

tpmmjjj

tpmmj

tpj

tpj

j

jjj

etrtrr

etrterer

)( 111

111

Page 38: 第五章 时域分析、零极点分析和根轨迹法

5.4 根轨迹分析法 根轨迹:开环系统的某一参数从零变到无穷大时,闭环系统特征方程的根在 s平面的轨迹。应用MATLAB可以绘制精确的根轨迹图,我们可以采用根轨迹法对控制系统进行设计和校正。 绘制根轨迹图 根轨迹分析 校正装置

Page 39: 第五章 时域分析、零极点分析和根轨迹法

1. 绘制根轨迹图 rlocus() 调用之前必须将特征方程写成下面的形式:

0dennumK1

Page 40: 第五章 时域分析、零极点分析和根轨迹法

rlocus() rlocus(num,den), rlocus(sys) rlocus(num,den,K), rlocus(sys,K) [r,K]=rlocus(num,den), [r,K]=rlocus(sys) r=rlocus(num,den), r=rlocus(sys) r=rlocus(num,den,K), r=rlocus(sys,K)

[r,K]=rlocus(num,den)r=复根向量K= 增益向量 1+K*(num/den)=0

Page 41: 第五章 时域分析、零极点分析和根轨迹法

例 5-5 >> num=[1 1];den=[1 5 6 0];rlocus(num,den)

>> r=rlocus(num,den,10)r = -2.1056 + 2.8714i -2.1056 - 2.8714i -0.7887

K(s+1)s(s+2)

1(s+3)

-R(s) C(s)

0s6s5s

1sK1 23

>> [r,k]=rlocus(num,den)

Page 42: 第五章 时域分析、零极点分析和根轨迹法

2. rlocfind() 了解特定的复根对应的增益 K 的取值 只有运行了 rlocus 函数并得到根轨迹后,才能合法调用 运行 rlocfind 函数后,MATLAB会在根轨迹图上产生‘ +’提示符,通过鼠标将提示符移动到根轨迹相应的位置确定,所选的 K 值就会在命令窗口显示

Page 43: 第五章 时域分析、零极点分析和根轨迹法

selected_point = -0.3212 + 0.0000ik = 2.1281poles = -2.3394 + 1.0735i -2.3394 - 1.0735i -0.3212

例 5-6 特定的根对应的增益 K>> rlocus(num,den)>> [k,poles]=rlocfind(num,den)Select a point in the

graphics window

Page 44: 第五章 时域分析、零极点分析和根轨迹法

计算不同 K 值时的单位阶跃响应 num=[1 1];den=[1 5 6 0];rlocus(num,den)n=0;while n<3figure(1)[k,poles]=rlocfind(num,den)n1=k*num;syso=tf(n1,den)sys=feedback(syso,1)figure(2)step(sys)n=n+1end

系统零点对瞬态响应的作用,减弱了实数极点的影响 ,主导极点为复极点。

Page 45: 第五章 时域分析、零极点分析和根轨迹法

k1=[0:0.2:4.2];k2=[4.2:0.002:4.4];k3=[4.4:0.02:10];k4=[10:5:200];k=[k1 k2 k3 k4];r=rlocus(num,den,k);plot(r,'o')v=[-5 1 -5 5];axis(v)

num=[0 0 1 0.4];den=[1 3.6 0 0];r=rlocus(num,den);plot(r,'o')例 5-7

rlocus(num,den);

Page 46: 第五章 时域分析、零极点分析和根轨迹法

3. sgrid() 或 grid()>> sgrid >>grid 在根轨迹 [GH]平面绘制阻尼比和等固有频率网格, 阻尼比从 0.1 到 1;固有频率从 0 到 10rad/s 。

sgrid(‘new’) :是先清屏,再画格线。 sgrid(z,wn) :则绘制由用户指定的阻尼比矢量 z 、自然振荡频率 wn 的格线。

Page 47: 第五章 时域分析、零极点分析和根轨迹法

例 5-9num=1;den=conv([0.01 1 0],[0.02 1]);rlocus(num,den)sgrid同样可以rlocus(num,den),grid

Page 48: 第五章 时域分析、零极点分析和根轨迹法

4. 基于根轨迹的系统设计工具 rltool rltool(g) g 为系统 , 例如 g=tf(num.den)

图形用户界面系统设计工具 (SISO Design for System FeedbackConfig)

Page 49: 第五章 时域分析、零极点分析和根轨迹法

toolviewer.html

Page 50: 第五章 时域分析、零极点分析和根轨迹法

利用根轨迹设计工具可查看某个 K 值的阶跃响应曲线, BODE图, NYQUIST 图,脉冲响应曲线等 根轨迹表明参数(增益)变化的影响。实际中,只调整增益不能获得所希望的性能。因此必须通过引入适当的校正环节,来改造原来的根轨迹。 增加零极点,对根轨迹的影响,由此构成校正环节。 应用的实质是通过采用校正环节改变根轨迹,从而将一对主导闭环极点配置在需要的位置。

Page 51: 第五章 时域分析、零极点分析和根轨迹法

Anysis,other loop response

Page 52: 第五章 时域分析、零极点分析和根轨迹法

系统性能的分析 稳定性:根轨迹在 s 的左半平面,稳定 稳态误差:由原点的开环极点个数决定 动态性能:运动形式:闭环极点均为实数极点,单调, 闭环极点均为复数极点,振荡超调量:取决于闭环主导极点的衰减率

arccos1 0

j

n

n

2n

1

1

n 1

闭环主导极点

调节时间:取决于最靠近虚轴的闭环复数极点的实部绝对值 或实数极点的模值

nsT

3

Page 53: 第五章 时域分析、零极点分析和根轨迹法

[k,poles]=rlocfind(sys), 可以求得系统所有极点 输入参量可以是 LTI模型对象,函数命令执行后,可以在图形窗口根轨迹图中显示十字形光标,当选择根轨迹上某一点时,其相应的增益由变量 K记录,与此增益相关的所有极点记录在变量 poles中,从显示的所有极点位置判断系统的稳定性。 看个例子:

Page 54: 第五章 时域分析、零极点分析和根轨迹法

例子:已知一个单位负反馈系统开环传递函数为 G(s) ,试在系统闭环的根轨迹图上选择一点,求出该点的增益及系统的闭环极点,并判断在该点系统闭环的稳定性。

num=[1 3];den=conv(conv(conv([1 0],[1 5]),[1 6]),[1 2 3]);sys=tf(num,den);rlocus(sys)[k,poles]=rlocfind(sys)title(' 根轨迹图 ')xlabel(' 实轴 ')ylabel('虚轴 ')

)32)(6)(5()3()( 2

ssssssksG

Page 55: 第五章 时域分析、零极点分析和根轨迹法

selected_point = -5.4325 + 0.8385i k = 45.3550 poles = -5.5915 + 0.8178i -5.5915 - 0.8178i -1.6865 -0.0653 + 1.5881i -0.0653 - 1.5881ik =45.3550 时,根的实部都小于零,稳定.

Page 56: 第五章 时域分析、零极点分析和根轨迹法

原理:类似微分环节 作用:使校正的根轨迹向左移动,增加阻尼或保持阻尼不变,增加无阻尼振荡频率

10

1

1

)(

T

s

Ts

KsG cc

j

0

原理:在 s平面十分接近原点的地方配置,极点更接近原点,类似积分环节 作用:在基本上不改变稳定性的前提下,提高开环增益,以减小稳态误差

1

1

1

)(

T

s

Ts

KsG cc

0

1,1

1

11

)(

2

2

1

1

T

s

Ts

Ts

Ts

KsG ccj

0

串联超前校正

串联滞后校正

串联滞后 - 超前校正原理:综合两者 低频相位滞后,高频相位超前

j

Page 57: 第五章 时域分析、零极点分析和根轨迹法

根轨迹超前校正的解析公式 未校正前传递函数为 G0(s) ,校正器的传递函数:

根据系统性能的要求,确定 Kc 与期望极点 s1在S平面的位置.校正后系统的根轨迹为:

其中 是开环系统在的幅值, 是开环在 S1 的相位角.Kc 已经确定,需要求解 Tz,Tp 以确定.期望极点 S1在平面的位置已经确定.对于复变量可以用模幅式表示为              

11)(

TpsTzsKsG cc

jjGcc eeM

TpsTzsKsGsG G 1

11)()(

1

1110

sjseMs 1

GM G

Page 58: 第五章 时域分析、零极点分析和根轨迹法

将S1代入上面第二个方程,根据实部与虚部分别相等,求解 Tz,Tp, 可得:

GsGc

sGGcsz MMK

MKT

sin

)sin(sin

Gs

sGsGcp M

MKT

sin

)sin(sin

Page 59: 第五章 时域分析、零极点分析和根轨迹法

例子:已知燃油调节控制系统的开环传递函数为:)1.01(25.01(

2)(sss

sGp

%30

sts 8.0

试设计超前校正环节,使其校正后的闭环主导极点满足:(1)阶跃响应的超调量(2)阶跃响应的调节时间(3)系统的单位斜坡响应稳态误差

%10ssve

Page 60: 第五章 时域分析、零极点分析和根轨迹法

解解(1)(1) 求校正增益K求校正增益K c:c:

设校正后系统的传递函数为设校正后系统的传递函数为

根据根据 (( 单位斜坡单位斜坡 v=1)v=1)

可得速度误差系数可得速度误差系数 又根据自控理论又根据自控理论 可得可得           ,           , 取 取 Kc=5.Kc=5.

11

)1.01(25.01(2)()(0

sTsTK

ssssGsG

p

zcp )

%101

vvssv KK

ve

10vK

10)1)(1.01(25.01(

)1(2000

s

p

zcscv sTsss

sTKGsGK)

5cK

Page 61: 第五章 时域分析、零极点分析和根轨迹法

检验原系统的阶跃响应超调量是否满足要求:检验原系统的阶跃响应超调量是否满足要求:

在在 MATLABMATLAB 命令窗口输入:命令窗口输入:n1=400;n1=400;d1=conv(conv([1 0],[1,4]),[1 10]);d1=conv(conv([1 0],[1,4]),[1 10]);sope=tf(n1,d1);sope=tf(n1,d1);sys=feedback(sope,1);sys=feedback(sope,1);step(sys)step(sys)

由曲线知道系统的超调量超过了由曲线知道系统的超调量超过了 50%50% ,,不满足要求,不满足要求,需要校正.需要校正.

Page 62: 第五章 时域分析、零极点分析和根轨迹法

(3)(3)确定极点的位置确定极点的位置 根据超调量求根据超调量求 zeta,zeta,sigma=0.3;sigma=0.3;zeta=((log(1/sigma))^2/((pi)^2+zeta=((log(1/sigma))^2/((pi)^2+

(log(1/sigma))^2))^(1/2)(log(1/sigma))^2))^(1/2)运行得运行得 zeta =0.3579zeta =0.3579取取 zeta=0.358,zeta=0.358, 由由

可得:可得:8.03%)5(

nst

sradn /48.10

在在 MATLABMATLAB 窗口输入以下窗口输入以下语句求系统的主导极点:语句求系统的主导极点:ztea=0.358;wn=10.48;ztea=0.358;wn=10.48;p=[1 2*zeta*wn wn*wn];p=[1 2*zeta*wn wn*wn];roots(p)roots(p)运行后得:运行后得:ans =ans = -3.7503 + 9.7860i-3.7503 + 9.7860i -3.7503 - 9.7860i-3.7503 - 9.7860i即系统主导极点为:即系统主导极点为:9.7860i -3.75032,1 s

Page 63: 第五章 时域分析、零极点分析和根轨迹法

(4)(4) 求校正器的传递函数求校正器的传递函数 根据根轨迹的解析校正法,用以下程序求解传递函数根据根轨迹的解析校正法,用以下程序求解传递函数 ::%% 求解校正器的传递函数求解校正器的传递函数kc=5;kc=5;s_1=-3.7518+9.7854i;s_1=-3.7518+9.7854i;nk1=2;nk1=2;dk1=conv(conv([1 0],[0.25 1]),[0.1 1]);dk1=conv(conv([1 0],[0.25 1]),[0.1 1]);ngv=polyval(nk1,s_1);dgv=polyval(dk1,s_1);ngv=polyval(nk1,s_1);dgv=polyval(dk1,s_1);g=ngv/dgv;zetag=angle(g);zetag_d=zetag*190/pi;g=ngv/dgv;zetag=angle(g);zetag_d=zetag*190/pi;mg=abs(g);ms=abs(s_1);mg=abs(g);ms=abs(s_1);zetas=angle(s_1);zetas_d=zeta*180/pi;zetas=angle(s_1);zetas_d=zeta*180/pi;tz=(sin(zetas)-kc*mg*sin(zetag-zetas))/(kc*mg*ms*sin(zettz=(sin(zetas)-kc*mg*sin(zetag-zetas))/(kc*mg*ms*sin(zet

ag));ag));tp=-(kc*mg*sin(zetas)+sin(zetag+zetas))/(ms*sin(zetag));tp=-(kc*mg*sin(zetas)+sin(zetag+zetas))/(ms*sin(zetag));nk=[tz,1];dk=[tp,1];nk=[tz,1];dk=[tp,1];Gc=tf(nk,dk)Gc=tf(nk,dk)

运行后得校正器传递函数Transfer function:0.2858 s + 1-------------0.02407 s + 1

Page 64: 第五章 时域分析、零极点分析和根轨迹法

检验校正器检验校正器计算校正后系统的超调量,峰值时间,计算校正后系统的超调量,峰值时间,调节时间.程序如下调节时间.程序如下n1=10;n1=10;d1=conv(conv([1 0],[0.25 1]),[0.1 1]);d1=conv(conv([1 0],[0.25 1]),[0.1 1]);s1=tf(n1,d1);s1=tf(n1,d1);Gc=tf([0.2858 1],[0.02407 1]);Gc=tf([0.2858 1],[0.02407 1]);sys=feedback(s1*Gc,1);%sys=feedback(s1*Gc,1);% 校正后系校正后系统统step(sys)step(sys)[y,t]=step(sys);[y,t]=step(sys);[sigma,tp,ts]=ste(y,t)%[sigma,tp,ts]=ste(y,t)% 调用调用 steste 函数函数sigma = 26.9355tp = 0.3532ts = 0.5004

Page 65: 第五章 时域分析、零极点分析和根轨迹法

根轨迹作业( 1)绘制系统的根轨迹,并求使系统稳定 K 值范围。( 2)在稳定范围内,绘图分析不同 K 值对系统性能的影响。( 3)设 K=12,利用根轨迹 GUI设计工具设计一补偿器,使系统有较好的时域响应指标。

)11.0)(12.0)(15.0()15.0()(

sss

sKsG