自动控制网移动版

自动控制网 > 基础知识 > 计算机仿真控制系统 >

制系统的频域分析

一、频域分析的一般方法

    频率响应是指系统对正弦输入信号的稳态响应,从频率响应中可以得出带宽增益转折频率闭环稳定性等系统特征。

    频率特性是指系统在正弦信号作用下,稳态输出与输入之比对频率的关系特性。频率特性函数与传递函数有直接的关系,记为:

    

    频域分析法是应用频率特性研究控制系统的一种典型方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,对于诸如防止结构谐振抑制噪声改善系统稳定性和暂态性能等问题,都可以从系统的频率特性上明确地看出其物理实质和解决途经。通常将频率特性用曲线的形式进行表示,包括对数频率特性曲线和幅相频率特性曲线简称幅相曲线,MATLAB提供了绘制这两种曲线的函数。

    求取系统对数频率特性图(波特图):bode()

    求取系统奈奎斯特图(幅相曲线图或极坐标图):nyquist()

    (一)对数频率特性图(波特图)

    对数频率特性图包括了对数幅频特性图和对数相频特性图。横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。

    MATLAB提供了函数bode()来绘制系统的波特图,其用法如下:

    bode(a,b,c,d):自动绘制出系统的一组Bode图,它们是针对连续状态空间系统[a,b,c,d]的每个输入的Bode图。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。

    bode(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的波特图。

    bode(num,den):可绘制出以连续时间多项式传递函数表示的系统的波特图。

    bode(a,b,c,d,iu,w)或bode(num,den,w):可利用指定的角频率矢量绘制出系统的波特图。

    当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag相角pha及角频率点w矢量或只是返回幅值与相角。相角以度为单位,幅值可转换为分贝单位:magdb=20×log10(mag)

    exp4_10.m

    求典型二阶系统自然振荡频率固定,阻尼比变化时的波特图

    clear

    closeall

    clc

    wn=6;

    kosi=[0.1:0.1:1.0];

    %在对数空间上生成从10^(-1)到10^1共100个数据的横坐标

    w=logspace(-1,1,100);

    num=wn^2;

    forkos=kosi

    den=[12*kos*wnwn^2];

    [mag,pha,w1]=bode(num,den,w);

    %注意mag的单位不是分贝,若需要分贝表示

    %可以通过20*log10(mag)进行转换

    subplot(221);

    holdon;

    semilogx(w1,mag)

    %注意在所绘制的图形窗口会发现x轴并没有取对数分度

    subplot(222)

    holdon;

    semilogx(w,mag)

    subplot(223);

    holdon;

    semilogx(w1,pha)

    subplot(224)

    holdon;

    semilogx(w,pha)

    end

    subplot(221)

    gridon

    title('bodeplot')

    xlabel('frequency(w)')

    ylabel('amplitude')

    text(6.2,5,'kosi=0.1')

    text(2,0.5,'kosi=1.0')

    subplot(223)

    gridon

    xlabel('frequency(w)')

    ylabel('phasedeg')

    text(5,-20,'kosi=0.1')

    text(2,-85,'kosi=1.0')

    holdoff

    (二)奈奎斯特图(幅相频率特性图)

    对于频率特性函数G(jw),给出w从负无穷到正无穷的一系列数值,分别求出Im(G(jw))和Re(G(jw))。以Re(G(jw))为横坐标,Im(G(jw))为纵坐标绘制成为极坐标频率特性图。

    MATLAB提供了函数nyquist()来绘制系统的极坐标图,其用法如下:

    nyquist(a,b,c,d):绘制出系统的一组Nyquist曲线,每条曲线相应于连续状态空间系统[a,b,c,d]的输入/输出组合对。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。

    nyquist(a,b,c,d,iu):可得到从系统第iu个输入到所有输出的极坐标图。

    nyquist(num,den):可绘制出以连续时间多项式传递函数表示的系统的极坐标图。

    nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):可利用指定的角频率矢量绘制出系统的极坐标图。

    当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(图上用箭头表示w的变化方向,负无穷到正无穷)。当带输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re和虚部im及角频率点w矢量(为正的部分)。可以用plot(re,im)绘制出对应w从负无穷到零变化的部分。

    exp4_11.m

    %exp4_11.m

    %已知系统的传递函数为:G(s)=K/(s^3+52s^2+100^s)

    %求当K分别取1300和5200时,系统的极坐标频率特性图

    clear

    closeall

    clc

    k1=1300;

    k2=5200;

    w=8:1:80;

    num1=k1;

    num2=k2;

    den=[1521000];

    figure(1)

    subplot(211)

    nyquist(num1,den,w);

    subplot(212)

    pzmap(num1,den);

    figure(2)

    subplot(211)

    nyquist(num2,den,w);

    subplot(212)

    [rm,im]=nyquist(num2,den);

    plot(rm,im)

    xlabel('real')

    ylabel('image')

    title('wfrom负无穷to零')

    figure(3)

    [numc,denc]=cloop(num2,den);

    subplot(211)

    step(numc,denc)

    subplot(212)

    [numc1,denc1]=cloop(num1,den);

    step(numc1,denc1)

二、常用频域分析函数

    MATLAB除了提供前面介绍的基本频域分析函数外,还提供了大量在工程实际中广泛应用的库函数,由这些函数可以求得系统的各种频率响应曲线和特征值。如:

    margin:求幅值裕度和相角裕度及对应的转折频率

    freqs:模拟滤波器特性

    nichols:求连续系统的尼科尔斯频率响应曲线(即对数幅相曲线)

    ngrid:尼科尔斯方格图

    margin()函数

    margin函数可以从频率响应数据中计算出幅值裕度相角裕度以及对应的频率。幅值裕度和相角裕度是针对开环SISO系统而言,它指示出系统闭环时的相对稳定性。当不带输出变量引用时,margin可在当前图形窗口中绘制出带有裕量及相应频率显示的Bode图,其中幅值裕度以分贝为单位。

    幅值裕度是在相角为-180度处使开环增益为1的增益量,如在-180度相频处的开环增益为g,则幅值裕度为1/g;若用分贝值表示幅值裕度,则等于:-20*log10(g)。类似地,相角裕度是当开环增益为1.0时,相应的相角与180度角的和。

    margin(mag,phase,w):由bode指令得到的幅值mag(不是以dB为单位)相角phase及角频率w矢量绘制出带有裕量及相应频率显示的bode图。

    margin(num,den):可计算出连续系统传递函数表示的幅值裕度和相角裕度并绘制相应波特图。类似,margin(a,b,c,d)可以计算出连续状态空间系统表示的幅值裕度和相角裕度并绘制相应波特图。

    [gm,pm,wcg,wcp]=margin(mag,phase,w):由幅值mag(不是以dB为单位)相角phase及角频率w矢量计算出系统幅值裕度和相角裕度及相应的相角交界频率wcg截止频率wcp,而不直接绘出Bode图曲线。

    exp4_12.m

    某系统的开环传递函数为:G(s)=k/s(s+1)(0.2s+1),求k分别为2和20时的幅值裕度与相角裕度

    %margin函数通常用在bode函数之后,先由bode函数得到幅值相角和频率矢量,然后由margin绘制出幅值裕度和相角裕度的波特图。

    clear

    clc

    closeall

    num1=2;num2=20;

    den=conv([10],conv([11],[0.21]));

    w=logspace(-1,2,100);

    figure(1)

    [mag1,pha1]=bode(num1,den,w);

    margin(mag1,pha1,w)

    figure(2)

    [mag2,pha2]=bode(num2,den,w);

    margin(mag2,pha2,w)

三、频域分析应用实例

    Nyquist曲线是根据开环频率特性在复平面上绘出的幅相轨迹,根据开环的Nyquist曲线,可以判断闭环系统的稳定性。

    系统稳定的充要条件为:Nyquist曲线按逆时针包围临界点(-1,j0)的圈数R,等于开环传递函数位于s右半平面的极点数P,否则闭环系统不稳定,闭环正实部特征根个数Z=P-R。若刚好过临界点,则系统临界稳定。

    例exp4_14.m  

    已知某系统的开环传递函数为:

    要求1.绘制系统的奈奎斯特曲线,判断闭环系统的稳定性,求出系统的单位阶跃响应。

    2.给系统增加一个开环极点p=2,求此时的奈奎斯特曲线,判断此时闭环系统的稳定性,并绘制系统的单位阶跃响应曲线。

    %exp4_14.m

    clear

    closeall

    k=26;

    z=[];

    p=[-61];

    [num,den]=zp2tf(z,p,k);

    figure(1)

    subplot(211)

    nyquist(num,den)

    subplot(212)

    pzmap(p,z)

    figure(2)

    [numc,denc]=cloop(num,den);

    step(numc,denc)

    例exp4_15.m线性时不变系统如下所示:要求绘制系统的波特图和奈奎斯特图,判断系统稳定性,如果系统稳定,求出系统稳定裕度,并绘制系统的单位冲激响应以验证判断结论。

    

    %exp4_15.m

    clear

    closeall

    clc

    %状态空间系统描述

    a=[-0.6-1.0400;1.04000;00.96-0.7-0.32;

    000.320];

    b=[1000]';

    c=[0000.32];

    d=0;

    %图1绘制波特图

    figure(1)

    bode(a,b,c,d);

    %图2绘制幅相曲线

    figure(2)

    subplot(211)

    nyquist(a,b,c,d);

    [z,p,k]=ss2zp(a,b,c,d);

    p

    subplot(212)

    [rm,im]=nyquist(a,b,c,d);

    plot(rm,im)

    %图3绘制带裕度及相应频率显示的波特图

    figure(3)

    margin(a,b,c,d);

    %图4绘制冲激响应曲线

    figure(4)

    [ac,bc,cc,dc]=cloop(a,b,c,d);

    impulse(ac,bc,cc,dc)


    本文已影响
    最近关注
    0基础免费学PLC,扫描观看

    扫描上方二维码免费观看PLC视频课程