首页 理论教育 控制系统频率分析的重要性及方法论

控制系统频率分析的重要性及方法论

时间:2023-06-30 理论教育 版权反馈
【摘要】:Bode图和Nyquist图是系统频率特性的两种重要的图形表示形式,也是对系统进行频率特性分析的重要方法。由于没有明确给出频率ω的范围,MATLAB将在系统频率响应的范围内自动选取ω值绘图。系统频率响应的幅值、相位可在用户指定的频率点处进行评估。nyquist命令还有两种等号左边含有变量的形式或MATLAB将以矩阵形式返回系统的频率特性,矩阵包括re、im和w。

控制系统频率分析的重要性及方法论

Bode图和Nyquist图是系统频率特性的两种重要的图形表示形式,也是对系统进行频率特性分析的重要方法。无论是Bode图还是Nyquist图,都非常适于用计算机进行绘制。MATLAB提供了绘制对数坐标图的Bode函数和绘制系统频率特性极坐标图的Nyquist函数。通过这些函数,不仅可以得到系统的频率特性图,还可以得到系统的幅频特性相频特性、实频特性和虚频特性,从而可以通过计算得到系统的频域特征量。

1.Bode图的绘制

在MATLAB中,bode命令用来计算连续时间线性定常系统的频率响应幅值和相位角

bode命令的各种格式如下:

命令中w表示频率ω。

将上述第一种形式的命令输入计算机之后,MATLAB会在屏幕上绘制出相应系统的Bode图。由于没有明确给出频率ω的范围,MATLAB将在系统频率响应的范围内自动选取ω值绘图。

第二种形式的命令自动生成一行矢量的频率点,但不显示频率特性曲线。

在第三种形式的命令中,由于用在定义的频率范围内,如果比较各种传递函数的频率响应,第三种方式显得更方便一些。

当调用左边参数输入命令

时,则bode命令以矩阵的形式返回系统的频率响应幅值、相位和频率。系统频率响应的幅值、相位可在用户指定的频率点处进行评估。相位角以°为单位表示,但不显示频率特性曲线。幅值用以下命令转化为dB

若具体地给出频率ω的范围,则可使用logspace(d1,d2)或者logspace(d1,d2,n)命令。logspace(d1,d2)产生一个包含50个点的矢量,在10d1和10d2之间的空间上进行对数平分。也就是说,为了在0.1 rad/s~100 rad/s之间产生50个点,可输入命令

logspace(d1,d2,n)产生n个点,在10d1和10d2之间进行对数平分。比如,为了在1 rad/s~1 000 rad/s之间产生100个点,可输入命令

有了幅值(单位:dB)、相位和ω这些数据就可以利用MATLAB的下列绘图命令在同一个窗口上同时绘制出系统的Bode图。

如果只想绘制出系统的Bode图,而对获得幅值和相位的具体数值并不感兴趣,则可采用如下简单的调用格式

【例4-12】对于下列系统传递函数

下列MATLAB程序将给出该系统对应的Bode图,其Bode图如图4-56所示。

【程序】

图4-56 G(s)=的Bode图

2.Nyquist图的绘制(www.xing528.com)

控制系统的Nyquist图既可用于判别闭环系统的稳定性,也能确定系统的相对稳定性。由于Nyquist图的绘制工作量很大,因此在分析时一般只能画出它的示意图。但如用MATLAB去绘制,则不仅快捷方便,所得的图形亦较精确。

如果已知系统的传递函数,则应用MATLAB的命令

就能在屏幕上自动生成系统的Nyquist图。

当用户需要指定的频率矢量ω时,可用命令nyquist(num,den,w),ω的单位为s-1,系统的频率响应就是在那些指定的频率点上计算得到的。

nyquist命令还有两种等号左边含有变量的形式

MATLAB将以矩阵形式返回系统的频率特性,矩阵包括re、im和w。屏幕上不显示图形,因为MATLAB仅做了系统频率特性的实部、虚部的计算与排列工作。矩阵的re和im包含系统频率特性的实部和虚部,由矢量ω中指定的频率点评估。

如果要产生Nyquist图,则需加命令plot命令根据已算好的实部和虚部数值,画出系统的Nyquist图。

由于用nyquist命令绘图时,[GH]平面实轴和虚轴的范围是MATLAB自动确定的。在绘制Nyquist图时,若要自行确定实轴和虚轴的范围,则需要用下面的命令

另外,也可以将以上两行命令合并为一个

因为v命令属高层图形命令,axis(v)不能更改已设定的坐标。若要更改已设定的坐标范围,只要取出re和im的数据,并调用plot、v和axis(v)这3条命令,就能实现设置新的坐标范围。

用MATLAB绘制Nyquist图时,坐标范围的选定是很重要的,因为它涉及图形的质量。若仅需要画出ω由0→∞部分的Nyquist图,则只要把plot命令括号中的函数内容稍做修改,使之变为

值得注意的是,由于nyquist命令自动生成的坐标尺度固定不变,用nyquist函数可能会生成异常的Nyquist图,也可能会丢失一些重要的信息。在这种情况下,为了重点关注Nyquist图在(-1,j0)点附近的形状,着重分析系统的稳定性,需要首先调用axis函数,自行定义坐标轴的显示尺度,以提高图形的分辨率;而在生成Nyquist图时,需要左边带有参数说明的完整的形式调用nyquist函数,然后,调用绘图plot命令绘制更细致的Nyquist图。

【例4-13】对于下列系统传递函数

下列MATLAB程序将给出该系统对应的Nyquist图,如图4-57所示。

图4-57 G(s)=的Nyquist图

【程序】

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈