物联网控制原理与技术–基于Matlab/利用MATLAB进行频域分析(伯德图)的应用(超详细/设计/实验/作业/练习)

目录

课程名:物联网控制原理与技术

内容/作用:设计/实验/作业/练习

学习:利用MATLAB进行频域分析(伯德图)

一、前言

(1)熟练掌握运用MATLAB命令绘制控制系统伯德图的方法;
(2)了解系统伯德图的一般规律及其频域指标的获取方法;
(3)熟练掌握运用伯德图分析控制系统稳定性的方法;

二、环境与设备

1、Windows 10
2、Matlab 2012a

三、原理

1. 用MATLAB作伯德图
控制系统工具箱里提供的bode()函数可以直接求取、绘制给定线性系统的伯德图。
当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角将返回到相应的矩阵中,这时屏幕上不显示频率响应图。命令的调用格式为:
[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=20﹡log10(mag)
绘图时的横坐标是以对数分度的。为了指定频率的范围,可采用以下命令格式:
logspace(d1,d2)//(起始值,终止值)
logspace(d1,d2,n)
第一种格式是在指定频率范围内按对数距离分成50等分的,即在两个十进制数 和 之间产生一个由50个点组成的分量,向量中的点数50是一个默认值。例如要在 弧度/秒与 弧度/秒之间的频区画伯德图,则输入命令时, , 在此频区自动按对数距离等分成50个频率点,返回到工作空间中,即
w=logspace(-1,2)
要对计算点数进行人工设定,则采用第二种格式。例如,要在 与 之间产生100个对数等分点,可输入以下命令:
w=logspace(0,3,100)
在画伯德图时,利用以上各式产生的频率向量w,可以很方便地画出希望频率的伯德图。
由于伯德图是半对数坐标图且幅频图和相频图要同时在一个绘图窗口中绘制,因此,要用到半对数坐标绘图函数和子图命令。

2. 对数坐标绘图函数
利用工作空间中的向量x,y绘图,要调用plot函数,若要绘制对数或半对数坐标图,只需要用相应函数名取代plot即可,其余参数应用与plot完全一致。命令公式有:
semilogx(x,y,s); 只对x轴进行对数变换,y轴仍为线性坐标。
semilogy(x,y,s); y轴取对数变换的半对数坐标图。
Loglog(x,y,s); 全对数坐标图,即x轴和y 轴均取对数变换。

3. 子图命令
MATLAB允许将一个图形窗口分成多个子窗口,分别显示多个图形,这就要用到subplot()函数,其调用格式为:
subplot(m,n,k)
该函数将把一个图形窗口分割成m×n个子绘图区域,m为行数,n为列数,用户可以通过参数k调用各子绘图区域进行操作,子图区域编号为按行从左至右编号。对一个子图进行的图形设置不会影响到其它子图,而且允许各子图具有不同的坐标系。例如,subplot(4,3,6)则表示将窗口分割成4×3个部分。在第6部分上绘制图形。 MATLAB最多允许9×9的分割。

如果希望显示的频率范围窄一点,则程序修改为:



【例2】已知控制系统开环传递函数:
,绘制其Bode图并确定谐振峰值Mr和谐振频率wr。
绘制Bode图(略),插值函数spline(m, w, mr)求谐振频率

4. 用MATLEB求取稳定裕量
同前面介绍的求时域响应性能指标类似,由MATLAB里bode()函数绘制的伯德图也可以采用游动鼠标法求取系统的幅值裕量和相位裕量。
此外,控制系统工具箱中提供了margin()函数来求取给定线性系统幅值裕量和相位裕量,该函数可以由下面格式来调用:
margin(num , den);给定开环系统的数学模型,作Bode图,并在图上方标注幅值裕度Gm和对应频率ωg,相位裕度Pm和对应的频率ωc。
[Gm, Pm, Wcg, Wcp]=margin(G);
可以看出,幅值裕量与相位裕量可以由LTI对象G求出,返回的变量对(Gm, Wcg)为幅值裕量的值与相应的相角穿越频率,而(Pm, Wcp)则为相位裕量的值与相应的幅值穿越频率。若得出的裕量为无穷大,则其值为Inf,这时相应的频率值为NaN(表示非数值),Inf和NaN均为MATLAB软件保留的常数。


(Pm)相角裕度大于零,系统是稳定的,反之不稳定。
(Gm)幅值裕度大于1,系统是稳定的,反之不稳定。

如果已知系统的频率响应数据,我们还可以由下面的格式调用此函数。
[Gm, Pm, Wcg, Wcp]=margin(mag, phase, w);
其中(mag, phase, w)分别为频率响应的幅值、相位与频率向量。

画出的图形如图3 所示。由奈氏曲线可以看出,奈氏曲线并不包围(-1,j0)点,故闭环系统是稳定的。由于幅值裕量虽然大于1,但很接近1,故奈氏曲线与实轴的交点离临界点(-1,j0)很近,且相位裕量也只有7.1578o,所以系统尽管稳定,但其性能不会太好。观察闭环阶跃响应图,可以看到波形有较强的振荡。
如果系统的相角裕量γ>45o,我们一般称该系统有较好的相角裕量。

四、内容


稳定性分析:
由图中可以看出,增益裕度为0,频率为31.6,是闭环稳定。相位裕度:16.1,延迟裕度:0.867。

五、结果与分析

(1)熟练使用MATLAB绘制控制系统伯德图的方法,掌握函数bode ( )的两种调用格式,并灵活运用。
(2)熟练应用伯德判据判断系统的稳定性。
(Pm)相角裕度大于零,系统是稳定的,反之不稳定。
(Gm)幅值裕度大于1,系统是稳定的,反之不稳定。

通过本实验的学习,熟练掌握了运用MATLAB命令绘制控制系统伯德图的方法,了解了系统伯德图的一般规律及其频域指标的获取方法,熟练掌握了运用伯德图分析控制系统稳定性的方法,控制系统工具箱里提供的bode()函数可以直接求取、绘制给定线性系统的伯德图。当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角将返回到相应的矩阵中,这时屏幕上不显示频率响应图。受益匪浅。

版权声明:本文为博主作者:程序员老茶原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/qq_53431712/article/details/129147310

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2024年1月11日
下一篇 2024年1月11日

相关推荐