呂澤奎
西南交通大學(xué)機(jī)械工程學(xué)院,四川成都 611756
波特圖在MATLAB軟件中的三種繪制方法
呂澤奎
西南交通大學(xué)機(jī)械工程學(xué)院,四川成都 611756
本文總結(jié)了使用MATLAB軟件繪制波特圖的3種方法,比較了3種方法的優(yōu)缺點(diǎn),為相關(guān)的研究提供一定的借鑒。
波特圖;MATLAB;函數(shù)
在工程分析和設(shè)計(jì)中,通常把線性定常系統(tǒng)的頻率特性用曲線表示,再運(yùn)用圖解法進(jìn)行研究[1]。常見(jiàn)的頻率特性曲線有幅相頻率特性曲線、對(duì)數(shù)頻率特性曲線和對(duì)數(shù)幅相頻率特性曲線等。其中對(duì)數(shù)頻率特性曲線,又稱Bode圖,是將幅頻特性和相頻特性分別繪制在兩個(gè)半對(duì)數(shù)坐標(biāo)系中,頻率坐標(biāo)按對(duì)數(shù)分度,幅值和相位坐標(biāo)則按線性分度。幅頻特性圖的縱坐標(biāo)(線性分度)表示G(jω)的幅值,單位是分貝(dB);橫坐標(biāo)(對(duì)數(shù)坐標(biāo))表示ω值,單位是弧度/秒或每秒-1(rad/s或s-1)。相頻特性圖的縱坐標(biāo)(線性分度)表示G(jω)的相位,單位是度(°);橫坐標(biāo)是(對(duì)數(shù)分度)表示ω值,單位是弧度/秒或秒-1(rad/s或s-1)。使用Bode圖表示頻率特性有將串聯(lián)環(huán)節(jié)幅值的乘、除化為對(duì)數(shù)幅值的加、減及可以使用近似方法作圖以簡(jiǎn)化計(jì)算和作圖過(guò)程等的優(yōu)點(diǎn)[2]。
MATLAB是目前國(guó)際上最流行、應(yīng)用最廣泛的可視化科學(xué)與工程計(jì)算軟件,近年來(lái)得到了業(yè)界的一致認(rèn)可,在控制系統(tǒng)的分析、仿真與設(shè)計(jì)方面得到了非常廣泛的應(yīng)用[3]。對(duì)線性定常系統(tǒng)的Bode圖的繪制,MATLAB軟件提供了包括bode函數(shù)在內(nèi)的多種繪制方法,為先關(guān)分析研究提供了便利。
對(duì)于波特圖的繪制,MATLAB軟件提供了一條直接求解和繪制控制系統(tǒng)波特圖的函數(shù)bode(),其主要調(diào)用格式見(jiàn)表1。若系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為:
表1 bode函數(shù)主要調(diào)用格式
使用bode函數(shù)繪制系統(tǒng)的波特圖仿真程序如下:
num=10*[1 2];
den=conv([1 1],[1 4]);
sys=tf(num,den);
bode(sys);
grid on。
運(yùn)行結(jié)果如圖1所示。
圖1 使用bode函數(shù)繪制的波特圖
除了使用bode函數(shù)直接繪制波特圖外,還可以使用margin函數(shù)繪制波特圖。使用margin函數(shù)不僅可以繪制出波特圖,還可以從頻率響應(yīng)數(shù)據(jù)中計(jì)算出幅值裕度、相角裕度以及對(duì)應(yīng)的頻率。幅值裕度和相角裕度是針對(duì)開(kāi)環(huán)SISO系統(tǒng)而言,它指示出系統(tǒng)閉環(huán)時(shí)的相對(duì)穩(wěn)定性。幅值裕度是在相角為-180°處使開(kāi)環(huán)增益為1的增益量,如在-180°相頻處的開(kāi)環(huán)增益為g,則幅值裕度為1/g;若用分貝值表示幅值裕度,則等于:-20*log10(g)。類似地,相角裕度是當(dāng)開(kāi)環(huán)增益為1.0時(shí),相應(yīng)的相角與180°角的和。Margin函數(shù)的主要調(diào)用格式與boed函數(shù)類似,這里不一一說(shuō)明。
對(duì)前文提到的系統(tǒng)開(kāi)環(huán)傳遞函數(shù),使用margin函數(shù)繪制系統(tǒng)的波特圖仿真程序如下:
num=10*[1 2];
den=conv([1 1],[1 4]);
sys=tf(num,den);
margin(sys);
grid on;
運(yùn)行結(jié)果如圖2所示,從圖上可以看出該系統(tǒng)的幅值裕度Gm為無(wú)窮大,相角裕度Pm在9.35rad/s處為107°。
圖2 使用margin函數(shù)繪制的波特圖
Simulink是MATLAB最重要的組件之一,他提供了一個(gè)動(dòng)態(tài)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無(wú)須大量書(shū)寫(xiě)程序,而只需要通過(guò)簡(jiǎn)單直觀的鼠標(biāo)操作,就可以構(gòu)造出復(fù)雜的系統(tǒng),現(xiàn)已廣泛應(yīng)用于控制理論和數(shù)字信號(hào)處理的復(fù)雜仿真和設(shè)計(jì)。
使用simulink繪制系統(tǒng)的波特圖,首先需要根據(jù)系統(tǒng)的數(shù)學(xué)模型搭建simulink模塊仿真圖。我們?nèi)砸郧拔闹械膫鬟f函數(shù)為例,所搭建仿真圖如圖3所示,需要注意的是這里的輸入和輸出端需要選用In和Out模塊。再搭建好仿真圖后,選擇標(biāo)題欄中的analysis中的control design,然后選擇linear anslysis即可進(jìn)入EXACT LINEARIZATION界面。在這個(gè)界面中我們選擇analysisI/Os中的root level inports and outports,并且在plot result中選擇new Bode,最后點(diǎn)擊Linearize按鈕,所得波特圖亦如圖1所示。
圖3 simulink模塊仿真圖
從上述3種波特圖的繪制方法中可以看出使用bode函數(shù)的方法,直截了當(dāng),簡(jiǎn)單方便;使用margin函數(shù)的方法可以得到幅值裕度和相角裕度等更多信息;使用simulink仿真方法,避開(kāi)了繁瑣的編程,通過(guò)簡(jiǎn)單的鼠標(biāo)操作即可完成任務(wù)。因此,在實(shí)際繪制波特圖過(guò)程中我們可以結(jié)合實(shí)際情況,根據(jù)上述介紹選擇最適宜的方法繪制需要的波特圖。
[1]楊莉,張會(huì)珍,白麗麗.MATLAB語(yǔ)言與控制系統(tǒng)仿真[M].哈爾濱:哈爾濱工程大學(xué)出版社,2013.
[2]陳春俊.控制工程基礎(chǔ)[M].成都:西南交通大學(xué)出版社,2011.
[3]李獻(xiàn),駱志偉.精通MATLAB/Simulink系統(tǒng)仿真[M].北京:清華大學(xué)出版社,2015.
TP39
A
1674-6708(2016)167-0113-02
呂澤奎,西南交通大學(xué)機(jī)械工程學(xué)院。