賈俊青,周 佳,郭 杉
(1.內蒙古電力科學研究院,內蒙古 呼和浩特 010020;2.內蒙古電力(集團)有限責任公司航檢分公司,內蒙古呼和浩特 010020)
無線傳感器網絡(Wireless Sensor Networks,WSN)[1-4]是智能電網廣域通信中的重要組成部分。通過將網絡布置在傳感器探測區域中,無線傳感器所組成的節點即可與相鄰節點進行通信。而在此部署過程中,對無線能量的高效率利用較為關鍵。因此,MAC、路由協議、數據聚合等多種通信協議的目標均為提升無線能量的利用率[5-6]。
當前智能廣域電網具有區域面積大、電網結構復雜等特點,而作為WSN 的核心技術,路由協議的性能直接影響了能量傳遞的效率。WSN 路由協議的主要目的是通過對信號傳播可靠路徑的搜尋,將數據從某個節點轉發至目標節點。傳統的分簇通信路由協議無法對海量節點進行高效管理,文中基于廣域無線傳感器網絡對分簇路由算法加以改進,從而優化電力網絡數據的傳輸過程,該算法對提高電力通信系統的運行可靠性具有一定意義。
假設傳感器有N個節點,且被隨機放置在二維空間內,而基站位于該二維空間的外部,則節點模型的規則如下:
1)基站與節點的位置相對固定,傳感器節點能量有限,而基站能量視為無限;
2)節點的優先級相同,被選作簇首的概率也相同;
3)每個節點均有獨立ID,且傳感器中有位置傳感器和電量計。
除了系統模型外,節點傳輸數據也需消耗能量。WSN 通信能耗模型如圖1 所示。

圖1 WSN通信能耗模型
節點發送數據需要消耗的能量可表征為:
接收數據需要消耗的能量為:
節點硬件需要消耗的能量為:
式中,l為發送的二進制位數;d為信號傳輸的距離;Eelc為信號收發系數,單位為nJ/bit;Efs為能耗系數,單位為pJ(bit·m-2);EDA為節點工作時的基礎耗電系數;Emp為空間中的信號衰減系數,單位為pJ(bit·m-4)。
WSN 網絡路由協議按照節點組網方式的不同可分為平面與分簇路由協議兩種,其中后者能減少節點的數量,并降低系統功耗。典型的分簇路由協議網絡拓撲結構如圖2 所示。

圖2 LEACH分簇路由協議網絡拓撲結構
低功耗自適應集簇分層型協議(Low Energy Adaptive Clustering Hierarchy,LEACH)算法[7-11]是經典的分簇路由方法之一。該算法的基本思想是通過分簇來降低整個網絡的功耗,進而提升其整體性能。LEACH 路由協議將節點聚合成簇,而一個完整的簇由簇首及簇內節點構成。選擇簇首的具體方法是隨機生成一個0~1 的數,當該數值小于預設的判定值時,該節點將被選擇為簇首。在選擇過程中,若某個節點之前已被選為簇首,則在之后的過程中便不會再被選中。判定值I(n)如下所示:
式中,p表示預測的簇首占所有節點的百分比,r表示節點迭代次數,G表示未被選擇為簇首的普通節點集合。
在確定好簇首之后,會對其他節點進行通知。而其他節點則會選擇距離自身最近的簇首連接為簇,最終簇首再將簇內所有節點的信息相結合并發送至總節點,上述過程如圖3 所示。

圖3 簇首結合過程
雖然利用LEACH 協議將網絡劃分為簇結構能在一定程度上簡化網絡拓撲,但該協議仍存在諸多不足。如LEACH 的簇首選擇僅通過隨機數與閾值的比較而產生,故所有節點均可能成為簇首,這樣便會導致隨機性過高,并發生多個簇首分布不合理、簇內節點個數相差較大的情況,進而造成每個簇能耗的差異,且縮短系統整體的運行可靠性。因此針對上述缺點,文中使用啟發式搜索算法來對參數進行優化,從而提升系統的性能。
文中選擇的啟發式算法為粒子群算法(Particle Swarm Optimization,PSO)[12-14],其是一種模擬鳥類覓食行為的仿生學方法,即鳥群在搜尋食物源的過程中,雖然無法確定其正確位置,但可以通過個體間的信息分享使整個種群逐漸接近目標。
若將群體中的鳥類抽象為粒子,則假定種群中共有M個粒子,每個粒子均可用位置xi={xi1,xi2,…,xiN}和速度vi={vi1,vi2,…,viN}表示,其中i=1,2,3,…,M,粒子與種群的歷史最佳位置可分別表征為pbest、gbest,二者也可稱為局部和全局的最佳位置。粒子的位置、速度更新公式如下:
式中,w為慣性因子,其值越大,搜索步長就越大,即表示算法的全局特性越強;其值越小,則搜索步長也越小,代表算法的局部特性更強。vij為第i個粒子在第j維的速度分量;t為迭代次數;c1和c2為權重因子,這兩項參數可輔助w控制系統全局或局部特性發展的速度;r1、r2則代表0~1 間的隨機數。
粒子群算法的執行流程如圖4 所示。

圖4 粒子群算法執行流程
文中算法將被部署至基站中,按照以下步驟進行節點分簇:
步驟1:確定簇首適應度函數。該函數的選擇需要參考節點到簇首的平均距離,同時還需要考慮簇首的消耗能量。適應度函數的表達式為:
式中,fch為簇首適應度函數,f1、f2、f3分別表示剩余能量、簇首平均距離及能量分布的評價因子;α、β和λ分別為f1、f2、f3的權重因子;Ei(r)為第i個節點迭代r次后的剩余能量;Eave(r)則為所有節點迭代r次后的平均剩余能量。
步驟2:在指定的探測范圍內初始化粒子,并賦予粒子初始化的位置和速度。
步驟3:初始化粒子的最佳位置pbest與最佳速度vbest,并計算粒子的適應度,進而不斷更新粒子的最佳位置及速度。
步驟4:更新粒子的實時位置和速度,若達到搜索結束條件,輸出結果;否則,重復步驟3 直至滿足條件為止。
算法所搭載的系統結構如圖5 所示。

圖5 系統結構
廣域通信網絡[15-16]需要具備實時性及可靠性,因此文中使用這兩個指標對算法性能進行評估。
1)實時性采用報文傳輸時延來表示,其計算公式為:
式中,τ表示總的報文傳輸時延,τ1、τ2表示報文處理的總延時,τs表示報文發送延時,τp表示報文空間傳播延時,τq表示報文接收延時。報文傳輸總時延的計算過程,如圖6 所示。

圖6 報文總時延示意
2)可靠性采用誤碼率來表征,其是評估數據在規定時間內傳輸精確度的指標。誤碼率可表示如下:
式中,n為傳輸出錯的位數,N為傳輸數據的總位數,其與傳感器節點個數相等。
實驗平臺選擇了Matlab軟件,通過實驗對各個算法的性能指標加以對比。仿真參數設置如表1所示。

表1 參數設置
基于粒子群的分簇路由算法可以優化網絡能耗、提升系統的實時性,并增加數據傳輸的精確度。因此進行性能測試,對比算法為基礎LEACH、LDC、LEACH-GA 以及EELBCA[17-18]。
網絡能耗指的是在整個傳感器網絡運行中所耗費的總能量,能量耗費越少,表明系統相應的利用率越高。對不同迭代次數的算法進行測試,以獲得系統剩余能量。剩余能耗實驗結果,如表2 所示。從表中可以看出,隨著迭代次數的增加,各算法的剩余能量均在下降。且當迭代次數為1 300 次時,原始LEACH算法的剩余能量為0 J,這表示所有節點均已死亡;而該文算法則剩余31.2 J,在所有算法中為最佳。

表2 剩余能耗測試結果
系統實時性與可靠性指標使用式(8)-(9)中的系統報文傳播總時延及誤碼率表示,同時隨機選擇傳播的路由路徑,迭代次數選擇500 次,測試結果如表3 所示。

表3 傳播總時延測試結果
由表3 可知,在4 條路由傳播選擇路徑中,該文算法的平均運行時延約為1.79 ms,平均誤碼率則為0.212 5,在所有算法中均為最低。由此證明所提路由算法具有良好的準確度及實時性。
文中基于PSO 算法對LEACH 廣域通信傳感器分簇路由協議加以改進,通過使用PSO 算法的自適應函數對原算法的關鍵簇首選擇方式進行優化,并利用多參數加權的方式提高了系統的實時性及可靠性。在實驗仿真測試中,該文算法在不同迭代次數下的能量消耗均為最低,同時還具備更小的路由傳播時延和數據傳輸誤碼率。由此證明,該文設計的改進分簇算法性能相較原始算法有所提升,故可選擇較優的路徑進行數據傳輸。