3.频域分析法

洛伦茨曲线 Python 洛伦茨曲线是什么意思_得到频域波形的坐标数组


1.频率响应曲线

频率特性曲线包括三种常用形式:Nyquist曲线(极坐标曲线),Bode图(对数坐标图)和Nichols图(对数幅相图)。

(1)Nyquist曲线

极坐标图,又称奈奎斯特图。  

洛伦茨曲线 Python 洛伦茨曲线是什么意思_洛伦茨曲线 Python_02


为参变量,当

从0到+∞ 时,G(j

) 在复平面上的轨迹,就是频率特性的极坐标图,称为Nyquist图。

洛伦茨曲线 Python 洛伦茨曲线是什么意思_洛伦茨曲线 Python_03

MATLAB提供nyquist函数,用来绘制nyquist曲线,其频率范围由函数自动选取,且在响应自动变化的位置会采用更多的取样点。 例7:已知一个典型的一阶环节传递函数为


洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_04

试绘制该一阶环节的nyquist曲线

洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统的simulink仿真_05

箭头表示w变化方向。 (2)Bode图 包含对数幅频特性曲线和对数相频特性曲线的一组曲线,其横坐标表示频率 

 ,并按对数分布,纵坐标分别用对数幅频分贝 

 和相角角度 

 分别表述幅频和相频


洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统simulink仿真_06

洛伦茨曲线 Python 洛伦茨曲线是什么意思_洛伦茨曲线 Python_07

例8:已知一个典型的二阶环节诶传递函数为

洛伦茨曲线 Python 洛伦茨曲线是什么意思_洛伦茨曲线 Python_08

试绘制二阶环节的Bode图

洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统的simulink仿真_09

(3)Nichols图


洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统的simulink仿真_10

例8:已知一个高阶传递函数为

洛伦茨曲线 Python 洛伦茨曲线是什么意思_得到频域波形的坐标数组_11

试绘制Nichols图。

clear allnum=[0.1 0.3 0.11 1.7];den=[2.01 1.9 3.12 1];sys=tf(num,den);nichols(sys)grid on

2.频率性能指标

常用频域性能指标有下面几种:

(1)谐振峰值 

 与闭环系统的阻尼比是负相关的,即阻尼比越小,峰值越大。因此峰值的大小是对系统damping的一种指标。(2)谐振频率 

 是闭环系统瞬态过程响应速度的指标,当阻尼比较小时,谐振频率与有阻尼共振频率,以及自然频率都是近似相等的,所以对应的时域的上升时间rise time就与谐振频率负相关。

(3)频带: 指幅值衰减至初始值的0.707时对应的频率。

(4)零频A(0):表示w=0时的幅值,表示系统阶跃响应的终值,反应系统稳态精度,越接近于1,精度越高。

例9:已知二阶系统的传递函数为:

洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_12

num=2;den=[1 2 3];sys=tf(num,den);[mag,pha,w]=bode(sys); %获得bode图幅值,相角,角频率点向量[A,i]=max(mag(1,:));  %获得峰值Mr=20*log10(A)  %计算谐振幅值Wr=w(i,1)    %计算谐振频率

结果是:

Mr =   -3.0103Wr =     1

从上述结果可看出系统的谐振峰值Mr=-3.0103dB,谐振频率为Wr=1rad/s。

事实上还可以从品旅途上直接通过单击代表谐振峰值的圆点查看信息。


洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_13

3.稳定性分析

(1)奈氏稳定判据


洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_14

洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_15

洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_16

例11:已知单位负反馈系统开环传递函数为

洛伦茨曲线 Python 洛伦茨曲线是什么意思_得到频域波形的坐标数组_17

试绘制系统奈奎斯特曲线,并利用它判断闭环系统的稳定性

洛伦茨曲线 Python 洛伦茨曲线是什么意思_传递函数_18

奈奎斯特曲线包含(-1,j0)0次,所以系统不稳定。

(2)稳定裕度

洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统simulink仿真_19

洛伦茨曲线 Python 洛伦茨曲线是什么意思_得到频域波形的坐标数组_20

洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统的simulink仿真_21

MATLAB提供margin函数,用于计算系统的稳定裕度 例12:已知一高阶系统的开环传递函数为

洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统的simulink仿真_22

使计算增益裕度和相角裕度

num=2*[0.141 1];den=conv([1 0],conv([0.29 1],[0.33 1]));sys=tf(num,den);[gm,pm,weg,wep]=margin(sys)margin(sys)

得到

margingm =   %增益裕度   37.4616pm =    %相角裕度   49.3098weg =    %相角交界频率   10.9927wep =   %截止频率    1.6328

图如下

洛伦茨曲线 Python 洛伦茨曲线是什么意思_lorenz系统的simulink仿真_23