楊 赫,王俊社
(河北科技大學(xué) 信息科學(xué)與工程學(xué)院,河北 石家莊 050000)
中國北斗衛(wèi)星導(dǎo)航系統(tǒng)是中國自行研制的全球衛(wèi)星導(dǎo)航系統(tǒng),是繼美國全球定位系統(tǒng)(GPS)、俄羅斯格洛納斯衛(wèi)星導(dǎo)航系統(tǒng)(GLONASS)后第三個成熟的衛(wèi)星導(dǎo)航系統(tǒng)。它在氣象應(yīng)用、道路交通管理、航空運(yùn)輸、鐵路智能交通、應(yīng)急救援等方面扮演著十分重要的角色[1]。
北斗應(yīng)急救援系統(tǒng)主要由北斗指揮中心、移動應(yīng)急救援指揮分中心和應(yīng)急救援單兵系統(tǒng)三部分組成。依托通信衛(wèi)星及其他輔助通信設(shè)備,可實現(xiàn)圖像、語音、相關(guān)數(shù)據(jù)的上傳與下發(fā)。依托北斗定位導(dǎo)航通信衛(wèi)星,可實現(xiàn)準(zhǔn)確定位于基于短報文的應(yīng)急指揮與綜合顯示等[2]。北斗指揮中心在接收終端用戶的短報文救援信
息時,由于在短時間內(nèi)有可能需要接收龐大的數(shù)據(jù)流,可能會造成網(wǎng)絡(luò)擁塞,從而產(chǎn)生信息的丟失[3]。因此,需要結(jié)合北斗系統(tǒng)的實際情況,制定一種控制策略來避免擁塞的發(fā)生,或者即使發(fā)生擁塞也能及時恢復(fù)正常,從而降低網(wǎng)絡(luò)崩潰的可能性。在擁塞控制的同時,還應(yīng)該保證鏈路利用的效率。
文獻(xiàn)[4-5]介紹了網(wǎng)絡(luò)擁塞的定義。事實上,網(wǎng)絡(luò)擁塞沒有嚴(yán)格的定義,人們普遍認(rèn)為擁塞是用戶給網(wǎng)絡(luò)帶來的負(fù)載(load)大于網(wǎng)絡(luò)資源容量和處理能力時,網(wǎng)絡(luò)提供的服務(wù)質(zhì)量將降低,是指需求超過其固有容量的一種持續(xù)過載狀態(tài)。一般來說,網(wǎng)絡(luò)擁塞可以通過升級網(wǎng)絡(luò)硬件的方法來解決。但是,網(wǎng)絡(luò)的飛速發(fā)展使得新資源終將會被占用,因此這種治標(biāo)不治本的方法有可能使網(wǎng)絡(luò)環(huán)境更加不穩(wěn)定。所以,對于網(wǎng)絡(luò)擁塞控制的研究具有重要的理論意義和應(yīng)用價值。
文獻(xiàn)[6-7]介紹了主動隊列管理算法(Active Queue Management,AQM)。它是一種擁塞恢復(fù)機(jī)制,通過在路由器隊列中丟棄或標(biāo)記數(shù)據(jù)包,將擁塞情況隱式或顯式地通知源端,然后源端相應(yīng)地減小數(shù)據(jù)發(fā)送速率來響應(yīng)數(shù)據(jù)包的丟棄或標(biāo)記,從而避免更嚴(yán)重的擁塞發(fā)生。但是,它存在著滿隊列、死鎖以及全局同步等問題。文獻(xiàn)[7-8]介紹的隨機(jī)早起檢測(Randomearly Detection,RED)算法是最著名的AQM算法。它是通過監(jiān)控平均隊列長度來檢測擁塞,一旦發(fā)現(xiàn)擁塞,就隨機(jī)選擇源端來通知擁塞,使它們在隊列溢出前降低發(fā)送數(shù)據(jù)速率,緩解網(wǎng)絡(luò)擁塞。但是,RED算法對參數(shù)設(shè)置很敏感,如何正確選擇參數(shù)是一個重要問題,造成了算法靈活性不足的問題,且平均隊列長度經(jīng)常會隨著連接數(shù)目的增加而不斷增大,造成傳輸時延抖動,引起網(wǎng)絡(luò)性能不穩(wěn)定。
文獻(xiàn)[9-11]介紹了PID控制算法。在過程控制中,它按偏差的比例(P)、積分(I)和微分(D)進(jìn)行控制。該算法具有原理簡單,易于實現(xiàn),控制參數(shù)相互獨立,參數(shù)的選定比較簡單的特點。但是,該算法適用于可建立精確數(shù)學(xué)模型的控制系統(tǒng),對于過于復(fù)雜或難以精確描述的系統(tǒng),顯得無能為力。文獻(xiàn)[12-13]介紹了模糊控制理論(Fuzzy Control Theory)。模糊控制是一類應(yīng)用模糊集合理論的控制方法,主要包括模糊化、規(guī)則庫、模糊推理和解模糊四個部分。模糊控制可以為非線性控制器提供比較容易的設(shè)計方法。
綜上所述,本文針對北斗指揮中心可能會出現(xiàn)的網(wǎng)絡(luò)擁塞問題,提出基于模糊理論的PID擁塞控制方案,不僅能夠維持網(wǎng)絡(luò)穩(wěn)定、高效運(yùn)行,而且能夠保證北斗指揮中心在運(yùn)行過程中提供高質(zhì)量的服務(wù)。
傳統(tǒng)的PID算法適用于可建立精確數(shù)學(xué)模型的控制系統(tǒng),不適用難以精確描述的系統(tǒng)。為了解決這個問題,將模糊理論與傳統(tǒng)PID控制算法相結(jié)合,得到了新的Fuzzy-PID算法。
PID控制器由比例控制、積分控制和微分控制三個部分組成。常規(guī)PID控制算法原理如圖1所示。

圖1 PID控制算法原理
規(guī)定輸入值r(t)和實際輸出值c(t)構(gòu)成控制偏差e(t)=r(t)-c(t),則PID控制規(guī)律可以表示為:

將式(1)寫成傳遞函數(shù)的形式,得到:

式中:KP為比例系數(shù);TI為積分時間常數(shù),KI為積分系數(shù);TD為微分時間常數(shù),KD為微分系數(shù)。
對于不同的控制對象,只要調(diào)整PID的三個參數(shù)KP、KI、KD,就可以起到良好的控制效果。比例環(huán)節(jié)能及時成比例地反映偏差信號。偏差一旦產(chǎn)生,控制器將產(chǎn)生控制作用減少偏差;積分環(huán)節(jié)主要用于消除靜差;微分環(huán)節(jié)能反映偏差的變化趨勢,引入修正信號,加快系統(tǒng)動作速度,減少調(diào)節(jié)時間。
模糊控制是模糊集合論、模糊語言變量和模糊邏輯推理為基礎(chǔ)的一種計算機(jī)數(shù)字控制技術(shù),是一種非線性智能控制。模糊理論原理如圖2所示。

圖2 模糊控制理論原理
模糊化前,需要對輸入量進(jìn)行尺度變換,使其變到相應(yīng)的論域范圍。如果輸入量r變化范圍為[-rn,rn],將其轉(zhuǎn)換到量化論域:

精確值r總可以通過一定的判定條件,量化為論域X上的一個元素。
模糊控制規(guī)則一般具有以下控制規(guī)則:

其中,e、ec和u分別為誤差、誤差變化和控制量,而Ai、Bi、Ci為各自相應(yīng)論域上的語言值。
典型的PID控制只能利用固定的一組參數(shù)進(jìn)行控制,顯然不能滿足復(fù)雜的網(wǎng)絡(luò)環(huán)境。因此,將模糊控制與PID控制結(jié)合起來,構(gòu)成新的Fuzzy-PID控制算法。新的算法既具有模糊控制靈活而適應(yīng)性強(qiáng)的優(yōu)點,又具有PID控制精度高的特點。Fuzzy-PID控制算法原理如圖3所示。

圖3 Fuzzy-PID控制算法原理
用于參數(shù)網(wǎng)絡(luò)擁塞的模糊控制器采用二輸入三輸出的形式。由于隊列長度是可以實時獲取的,因此采用隊列長度誤差E和誤差變化率EC作為輸入,而PID控制器的三個參數(shù)P、I、D的修正ΔKP、ΔKI、ΔKD作為輸出。PID最終的參數(shù)KP、KI、KD由式(5)得到:

式中的KP0、KI0、KD0是PID的初始參數(shù)。
取輸入誤差E、誤差變化率EC及輸出ΔKP、ΔKI、ΔKD模糊子集為:

子集中元素分別代表負(fù)大、負(fù)中、負(fù)小、零、正小、正中、正大。將誤差E和誤差變化率EC量化到(-3,3)的區(qū)域,輸出量化到(0,1)的區(qū)域內(nèi),二者的隸屬函數(shù)曲線如圖4所示。

圖4 E和EC的隸屬函數(shù)曲線
數(shù)ΔKP、ΔKI、ΔKD的整定要求不同。根據(jù)上文各參數(shù)對系統(tǒng)的影響,對PID各個參數(shù)的選取應(yīng)有以下原則[14]:
(1)當(dāng)E<0、EC>0時,系統(tǒng)輸出趨向穩(wěn)態(tài)值的速度越快越好,可增大ΔKP,當(dāng)接近穩(wěn)態(tài)值時,為減小超調(diào),應(yīng)增大ΔKD,同時減小ΔKP和ΔKI;
(2)當(dāng)E<0、EC<0時,系統(tǒng)本身己有減少誤差的趨勢,應(yīng)盡快消除誤差且不超調(diào),應(yīng)取較小的控制量。此時,增大ΔKD、ΔKI并減小ΔKP,以降低超調(diào),使輸出盡量回到穩(wěn)態(tài)值;
(3)當(dāng)E>0、EC<0時,偏差開始減小,系統(tǒng)在控制作用下己呈現(xiàn)穩(wěn)態(tài)變化趨勢,控制作用不應(yīng)太強(qiáng),否則會再次出現(xiàn)超調(diào),應(yīng)適當(dāng)減小ΔKP、ΔKI和ΔKD,避免回調(diào);
(4)當(dāng)E>0、EC>0時,系統(tǒng)出現(xiàn)下調(diào),需適當(dāng)增大ΔKP,使輸出盡快回到穩(wěn)態(tài)值附近;
(5)系統(tǒng)進(jìn)入穩(wěn)態(tài)時,恢復(fù)調(diào)整初始時的PID參數(shù)。
根據(jù)上述PID各參數(shù)對網(wǎng)絡(luò)擁塞控制系統(tǒng)性能的影響以及參數(shù)進(jìn)行整定的原則,結(jié)合經(jīng)驗,得出針對ΔKP、ΔKI、ΔKD整定的模糊控制規(guī)則表[15],如表1所示。模糊控制器中的規(guī)則可由if-then語句表示,本設(shè)計中模糊規(guī)則庫中的規(guī)則共49條。

表1 ΔKP、ΔKI、ΔKD模糊控制規(guī)則
把模糊量轉(zhuǎn)換為精確量的過程稱為清晰化,又稱為去模糊化或模糊判決。為了獲得準(zhǔn)確的控制量,要求模糊方法能夠很好地輸出隸屬函數(shù)的計算結(jié)果。本文采用加權(quán)平均法即重心法進(jìn)行解模糊處理。
首先進(jìn)行模糊推理,并由此確定控制量的模糊集合U'。以ΔKP為例,采用最小最大加權(quán)平均法(Mamdani)。對于以下的控制:

可以得到U'為:

其中u(x)為各自的隸屬函數(shù)。然后,通過重心法可以得到ΔKP的精確值,重心法如式(9)所示:

uPI(ΔKP)為ΔKP的隸屬度。最后,通過式(5)可以得到PID控制的精確控制參數(shù)。
為了檢驗Fuzzy-PID對網(wǎng)絡(luò)擁塞控制的控制效果,利用MATLAB中的SIMULINK工具箱和Fuzzy工具箱,對傳統(tǒng)PID控制算法和Fuzzy-PID控制系統(tǒng)進(jìn)行仿真,并對二者的控制效果進(jìn)行比較。
采用控制理論分析,離不開數(shù)學(xué)模型的建立。文獻(xiàn)[11]給出了整個網(wǎng)絡(luò)受控廣義對象模型的傳遞函數(shù):

其中:

式中,q(t)為預(yù)期隊列長度;C為鏈路容量,Tp為時延,N為負(fù)載因子。圖5為網(wǎng)絡(luò)擁塞框圖,圖中的控制器就是AQM算法。在本次研究中,也就是指PID控制算法和Fuzzy-PID控制算法。

圖5 網(wǎng)絡(luò)擁塞控制框
3.2.1 實驗一
設(shè)置網(wǎng)絡(luò)環(huán)境:期望隊長300 Packets,鏈路容量為15 Mb/s,源端有連接數(shù)為100個,回路往返時延為10 ms。在常規(guī)PID控制和Fuzzy-PID控制作用下,隊列長度變化情況如圖6、圖7所示。

圖6 PID控制下隊列長度變化

圖7 Fuzzy-PID控制下隊列長度變化
3.2.2 實驗二
設(shè)置網(wǎng)絡(luò)環(huán)境:源端連接數(shù)為200個,回路往返時延為100 ms,其他參數(shù)與實驗一相同。在Fuzzy-PID控制作用下,隊列長度變化情況如圖8所示。

圖8 網(wǎng)絡(luò)參數(shù)變化后Fuzzy-PID控制下隊列長度變化
比較圖6、圖7后可以發(fā)現(xiàn),F(xiàn)uzzy-PID的調(diào)整更加平穩(wěn),會產(chǎn)生更少的網(wǎng)絡(luò)震蕩,能夠保證網(wǎng)絡(luò)的穩(wěn)定,控制效果較PID控制明顯要好。觀察圖8發(fā)現(xiàn),對于網(wǎng)絡(luò)參數(shù)的變化,F(xiàn)uzzy-PID有著較好的適應(yīng)能力,能夠克服參數(shù)變化,控制隊列長隊迅速穩(wěn)定在期望值附近。
良好的擁塞控制是網(wǎng)絡(luò)正常運(yùn)行的保證,也是應(yīng)急系統(tǒng)正常工作的保證。好的擁塞處理能夠提升應(yīng)急系統(tǒng)的工作效率。針對北斗指揮中心網(wǎng)絡(luò)擁塞問題,本文提出了一種Fuzzy-PID隊列管理算法。該算法將傳統(tǒng)PID控制與模糊理論相結(jié)合,具有精度高、適應(yīng)性強(qiáng)等特點。實驗表明,新的AQM算法在擁塞處理方面表現(xiàn)出良好的性能,為北斗指揮中心的擁塞處理問題提供了一個新的解決辦法。