陳家璘 周正 馮偉東 賀易 李靜茹 趙世文
摘 要:在無線傳感器網(wǎng)絡(luò)(WSN)中,容易因為故障節(jié)點存在冗余的故障屬性、噪聲數(shù)據(jù)以及數(shù)據(jù)可靠性等問題,從而產(chǎn)生傳輸錯誤數(shù)據(jù),這將極大地消耗WSN節(jié)點中能量和帶寬,向用戶形成錯誤的決策。為此,提出了基于蟻群算法和BP神經(jīng)網(wǎng)絡(luò)模型的WSN節(jié)點故障檢測方法。通過使用蟻群算法,使用戶通過尋找優(yōu)化路徑來定位WSN節(jié)點的位置,通過這種隨機搜索算法以及蟻群算法的搜索策略使用戶對WSN故障節(jié)點的位置進行總體把握。然后又基于BP神經(jīng)網(wǎng)絡(luò)模型對獲取的WSN故障節(jié)點信息進一步學(xué)習(xí),在數(shù)據(jù)訓(xùn)練過程中,依據(jù)WSN故障節(jié)點預(yù)測誤差,并進一步調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,增加了故障診斷的精度。采用的算法對檢測WSN故障節(jié)點具有較好的性能,使無線傳感器網(wǎng)絡(luò)的服務(wù)質(zhì)量大大提高,增強了系統(tǒng)的穩(wěn)定性,實驗結(jié)果驗證了算法的可行性和有效性。
關(guān)鍵詞:WSN節(jié)點;故障檢測;蟻群算法;BP神經(jīng)網(wǎng)絡(luò)模型; 定位
中圖分類號:TP393?????? 文獻標(biāo)識碼:A
A Fault Detection Algorithm for Wireless Sensor Network Nodes
CHEN Jia-lin1, ZHOU Zheng1, FENG Wei-dong1,HE Yi1,LI Jing-ru1,ZHAO Shi-wen2
(1.State Grid Hubei Information & Telecommunication Co. Ltd., Wuhan, Hubei 430077,China;
2.Nanjing Nari Information & Telecommunication Technology Co. Ltd., Nanjing, Jiangsu 210000,China )
Abstract:In the wireless sensor network (WSN), it is easy to generate and transmit erroneous data due to redundant fault attributes, noise data, and data reliability of the faulty node. Thereby generating and transmitting erroneous data, which will greatly consume energy and bandwidth in the WSN node, and form an erroneous decision to the user. Aiming at this problem, this paper proposes a WSN node fault detection method based on ant colony algorithm and BP neural network model. By using the ant colony algorithm, the user locates the location of the WSN node by searching for an optimized path. The random search algorithm and the ant colony algorithm search strategy enable the user to grasp the overall location of the WSN fault node. Then, based on the BP neural network model, the WSN fault node information is further learned. In the data training process, the WSN fault node prediction error is further adjusted, and the weight and threshold of the network are further adjusted to increase the accuracy of fault diagnosis. The algorithm used? has better performance for detecting WSN fault nodes, which greatly improves the service quality of wireless sensor networks and enhances the stability of the system. The experimental results verify the feasibility and effectiveness of the algorithm.
Key words:WSN node; fault detection; ant colony algorithm; BP neural network model; localization
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN) 是由大量的傳感器節(jié)點以自組織方式組成的一個監(jiān)控系統(tǒng)[1-2],其主要功能是實時地監(jiān)控與處理目標(biāo)區(qū)域的信息。在WSN中,通常布局綜合傳感器來監(jiān)測、感知、采集、處理某個區(qū)域的網(wǎng)絡(luò)信息,使得信息被完整地反饋給用戶[3-4]。在WSN傳輸和處理數(shù)據(jù)時,大部分的WSN節(jié)點是隨機拋撒的,WSN節(jié)點常常部署在不可控制的惡劣環(huán)境中,用戶對部署后的節(jié)點不易實施維修處理[5-6]。致使個別節(jié)點發(fā)生崩潰、包損失、路由故障時,用戶難以處理,使傳輸數(shù)據(jù)出錯,這將大大消耗節(jié)點的能量和網(wǎng)絡(luò)寬帶,網(wǎng)絡(luò)癱瘓出現(xiàn)的頻率就大大提高。因此,研究有效適用的節(jié)點模塊故障診斷算法顯得尤為重要[7-8] ,它對延長WSN工作時間,維持系統(tǒng)穩(wěn)定運行具有重要的現(xiàn)實意義。
為此,針對WSN故障節(jié)點檢測方法進行了深入地研究。通過提出蟻群算法,尋求最優(yōu)路徑定位WSN故障節(jié)點,又應(yīng)用了BP神經(jīng)網(wǎng)絡(luò)模型更進一步地提高了學(xué)習(xí)精度,增加了檢測準(zhǔn)確率,為增強網(wǎng)絡(luò)的運行提供必要的支撐。
1 WSN節(jié)點故障檢測系統(tǒng)
提出了一種將蟻群算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的WSN節(jié)點故障檢測技術(shù),能夠全面檢測WSN節(jié)點的故障信息,大大提高了WSN節(jié)點信息檢測的準(zhǔn)確性和可靠性。在本方案構(gòu)架中,主要包括數(shù)據(jù)層、信息檢測層和系統(tǒng)應(yīng)用層,其系統(tǒng)構(gòu)架如圖1所示。
在本系統(tǒng)設(shè)計中,在WSN中布局了大量的傳感器節(jié)點,在每個傳感器節(jié)點,都存在故障的可能性,因此,在檢測前,需要對傳感器節(jié)點信息進故障融合,通過融合故障信息,使用戶更全面地把握WSN節(jié)點信息情況,然后將融合的WSN節(jié)點信息通過本設(shè)計的算法進行計算、處理。通過蟻群算法估計、定位傳感器節(jié)點的位置,通過BP神經(jīng)網(wǎng)絡(luò)對無線傳感器節(jié)點進一步的學(xué)習(xí)。BP神經(jīng)網(wǎng)絡(luò)(Back-Propagation Network)又稱反向傳播神經(jīng)網(wǎng)絡(luò)模型,能夠?qū)崿F(xiàn)WSN故障節(jié)點的精確估計和檢測,通過對WSN故障節(jié)點的樣本數(shù)據(jù)進行訓(xùn)練,使的網(wǎng)絡(luò)權(quán)值和閾值不斷地修正,得出更精確的數(shù)據(jù)[9-10]。在本系統(tǒng)設(shè)計中,得到的數(shù)據(jù)可在數(shù)據(jù)管理中心供用戶診斷并進行數(shù)據(jù)顯示。也可以通過工業(yè)CAN總線遠程傳遞到遠程數(shù)據(jù)監(jiān)控中心,供更高一層監(jiān)控中心進行管理。
2 故障檢測方法
如圖2所示,圖2是WSN節(jié)點故障檢測方法示意圖。在該方法中,蟻群算法在離散組合優(yōu)化問題上具有突出的優(yōu)勢。因此,選用蟻群算法搜索WSN節(jié)點,然后又使用BP神經(jīng)網(wǎng)絡(luò)模型,使故障檢測精度大大提高。
2.1 蟻群算法模型
蟻群算法(Ant Colony Optimization,ACO)是由意大利學(xué)者M.Dorigo等人提出的一種全局優(yōu)化的算法[1-4]。在該算法中,假設(shè)WSN節(jié)點的個數(shù)為N,未知節(jié)點個數(shù)為M,則函數(shù)表達式為:
然后根據(jù)上述公式建立BP神經(jīng)網(wǎng)絡(luò)模型,通常建立模型時,采用三層 BP 網(wǎng)絡(luò)模型,將隱層結(jié)點數(shù)確定在7-11之間, 輸入層到隱層的數(shù)值介于0.2-0. 6之間,隱層到輸出層之間的數(shù)值介于0.1- 0. 5之間,由此建立BP 網(wǎng)絡(luò)模型。輸出參數(shù)信息通過BP神經(jīng)網(wǎng)絡(luò)模型進行數(shù)據(jù)訓(xùn)練,最終得出的WSN故障節(jié)點的各個參數(shù)的故障識別、故障診斷。
3 實驗及分析
采用MATLAB技術(shù)來仿真試驗,假設(shè)節(jié)點總個數(shù)為100,將其分布在10L*10 L的正方形區(qū)域內(nèi),其中L為區(qū)域邊長,本實驗L =5 m。錨節(jié)點的比例為10%,設(shè)定未知節(jié)點的個數(shù)為90,錨節(jié)點的個數(shù)則為10。錨節(jié)和未知節(jié)點隨機分布在正方形區(qū)域內(nèi)。節(jié)點的仿真分布圖如圖4所示,在網(wǎng)絡(luò)中,節(jié)點的通訊半徑R=15 m,網(wǎng)絡(luò)連通度Connectivity=10.2。然后設(shè)置相關(guān)參數(shù),假設(shè)螞蟻數(shù)目N=20,移動方向(S+1)=9,初始步長λ=1,步長衰減系數(shù)ζ=0.96,信息素持久度ρ=0.9,目標(biāo)函數(shù)最小的螞蟻對信息素的貢獻Q=5,最大迭代次數(shù)設(shè)為150。
首先采用上述算法進行以下操作,步驟如下:
(1)對未知節(jié)點坐標(biāo)矩陣進行初始化,設(shè)置各個參數(shù)初始值,假設(shè)T為迭代次數(shù),設(shè)置各個參數(shù)初始值。
(2)設(shè)置信息素濃度矩陣(τivs) M*(S+1)中所有元素τivs=C,其中C為常數(shù),C為信息素濃度初始值。
(3)將螞蟻元素遍歷所有未知節(jié)點。根據(jù)公式7為每個未知節(jié)點選擇下一步移動的方向。
(4)計算每個螞蟻得到的目標(biāo)函數(shù)值,選擇最小的螞蟻的估計矩陣作為未知節(jié)點的估計矩陣。
(5)根據(jù)公式8更新信息素濃度,然后根據(jù)公式5對λ進行更新;
(6)判斷是否滿足結(jié)束條件(即T是否大于最大迭代次數(shù),或者螞蟻找到的解都是相同解),若滿足則結(jié)束迭代;否則跳轉(zhuǎn)到Step3。
(7)輸出解的結(jié)果。
通過上述計算,作為第一實驗;然后采用上述方法,單獨采用BP神經(jīng)網(wǎng)絡(luò)模型進行實驗,其得出的誤差數(shù)據(jù)為第二實驗;單獨采用蟻群算法進行實驗,作為第三試驗。下面通過曲線圖表示三種不同形式的誤差數(shù)據(jù)表示。
在圖7中,橫坐標(biāo)X表示時間t,縱坐標(biāo)Y表示計算誤差數(shù)據(jù)。上圖表示在t時間內(nèi),采用三種不同的方式進行實驗。其中▲表示采用蟻算法得出的誤差數(shù)據(jù)曲線圖,●表示采用BP神經(jīng)網(wǎng)絡(luò)模型得出的誤差數(shù)據(jù),■表示采用蟻群算法和BP神經(jīng)網(wǎng)絡(luò)模型得出的誤差數(shù)據(jù)。通過上述曲線對比,可以發(fā)現(xiàn),本設(shè)計的算法方法得出的誤差數(shù)據(jù)準(zhǔn)確度更高。因此使用本設(shè)計的方法具有較小的誤差,大大提高了判斷WSN故障節(jié)點的準(zhǔn)確度。
4 結(jié) 論
將蟻群算法應(yīng)用在無線傳感器節(jié)點定位中,并提出了基于蟻群算法的WSN故障節(jié)點定位算法,其能夠?qū)崿F(xiàn)WSN故障節(jié)點的最優(yōu)化搜索。通過迭代運算,使得搜索路徑上螞蟻元素可以均勻地聚集,標(biāo)準(zhǔn)、動態(tài)地調(diào)整螞蟻元素的路徑,實現(xiàn)對所選擇路徑的估計,并對信息素進行更新,快速得出路徑的局部最優(yōu)解。然后用戶使用BP神經(jīng)網(wǎng)絡(luò)模型對WSN故障節(jié)點信息進一步學(xué)習(xí)、計算,通過將誤差數(shù)據(jù)反向計算、傳播,從而獲取更高的學(xué)習(xí)效率,使得對WSN故障節(jié)點信息的估計更加精確。大大提高了WSN故障節(jié)點檢測的精確性、可靠性,有助于用戶進一步研究、分析WSN故障節(jié)點事件。
參考文獻
[1] 劉云璐, 蒲菊華, 方維維, 等. 一種無線傳感器網(wǎng)絡(luò)MAC協(xié)議優(yōu)化算法[J/O].計算機學(xué)報, 2012, 35(3):529-539.
[2] 李建坡, 穆寶春.計算機應(yīng)用研究[J]. 電力自動化設(shè)備, 2017, 34(1): 186-188.
[3] 魯義寬, 李波.無線傳感器網(wǎng)絡(luò)故障診斷研究[J]. 激光雜志, 2016, 37(1): 71-74.
[4] 王麗紅, 于光華, 夏魁良.鄰域搜索蟻群算法在無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合中的應(yīng)用[J].計算機測量與控制, 2017, 25(6):298-301.
[5] 袁圃, 毛劍琳, 向鳳紅, 等.改進的基于遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的電網(wǎng)故障診斷[J/O].電力系統(tǒng)及其自動化學(xué)報, 2017, 29(1): 118-122.
[6] 孫慧影, 林中鵬, 黃燦, 等. 基于改進BP神經(jīng)網(wǎng)絡(luò)的礦用通風(fēng)機故障診斷[J]. 工礦自動化, 2017, 43(4): 37-41.
[7] 雷靜, 余斌. 基于信息融合和神經(jīng)網(wǎng)絡(luò)的煤巖識別方法[J].工礦自動化, 2017, 43(9): 102-105.
[8] 馬天兵, 王孝東, 杜菲, 等. 基于小波包和BP神經(jīng)網(wǎng)絡(luò)的剛性罐道故障診斷[J]. 工礦自動化,2018, 44(8):76-80.
[9] 戴天虹, 李昊.基于改進蟻群算法的無線傳感器網(wǎng)絡(luò)路由的優(yōu)化[J]. 計算機測量與控制, 2016, 24(2):321-324.
[10]余光華, 余成. WSN中利用蟻群路徑優(yōu)化的時隙選擇重排算法[J]. 計算機應(yīng)用研究, 2018, 35(10):3069-3074.