春MATLAB仿真期末大作业.pdf
MATLABMATLAB仿真仿真期末大作业姓名:班级:学1/7号:指导教师:20122012 春期末大作业春期末大作业题目:题目:设单位负反馈控制系统前向通道传递函数由G1(s)和G2(s)串联,其中:G1(s)KsG2(s)A1(s1)A 表示自己学号最后一位数(可以是零),K 为开环增益。要求:(1)设 K=1 时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间;(2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用 in1 或者 fromworkspace 模块将命令窗口的阶跃响应数据导入 Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在 Simulink 模型窗口绘制阶跃响应曲线,用 out1 或者to workspace 模块将 Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。(3)用编程法或者rltool法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad,开环系统截止频率c 4.4rad/s,相角裕度大于等于45度,幅值裕度大于等于10dB。2/7仿真结果及分析:仿真结果及分析:(1)、(2)、将Simulink模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线通过在Matlab中输入命令:plot(tout,yout,r*-)title(阶跃响应曲线)即可得出系统阶跃响应曲线,如下:求取该控制系统的常用性能指标:超调量、上升时间、调节时间、峰值时间的程序如下:G=zpk(,0,-1,5)。S=feedback(G,1)。3/7C=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)0.98*C)&(y(i)1.02*C)i=i-1。endsetllingtime=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)。4/7phi=(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)。gridgtext(校正前的)。gtext(校正后的)。figure(2)。bode(G,b)。hold on。bode(GGc,r)。gridgtext(校正前的)。gtext(校正后的)。gtext(校正前的)。gtext(校正后的)。figure(3)。nyquist(G,b)。hold on。nyquist(GGc,r)。gridgtext(校正前的)。gtext(校正后的)。绘制校正前后的单位阶跃响应曲线,开环伯德图和开环奈奎斯特曲线:5/76/77/7