MATLAB频域分析,奈氏图、伯德图、对数幅相图绘制

绘图简介

在复平面上表示传递函数的幅值相位角随频率的改变而改变的图就是nyquist图(奈奎斯特图,奈氏图),表示控制系统的幅相频率特性,横坐标U(real number)纵坐标jV(imaginary number);伯德图(bode)利用对数表示系统的幅频、相频特性,它分为两个图,一个是对数幅频图、一个是相频图,横坐标均为w,纵坐标一个为L(w),一个为\varphi (w)L(\omega )=20lgA(\omega ),\varphi (w)为相位角;而对数幅相图(nichols plot)则是将幅频和相频在一张图上表示出来了,横坐标是相位角fi(w)、纵坐标是增益K、然后图里面有不同的幅值线(幅值单位dB),具体参见这里。

这里的传递函数以惯性环节为例,也即\frac{1}{Ts+1},T取0.01。

奈氏图

分子分母的系数分别存入两个1维矩阵,这里我利用了sys=tf()构造了系统sys。tf转换效果就是构造一些系统,比如你输入两个一维矩阵,那么就可以构造一个分式。具体见这里。nyquist(sys)直接把一个传递函数输入,然后绘出奈氏图[re,im,w]=nyquist(sys)则是根据需要返回传递函数将s替换成jw后的实部、虚部,还有相应的频率。

num=[1];
den=[0.01 1];
sys=tf(num,den);
figure();
nyquist(sys);
[re,im,w]=nyquist(sys);
grid on

效果图,图例看到不清楚,惯性环节的奈氏图是一个圆过(0,0)和(1,0):

MATLAB频域分析,奈氏图、伯德图、对数幅相图绘制_第1张图片

伯德图

和奈氏图的解释大同小异,函数是bode()。

num=[1];
den=[0.01 1];
sys=tf(num,den);
figure();
bode(sys);
[reb,imb,wb]=bode(sys);
grid on

效果图:

MATLAB频域分析,奈氏图、伯德图、对数幅相图绘制_第2张图片

对数幅相图

解释同奈氏图,函数是nichols()。

num=[1];
den=[0.01 1];
sys=tf(num,den);
figure();
nichols(sys);
[reni,imni,wni]=nichols(sys);
grid on

效果图:

MATLAB频域分析,奈氏图、伯德图、对数幅相图绘制_第3张图片

你可能感兴趣的:(Automatic,control,信号处理趣学,MATLAB)