《MATLAB语言学习知识与控制系统仿真标准参考答案第6章.doc》由会员分享,可在线阅读,更多相关《MATLAB语言学习知识与控制系统仿真标准参考答案第6章.doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-6.4 控制系统频域分析MATLAB仿真实训6.4.1实训目的 1. 学会利用MATLAB绘制开环系统的伯德图;2. 学会利用MATLAB绘制开环系统的极坐标图;3. 掌握通过编程或相关命令求取系统稳定裕度的方法;4. 通过仿真进一步理解掌握系统频域分析的有关知识。6.4.2实训内容1.已知单位负反馈系统的开环传递函数为 要求编程绘制时的极坐标图,确定曲线与负实轴的交点坐标及频率值;n=50;d=conv(0.1,1,conv(0.2,1,0.5,1);sys=tf(n,d);nyquist(sys)曲线与负实轴的交点坐标为-3.76;曲线与负实轴的交点频率值9.2;2.绘制下列系统的伯德图
2、,并要求在图上显示出幅值裕度、相角裕度等信息。(1) n=2.6; d=conv(2,1,8,1); sys=tf(n,d) Transfer function: 2.6-16 s2 + 10 s + 1 margin(sys)从图上信息可知,幅值裕度为无穷,相角裕度为88.2度。(2) n=10; d=conv(1,0,conv(1,1,10,1); sys=tf(n,d) Transfer function: 10-10 s3 + 11 s2 + s margin(sys)由图上信息可知,幅值裕度为-19.2dB,相角裕度为-34.3度。(3)从图上信息可知,幅值裕度为无穷,相角裕度为13
3、.2度。(4) n=conv(10,0.0025,0.1,1); d=conv(1,0,conv(1,1,0.1,1); sys=tf(n,d) Transfer function: 0.025 s2 + s + 10-0.1 s3 + 1.1 s2 + s margin(sys)从图上信息可知,幅值裕度为无穷,相角裕度为18.5度。3.已知系统开环传递函数(1) 试编程绘制系统的BODE图; n=3; d=conv(1,0,2,1); sys=tf(n,d) Transfer function: 3-2 s2 + s bode(sys)(2)编写程序,根据程序结果完成下表;0.10.20.3
4、0.40.50.60.70.80.91.029.4213.938.575.864.243.202.491.991.621.34-101.31-111.80-120.96-128.66-135.00-140.19-144.46-147.99-150.95-153.43 n=3; d=conv(1,0,2,1); sys=tf(n,d) Transfer function: 3-2 s2 + s m,p=bode(sys,0.1:0.1:1.0)m(:,:,1) = 29.42m(:,:,2) = 13.93m(:,:,3) = 8.57m(:,:,4) = 5.86m(:,:,5) = 4.24
5、m(:,:,6) = 3.20m(:,:,7) = 2.49m(:,:,8) = 1.99m(:,:,9) = 1.62m(:,:,10) = 1.34p(:,:,1) = -101.31p(:,:,2) = -111.80p(:,:,3) = -120.96p(:,:,4) = -128.66p(:,:,5) = -135.00p(:,:,6) = -140.19p(:,:,7) = -144.46p(:,:,8) = -147.99p(:,:,9) = -150.95p(:,:,10) = -153.434. 已知系统开环传递函数试利用bode(sys)命令绘制系统的伯德图(要求带网格线)
6、,并通过鼠标在仿真曲线上点击、滑动,在图上找出相角为时所对应的频率值以及该频率值所对应的分贝数n=1,1;d=conv(1,0,conv(0.5,1,0.1,0.25,1);sys=tf(n,d);bode(sys);grid;图上相角为时所对应的频率值;该频率值所对应的分贝数;5.已知某系统如图6-14所示图6-14200K100K-+-+50K200K500K-+200K(1) 求取系统的开环传递函数并绘制开环传递函数的伯德图。解:图6-14中的中间运放(红色虚框内)的传递函数为:图6-14中的右侧运放(蓝色虚框内)的传递函数为:图6-14系统的开环传递函数为:仿真程序为:n=2;d=co
7、nv(1,0,0.1,1);syso=tf(n,d);bode(syso)(2) 求取系统的闭环传递函数并绘制闭环传递函数的极坐标图,并在图上读取与虚轴交点所对应的频率值。n=2;d=conv(1,0,0.1,1);nc,dc=cloop(n,d);sysc=tf(nc,dc);nyquist(sysc);与虚轴交点所对应的频率值为4.5。6.已知典型二阶系统频域与时域指标间的关系截止频率相角裕量带宽频率假设某典型二阶系统,阻尼系数,设增量为0.01,试分别绘制截止频率与关系曲线、相角裕量与关系曲线、带宽频率与关系曲线。z=0:0.01:1;wn=10;wc=wn*sqrt(sqrt(1+4*
8、z.4)-2*z.2);gama=atan(2*z./ sqrt(sqrt(1+4*z.4)-2*z.2);wb=wn*sqrt(1-2*z.2)+sqrt(2-4*z.2+4*z.4);subplot(3,1,1);plot(z,wc);ylabel(截止频率);title(截止频率与阻尼比关系曲线);grid;subplot(3,1,2);plot(z,gama);ylabel(相角裕量);title(相角裕量与阻尼比关系曲线);grid;subplot(3,1,3);plot(z,wb);ylabel(带宽频率);title(带宽频率与阻尼比关系曲线);grid;7.给定系统求系统的幅值
9、裕量和相角裕量,并画出伯德图。A=0,1,0,0;0,0,1,0;0,0,0,1;-62.5,-213.8,-20.42,-54;B=0;0;0;1;C=1562,1875,0,0;D=0;sys=ss(A,B,C,D);margin(sys)8.已知系统的开环传递函数为绘制系统的Nyquist曲线,并判别闭环系统的稳定性。n=20;d=conv(1,6,1,-3);sys=tf(n,d);nyquist(sys);grid;根据奈奎斯特稳定性判据:对于开环稳定的系统,闭环系统稳定的充分必要条件是开环系统的奈氏曲线不包围点。反之,则闭环系统是不稳定的。对于开环不稳定的系统,有个开环极点位于右半
10、平面,则闭环系统稳定的充分必要条件是当: 变化时,开环系统的奈氏曲线逆时针包围点次。结合本题:本题开环不稳定系统,有1个开环极点位于右半平面,则闭环系统稳定的充分必要条件是当: 变化时,开环系统的奈氏曲线逆时针包围点1次。由仿真结果知开环系统的奈氏曲线逆时针包围点1次。所以闭环系统是稳定的。9已知单位负反馈系统的开环传递函数为绘制系统的Nyquist曲线,并判别闭环系统的稳定性。 n=1; d=conv(1,0,conv(1,1,0.1,1); sys=tf(n,d) Transfer function: 1-0.1 s3 + 1.1 s2 + s nyquist(sys)根据奈奎斯特稳定性判
11、据:对于开环稳定的系统,闭环系统稳定的充分必要条件是开环系统的奈氏曲线不包围点。反之,则闭环系统是不稳定的。对于开环不稳定的系统,有个开环极点位于右半平面,则闭环系统稳定的充分必要条件是当: 变化时,开环系统的奈氏曲线逆时针包围点次。结合本题:对于开环稳定的系统,闭环系统稳定的充分必要条件是开环系统的奈氏曲线不包围点。由仿真结果知开环系统的奈氏曲线不包围点。所以闭环系统是稳定的。10. 已知系统如图6-15所示,试按照下表位置关系绘制对应曲线,并求取系统的特征根和相角裕度。图6-15200K200K-+-+100K200K250K-+200K1#绘图区域:输入信号曲线2#绘图区域:输出信号曲线
12、3#绘图区域:输入信号曲线4#绘图区域:输出信号曲线5#绘图区域:输入信号曲线6#绘图区域:输出信号曲线7#绘图区域:开环系统伯德图8#绘图区域:开环系统极坐标图9#绘图区域:系统单位阶跃响应曲线10#绘图区域:系统单位脉冲响应曲线(1)(2)(3)解:先求出系统的开环传递函数: no=20; do=1,5,0; nc,dc=cloop(no,do); sys=cloop(no,do)sys = 0 0 20 sys=tf(nc,dc) Transfer function: 20-s2 + 5 s + 20 t=0:0.01:20; u1=cos(5*t+pi/4); u2=cos(10*t+
13、pi/4); u3=cos(15*t+pi/4); syso=tf(no,do); subplot(5,2,1);plot(t,u1); subplot(5,2,2);lsim(sys,u1,t); subplot(5,2,3);plot(t,u2); subplot(5,2,4);lsim(sys,u2,t); subplot(5,2,5);plot(t,u3); subplot(5,2,6);lsim(sys,u3,t); subplot(5,2,7);bode(syso); subplot(5,2,8);nyquist(syso); subplot(5,2,9);step(sys); subplot(5,2,10);impulse(sys);