胡黃水, 趙 航, 趙思遠, 楊興旺
(長春工業大學 計算機科學與工程學院, 吉林 長春 130012)
無線傳感器網絡(Wireless Sensor Network, WSN)是由大量節點構成的感知和采集各種現場信息的自組織網絡[1],在環境監測、醫療保健、災難搶險、交通監控、智能家居、工業自動化等領域得到了廣泛應用。節點能量受限、通信能耗高成為制約無線傳感器網絡生命周期的關鍵因素,控制節點發射功率被證明是一種減少能耗和保持通信可靠性的有效方法[2-4]。
功率控制是一個十分復雜的問題,文獻[5]指出理論上尋找最優功率問題是NP難的。因此,當前所提出的解決方法都是力圖去尋找功率控制的實用解,其目的是在保證一定鏈路質量前提下,以維持最小傳輸功率的方式來降低能耗和延長網絡生命周期。傳輸功率控制方法通常分為三類:網絡級、節點級和鏈路級[6-8]。網絡級功率控制方法[9-10]使網絡中所有節點采用同樣的傳輸功率來實現對功率的粗調,對于節點分布不均勻的網絡,可能導致大量節點以遠大于需求的功率傳輸數據,造成能量浪費。節點級功率控制方法[11-12]通過選擇優化后的傳輸功率來維持節點間的通信,保證通信可靠的同時降低能耗,常用的做法是控制節點傳輸功率或通信范圍來達到期望的節點度。大量實驗證明,傳輸功率對鏈路質量有顯著影響,高傳輸功率提供好的鏈路質量且能耗增大,反之亦然。因此,鏈路級功率控制方法采用鏈路質量參數,如收包率、接收信號強度和鏈路質量指示來調節傳輸功率。文獻[13]提出了一種鏈路自適應算法,通過對鏈路質量信息的計算,調整傳輸功率和數據傳輸速率。FCTP算法[14]基于模糊控制理論,在網絡連通情況下設定平均節點度閾值,通過對期望節點度與當前節點度間的誤差分析來調節傳輸功率,達到尋找最優傳輸功率的目的,結果表明,FCTP能夠更好地抵御意外干擾,但是節點度僅僅考量了網絡連通度,并不能直觀地反映通信質量。ATPC算法[15]基于實際部署采集的鏈路質量與傳輸功率的關系數據,為每個節點建立與其鄰居節點的關系模型,并通過鏈路質量反饋對傳輸功率進行調節。ATPC獲得高收包率的同時具有少量的網絡能耗,但其進行功率調節時忽略節點剩余能量,僅通過鏈路質量反饋來查找對應鏈路質量的功率級別,容易導致剩余能量低的節點早死且當網絡干擾和出現不確定因素時不收斂。文獻[16]提出一種將路徑損耗作為拓撲構建條件的分布式拓撲控制算法PLBD,指出傳輸功率可調的無線傳感器網絡用RSSI衡量鏈路質量并不合適,路徑損耗相較于RSSI更具有優勢,因此,提出了在保證收包率的同時,使得各節點通信保持最小路徑損耗的方法。然而鏈路質量很容易受到環境干擾和網絡動態性影響而無規律頻繁變化,導致功率調節頻繁執行,從而降低網絡性能。文獻[17]提出一種面向WSN的自適應模糊功率控制算法DAFPC,通過鏈路質量關鍵參數來達到減小節點發射功率的目的。文獻[18]提出一種新型小范圍模糊邏輯的方法,自適應地控制每個節點的傳輸功率,以達到所需的收包率。現有方法都只是通過構建隸屬度函數和IF-THEN規則來設計模糊邏輯控制器,其對復雜且動態的實際無線傳感器來說很難獲得期望的性能。
文中提出一種考慮路徑損耗和節點能耗的功率控制方法PLPC。基本思想是當傳輸路徑損耗或能耗高于期望值時,則通過模糊神經控制器調節以降低節點的發射功率,反之亦然,從而自適應地調節節點傳輸功率。與傳統采用IF-THEN規則算法不同,通過神經網絡對數據集學習來替代繁雜的模糊控制器參數調整過程,使節點在網絡中的實際能耗達到期望值,提高網絡動態性能的同時降低網絡能耗。
由文獻[14]可知,以Ploss表示信號在傳輸路徑上的損耗,通常情況下,發射功率Pt與rss之間的關系可以描述為:
Ploss=k×Pt-rss
(1)
不同射頻芯片對于接收信號強度rss的表現形式也不相同,故式(1)中存在系數k,可表示為:
(2)
在節點距離不變的情況下,調整節點發射功率依次為-17.0,-12.0,-9.0,-7.0,-4.0,-3.0,-2.0,0.0,2.3,3.2 dBm,統計對應接收信號強度值,結果如圖1所示。

圖1 接收信號強度與發射功率關系
由于節點不同,發射功率一般情況下也大不相同,因此直接以rss作為衡量鏈路質量的標準并不可取。利用所測得接收信號強度的相關數據求得路徑損耗隨節點發射功率的變化曲線,結果如圖2所示。

圖2 路徑損耗與發射功率關系
對比圖1和圖2結果,易得路徑損耗Ploss作為度量鏈路質量的標準比接收信號強度rss更具優勢,具體如下:
1)路徑損耗不必保證節點具有相同的發射功率;
2)檢測區域一定時,路徑損耗波動不大;
3)一對節點通信在環境不變的情況下,路徑損耗具有良好的雙向對稱性;
4)根據測得的接收信號強度和路徑損耗,可以求得滿足收包率一定條件下的最小發射功率,從而完成功率調節。
可見,路徑損耗Ploss在反映收包率PRR的同時,也使得雙向鏈路的建立更加有效。
PLPC中控制器為一個三輸入單輸出的模糊神經控制器,其通過路徑損耗、能耗、數據包大小來控制節點發射功率,從而降低節點能耗,其結構如圖3所示。

圖3 模糊神經控制器結構
控制系統通過控制節點的傳輸功率達到節點的路徑損耗和能耗可控的目的,信號強度會隨傳播距離的增加而衰減,兩者關系如下:
(3)
式中:d——發射端與接收端之間的距離;
d0——參考距離;
n——信道衰減指數,取值一般為2~4;
Xσ——均值為零、方差為σ的高斯隨機變量;
rss(d0)——距離發射機d0處的信號強度,可以通過經驗得出,或者從硬件的規范定義得到;
rss(d)——距離發射機d處的信號強度。
通過文獻[19]可以得到每發送一個數據包節點能耗為:
ET=lp(ε0+ε1d2)
(4)
式中:lp——數據包大小;
ε0——發送或接收一個比特的能耗;
ε1d2——自由空間模型中一個比特放大器能耗。
接收一個數據包的能耗為:
ER=lpε0
(5)
假定通信能耗少到忽略不計,通信范圍為dm時,時間T內能耗為:
(6)
綜上所述,假定重傳次數為固定值,可得路徑損耗ploss、數據大小lp、能耗Ec與傳輸功率pt四者之間的關系式為:
(7)
在無線傳感器網絡中,通常節點硬件如CC2530等都可以調節發射功率。節點傳輸功率越大,路徑損耗越大;傳輸功率越小,路徑損耗越小。考慮到節點可以通過調整路徑損耗與能耗來控制傳輸功率這一特性,輸入為節點的路徑損耗Ploss、能耗Ec和數據包大小lp,進而控制節點傳輸功率,延長網絡生命周期。
式(7)為系統輸入Ploss、Ec、lp和系統輸出pt之間的關系式,即Pt=f(Ploss,Ec,lp)。控制系統中模糊神經網絡控制器使用MATLAB中自適應神經模糊系統工具ANFIS來搭建。模糊控制部分,ANFIS自動選取T-S型模糊控制器,隸屬度函數與控制規則都可以根據輸入/輸出數據和所提出的條件,在經過人工神經網絡對訓練集的多次訓練之后,自動由ANFIS推算得到。利用輸入/輸出關系式Pt=f(Ploss,Ec,lp)可以得到大量的訓練集T,T為1個k×4矩陣,記為[Pt,Ploss,Ec,lp],其中,Ec∈{Ec1,Ec2,…,Eck},Pt∈{Pt1,Pt2,…,Ptk},lp∈{lp1,lp2,…,lpk},Ploss∈{Ploss1,Ploss2,…,Plossk}。
模糊神經推理引擎結構框圖如圖4所示。
網絡的五層結構分別為輸入層、隸屬度函數層、規則層、自適應計算層、輸出層。
1)輸入層。各神經元輸入與輸出值均為模糊控制系統s中各值si(i=1,2,3),即s1,s2和s3分別為Ploss,lp和Ec。
2)隸屬度函數層。根據收集到的Pt,lp,Ploss和Ec,訓練數據集[Pt,Ploss,Ec,lp]用于訓練模型。對于第j個數據集,用高斯變換模糊輸入變量。每個變量的隸屬度函數由下式給出:
(8)
式中:i——模糊子集的個數;


圖4 模糊神經推理引擎結構
3)規則層。該層用于進行模糊運算,各神經元輸出值為各神經元輸入取積,每個節點輸出由下式給出:
(9)
式中:lk()——第k個神經元輸出值。
(10)
4)自適應計算層。通過模糊運算得出模糊控制規則,該層結合模糊控制規則完成自適應操作,并計算出每個規則所決定的輸出。這一層的輸出由下式得出:

(11)
式中:{pi,qi,ri,ti}——該節點的結論參數。
Pt=P1+P2+P3+P4+P5+P6+P7+P8
(12)
計算式(12)與式(8),(11)的整合,該網絡輸出值Pt的獲得如下:
Pt=μ(Ploss1)·μ(ER1)·μ(lp1)·(p1·Ploss1+q1·ER1+r1·lp1+t1)+
μ(Ploss1)·μ(ER1)·μ(lp2)·(p2·Ploss2+q2·ER2+r2·lp2+t2)+
μ(Ploss1)·μ(ER2)·μ(lp1)·(p3·Ploss3+q3·ER3+r3·lp3+t3)+
μ(Ploss1)·μ(ER2)·μ(lp2)·(p4·Ploss4+q4·ER4+r4·lp4+t4)+
μ(Ploss2)·μ(ER1)·μ(lp1)·(p5·Ploss5+q5·ER5+r5·lp5+t5)+
μ(Ploss2)·μ(ER1)·μ(lp2)·(p6·Ploss6+q6·ER6+r6·lp6+t6)+
μ(Ploss2)·μ(ER2)·μ(lp1)·(p7·Ploss7+q7·ER7+r7·lp7+t7)+
μ(Ploss2)·μ(ER2)·μ(lp2)·(p8·Ploss8+q8·ER8+r8·lp8+t8)
(13)
為了驗證PLPC性能,在Matlab平臺上與PLBD算法[15]、FCTP算法[14]進行比較。其中參考距離d0=1 m,距離d0處的接收信號強度rss(d0)=55 dBm,信道衰減指數n=2,方差σ=4,ε0=50nj,ε1=0.01nj,節點隨機分布在100 m×100 m的網絡中。
考慮到傳感器節點依靠能量有限的電池供電,在保證拓撲連通的條件下,盡可能減小通信路徑上的能量消耗,將有利于提高能量的利用效率,從而延長網絡生命周期。改變網絡中的傳感器節點數量為50,100,150,200,250,300,350,400,分別執行PLPC、PLBD和FCTP算法200次仿真實驗,統計并計算本地平均能耗,最終得到本地平均能耗隨節點數變化曲線,如圖5所示。

圖5 本地平均能耗與節點數量
從圖5可見,FCTP算法能耗大大高于其他兩種算法,PLBD算法與PLPC算法能耗接近,PLPC算法略優于PLBD算法,尤其對于節點密度較大的網絡來說,PLPC算法更有利于延長網絡生命周期,這是因為PLPC算法采用反饋理論,在考慮剩余能量與路徑損耗的基礎上,以三輸入單輸出的模糊神經控制器來控制傳輸功率,能夠更直觀地反映鏈路質量,速度收斂更快,能耗效率也更加高效。
考慮到傳感器節點分布是隨機的,部分節點可能由于能量消耗速率過快而影響網絡正常工作,甚至可能導致部分節點提前“死亡”而使網絡產生“分區”現象。所以,僅僅考慮降低節點能耗是不夠的,同時還應該注重節點能量消耗的均值性。對三種算法在不同節點數時節點平均發射功率方差進行對比分析,節點發射功率的方差能夠表示網絡中節點能量消耗均衡程度,方差值越小也就意味著各節點的發射功率越趨于一致,即能量消耗越均衡。測量得到節點發射功率方差隨節點個數變化的曲線如圖6所示。

圖6 平均發射功率方差與節點數量
在傳感器節點數超過300的大規模網絡中,三種算法構建的拓撲能耗相對均衡。在傳感器節點數超過200的網絡中,FCTP算法、PLBD算法能耗接近,而對于中小規模的網絡,由于PLPC算法采用反饋循環機制的三輸入單輸出的模糊神經控制器,可以有效控制節點的實際能耗,所以能耗均衡性優于FCTP、PLBD算法。
在運行輪數增加條件下,剩余節點數能夠反映延長網絡生命周期與減小網絡總節點能耗的能力。接下來對PLPC、PLBD和FCTP算法之間運行輪數與剩余節點的關系進行比較,結果如圖7所示。
在網絡運行初期階段,PLPC算法和PLBD算法下降趨勢較緩,PLPC算法存活節點數比PLBD算法存活節點數略高,而FCTP算法下降趨勢比其他兩個算法更急。在網絡運行中后期階段,三個算法的存活節點數都加劇下降。原因在于PLPC算法與FCTP算法相比,FCTP算法基于節點度控制傳輸功率,控制器基于模糊邏輯系統,而PLPC算法考慮路徑損耗,以自適應模糊神經控制器來控制傳輸功率,網絡能量利用更加合理高效。PLPC算法的剩余節點數優于PLBD算法,這主要是因為PLPC算法以自適應模糊神經控制器對數據集訓練學習獲得優化控制參數,基于節點能耗和路徑損耗以反饋、循環方式不斷調整節點的發射功率,使得網絡更加節能。

圖7 存活節點數與時間/輪數
從控制節點發射功率角度出發,PLPC通過對輸入的路徑損耗、數據包大小和能耗進行計算,并在人工神經網絡學習訓練集的基礎上建立模糊控制系統,避免傳統方法的復雜參數調節過程,并通過反饋、循環機制調整傳輸功率以獲得期望的路徑損耗與節點能量消耗。分別從本地平均能耗、平均發射功率方差、剩余節點數方面對三種算法進行了對比分析。實驗結果表明,與FCTP算法和PLBD算法相比,PLPC算法性能較優,能有效控制節點能耗并延長網絡生命周期。
參考文獻:
[1] 陳光亭,張燕翠.雙層無線傳感器網絡3-覆蓋3-連通問題[J].杭州電子科技大學學報,2011,31(2):89-92.
[2] 劉韜.無線傳感器網絡中基于效用模型的分布式功率控制機制[J].電子學報,2016,44(2):301-307.
[3] Li M, Li Z J, Athanasios V. A survey on topology control in wireless sensor networks: taxonomy, comparative study, and open issues [J]. Proceedings of the IEEE,2013,101(12):2538-2557.
[4] Wadekar R, Fagoonee L, Honary B. ATPC: adaptive transmission power control for wireless sensor networks [J]. Acm Transactions on Sensor Networks,2016,12(1):6.
[5] 張學,陸桑璐,陳貴海,等.無線傳感器網絡的拓撲控制[J].軟件學報,2007,18(4):943-954.
[6] Pantazis N A, Vergados D D. A survey on power control issues in wireless sensor networks [J]. IEEE Communications Surveys & Tutorials,2007,9(4):86-107.
[7] Huseyin U Y, Bulent T. Transmission power control for link-level handshaking in wireless sensor networks [J]. IEEE Sensors Journal,2016,16(2):561-576.
[8] 沈瑋娜,胡黃水,王宏志,等.自適應模糊無線傳感器網絡路由選擇[J].長春工業大學學報,2017,38(2):144-149.
[9] Narayanaswamy S, Kawadia V, Sreenivas R S, et al. Power control in Ad Hoc networks: theory, architectur, algorithm and implementation of the COMPOW protocol [C]//Proceedings of the European Wireless Conference.2002:156-162.
[10] Santi P, Blough D M, Bostelmann H. The critical transmitting range for connectivity in sparse wireless ad hoc networks [J]. IEEE Transactions on Mobile Computing,2003,2(1):25-39.
[11] Zhang J, Chen J, Sun Y. Transmission power adjustment of wireless sensor networks using fuzzy control[J].Wireless Communication & Mobile Computing,2009,9(6):805-818.
[12] Wang X, Xing G, Yao Y. Minimum transmission power configuration in real-time sensor networks with overlapping channels[J].ACM Transactions on Sensor Networks,2013,9(2):1-28.
[13] Chevillat P, Jelitto J, Truong H L. Dynamic data rate and transmit power adjustment in IEEE 802.11 wireless LANs[J]. International Journal of Wireless Information Networks,2005,12(3):123-145.
[14] Zhang J, Chen J, Sun Y. Transmission power adjustment of wireless sensor networks using fuzzy control algorithm [J]. Wireless Communications & Mobile Computing,2009(6):805-818.
[15] Lin S, Zhang J, Zhou G, et al. ATPC: adaptive transmission power control for wireless sensor networks[C]// International Conference on Embedded Networked Sensor Systems, SENSYS 2006. Boulder, Colorado, USA: DBLP,2006:223-236.
[16] 郝曉辰,竇晶晶,劉彬.基于路徑損耗的無線傳感器網絡分布式拓撲控制算法[J].軟件學報,2009,20(12):3213-3222.
[17] 馮淑娜.面向WSN的自適應模糊功率控制算法研究[D].杭州:浙江工業大學,2014.
[18] Huang Y, Diaz V H, Sendra J. A novel topology control approach to maintain the node degree in dynamic wireless sensor networks [J]. Sensors,2014,14(3):4672-4678.
[19] 邱樹偉,袁利永,李琰琰.能量捕獲無線傳感器網絡中速率自適應路由算法[J].計算機科學,2015,42(4):94-100.