北京科技大学控制实验报.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《北京科技大学控制实验报.pdf》由会员分享,可在线阅读,更多相关《北京科技大学控制实验报.pdf(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.实验四 线性系统的频域分析 一.实验目的(1)熟练掌握运用 MATLAB 命令绘制控制系统伯德图的方法;(2)了解系统伯德图的一般规律及其频域指标的获取方法;(3)熟练掌握运用伯德图分析控制系统稳定性的方法;(4)设计超前校正环节并绘制 Bode 图;(5)设计滞后校正环节并绘制 Bode 图。二.实验原理及内容 1、频率特性函数)(jG。设线性系统传递函数为:nnnnmmmmasasasabsbsbsbsG 1101110)(则频率特性函数为:nnnnmmmmajajajabjbjbjbjwG )()()()()()()(1101110 由下面的 MATLAB 语句可直接求出 G(jw)。
2、i=sqrt(-1)%求取-1 的平方根 GW=polyval(num,i*w)./polyval(den,i*w)其中(num,den)为系统的传递函数模型。而 w 为频率点构成的向量,点右除(./)运算符表示操作元素点对点的运算。从数值运算的角度来看,上述算法在系统的极点附近精度不会很理想,甚至出现无穷大值,运算结果是一系列复数返回到变量 GW 中。2、用 MATLAB 作伯德图 控制系统工具箱里提供的 bode()函数可以直接求取、绘制给定线性系统的伯德图。当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角
3、将返回到相应的矩阵中,这时屏幕上不显示频率响应图。命令的调用格式为:mag,phase,w=bode(num,den)mag,phase,w=bode(num,den,w)或 mag,phase,w=bode(G)mag,phase,w=bode(G,w)矩阵 mag、phase 包含系统频率响应的幅值和相角,这些幅值和相角是在用户指定的频率点上计算得到的。用户如果不指定频率 w,MATLAB 会自动产生 w 向量,并根据 w 向量上各点计算幅值和相角。这时的相角是以度来表示的,幅值为增益值,在画伯德图时要转换成分贝值,因为分贝是作幅频图时常用单位。可以由以下命令把幅值转变成分贝:magdb=
4、20log10(mag)绘图时的横坐标是以对数分度的。为了指定频率的范围,可采用以下命令格式:logspace(d1,d2).或 logspace(d1,d2,n)第一种格式是在指定频率范围内按对数距离分成 50 等分的,即在两个十进制数1101d和 2102d之间产生一个由 50 个点组成的分量,向量中的点数 50 是一个默认值。例如要在1.01弧度/秒与1002弧度/秒之间的频区画伯德图,则输入命令时,)(log1101d,)(log2102d在此频区自动按对数距离等分成 50 个频率点,返回到工作空间中,即 w=logspace(-1,2)要对计算点数进行人工设定,则采用第二种格式。例如
5、,要在11与10002之间产生 100 个对数等分点,可输入以下命令:w=logspace(0,3,100)在画伯德图时,利用以上各式产生的频率向量 w,可以很方便地画出希望频率的伯德图。由于伯德图是半对数坐标图且幅频图和相频图要同时在一个绘图窗口中绘制,因此,要用到半对数坐标绘图函数和子图命令。(1)对数坐标绘图函数 利用工作空间中的向量 x,y 绘图,要调用 plot 函数,若要绘制对数或半对数坐标图,只需要用相应函数名取代 plot 即可,其余参数应用与 plot 完全一致。命令公式有:semilogx(x,y,s);只对 x 轴进行对数变换,y 轴仍为线性坐标。semilogy(x,y
6、,s);y 轴取对数变换的半对数坐标图。Loglog(x,y,s);全对数坐标图,即 x 轴和 y 轴均取对数变换。(2)子图命令 MATLAB 允许将一个图形窗口分成多个子窗口,分别显示多个图形,这就要用到subplot()函数,其调用格式为:subplot(m,n,k)该函数将把一个图形窗口分割成 mn 个子绘图区域,m 为行数,n 为列数,用户可以通过参数 k 调用各子绘图区域进行操作,子图区域编号为按行从左至右编号。对一个子图进行的图形设置不会影响到其它子图,而且允许各子图具有不同的坐标系。例如,subplot(4,3,6)则表示将窗口分割成 43 个部分。在第 6 部分上绘制图形。M
7、ATLAB 最多允许 99的分割。【范例 6-3】给定单位负反馈系统的开环传递函数为:)7()1(10)(ssssG,试画出伯德图。利用以下 MATLAB 程序,可以直接在屏幕上绘出伯德图如图 6-2。num=10*1,1;den=1,7,0;bode(num,den)grid title(Bode Diagram of G(s)=10*(s+1)/s(s+7)该程序绘图时的频率范围是自动确定的,从 0.01 弧度/秒到 30 弧度/秒,且幅值取分贝值,轴取对数,图形分成 2 个子图,均是自动完成的。.如果希望显示的频率范围窄一点,则程序修改为:num=10*1,1;den=1,7,0;w=l
8、ogspace(-1,2,50);%从 0.1 至 100,取 50 个点。mag,phase,w=bode(num,den,w);magdB=20*log10(mag)%增益值转化为分贝值。%第一个图画伯德图幅频部分。subplot(2,1,1);semilogx(w,magdB,-r)%用红线画 grid title(Bode Diagram of G(s)=10*(s+1)/s(s+7)xlabel(Frequency(rad/s)ylabel(Gain(dB)%第二个图画伯德图相频部分。subplot(2,1,2);semilogx(w,phase,-r);grid xlabel(Fr
9、equency(rad/s)ylabel(Phase(deg)图 6-2 自动产生频率点画出的伯德图.修改程序后画出的伯德图如 6-3 所示。【范例 6-4】已知控制系统开环传递函数:210()()210G s H sss,绘制其 Bode 图并确定谐振峰值 Mr 和谐振频率r。绘制 Bode 图(略),插值函数 spline(m,w,mr)求谐振频率 5、用 MATLAB 求取稳定裕量 同前面介绍的求时域响应性能指标类似,由 MATLAB 里 bode()函数绘制的伯德图也可以采用游动鼠标法求取系统的幅值裕量和相位裕量。此外,控制系统工具箱中提供了 margin()函数来求取给定线性系统幅值
10、裕量和相位裕量,该函数可以由下面格式来调用:margin(num,den);给定开环系统的数学模型,作 Bode 图,并在图上方标注幅值裕度Gm 和对应频率g,相位裕度 Pm 和对应的频率c。Gm,Pm,Wcg,Wcp=margin(G);可以看出,幅值裕量与相位裕量可以由 LTI 对象 G 求出,返回的变量对(Gm,Wcg)为幅值裕量的值与相应的相角穿越频率,而(Pm,Wcp)则为相位裕量的值与相应的幅值穿 图 6-3 用户指定的频率点画出的伯德图.越频率。若得出的裕量为无穷大,则其值为 Inf,这时相应的频率值为 NaN(表示非数值),Inf 和 NaN 均为 MATLAB 软件保留的常数
11、。如果已知系统的频率响应数据,我们还可以由下面的格式调用此函数。Gm,Pm,Wcg,Wcp=margin(mag,phase,w);其中(mag,phase,w)分别为频率响应的幅值、相位与频率向量。【范例 6-6】考虑一个新的系统模型,开环传递函数为:)9)(1()5(100)(22sssssG,由下面 MATLAB 语句可直接求出系统的幅值裕量和相位裕量:G=tf(100*conv(1,5,1,5),conv(1,1,1,1,9);Gm,Pm,Wcg,Wcp=margin(G)结果显示 Gm=Pm=Inf 85.4365 Wcg=Wcp=NaN 100.3285 再输入命令 G_c=fee
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京科技大学 控制 实验
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内