12春MATLAB仿真期末大作业

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

12春MATLAB仿真期末大作业

MATLAB仿真

期末大作业

姓名:班级:学号:指导教师:

2012春期末大作业

题目:设单位负反馈控制系统前向通道传递函数由)()(21s G s G 和串联,其中:

)

1(1)()(21++==s A s G s K

s G A 表示自己学号最后一位数(可以是零),K 为开环增益。要求:

(1)设K=1时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间;

(2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用in1或者from workspace 模块将命令窗口的阶跃响应数据导入Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在Simulink 模型窗口绘制阶跃响应曲线,用out1或者to workspace 模块将Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。

(3)用编程法或者rltool 法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad ,开环系统截止频率s rad c /4.4''≥ω,相角裕度大于等于45度,幅值裕度大于等于10dB 。

C=dcgain(S);

[y,t]=step(S);

plot(t,y);

[Y,k]=max(y);

timetopeak=t(k);

percentovershoot=100*(Y-C)/C;

n=1;

while y(n)

n=n+1;

end

ristime=t(n);

i=length(t);

while(y(i)>0.98*C)&(y(i)<1.02*C)

i=i-1;

end

setllingtime=t(i);

运行程序得到如下结果:

Zero/pole/gain:

5

-------

s (s+1)

C=1(系统终值)

timetopeak=1.4365(峰值时间)

percentovershoot=8.0778(超调量)ristime=0.8978(上升时间)setllingtime=7.5415(调节时间)

(3)建立超前校正子函数如下:function Gc=cqjz_frequency(G,kc,yPm) G=tf(G);

[mag,pha,w]=bode(G*kc);

Mag=20*log10(mag);

[Gm,Pm.Wcg,Wcp]=margin(G*kc);

phi=(yPm-getfield(Pm,'Wcg'))*pi/180;

alpha=(1+sin(phi))/(1-sin(phi));

Mn=-10*log(alpha);

Wcgn=spline(Mag,w,Mn);

T=1/Wcgn/sqrt(alpha);

Tz=alpha*T;

Gc=tf([Tz,1],[T,1]);

主函数如下:

num=1;

den=conv([1,0],conv([0.3,1],[0.1,1]));

G=tf(num,den);

kc=6;yPm=45+6;

Gc=cqjz_frequency(G,kc,yPm);

G=G*kc;

GGc=G*Gc;

Gy_close=feedback(G,1);

Gx_close=feedback(GGc,1);

figure(1);

step(Gx_close,'b');hold on;

step(Gy_close,'r');grid

gtext('校正前的');gtext('校正后的');

figure(2);

bode(G,'b');

hold on;

bode(GGc,'r');grid

gtext('校正前的');gtext('校正后的');gtext('校正前的');gtext('校正后的'); figure(3);

nyquist(G,'b');

hold on;

nyquist(GGc,'r');grid

gtext('校正前的');gtext('校正后的');

绘制校正前后的单位阶跃响应曲线,开环伯德图和开环奈奎斯特曲线:

相关文档
最新文档