陳家璘 周正 馮偉東 賀易 李靜茹 趙世文
摘 要:在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(WSN)中,容易因?yàn)楣收瞎?jié)點(diǎn)存在冗余的故障屬性、噪聲數(shù)據(jù)以及數(shù)據(jù)可靠性等問(wèn)題,從而產(chǎn)生傳輸錯(cuò)誤數(shù)據(jù),這將極大地消耗WSN節(jié)點(diǎn)中能量和帶寬,向用戶(hù)形成錯(cuò)誤的決策。為此,提出了基于蟻群算法和BP神經(jīng)網(wǎng)絡(luò)模型的WSN節(jié)點(diǎn)故障檢測(cè)方法。通過(guò)使用蟻群算法,使用戶(hù)通過(guò)尋找優(yōu)化路徑來(lái)定位WSN節(jié)點(diǎn)的位置,通過(guò)這種隨機(jī)搜索算法以及蟻群算法的搜索策略使用戶(hù)對(duì)WSN故障節(jié)點(diǎn)的位置進(jìn)行總體把握。然后又基于BP神經(jīng)網(wǎng)絡(luò)模型對(duì)獲取的WSN故障節(jié)點(diǎn)信息進(jìn)一步學(xué)習(xí),在數(shù)據(jù)訓(xùn)練過(guò)程中,依據(jù)WSN故障節(jié)點(diǎn)預(yù)測(cè)誤差,并進(jìn)一步調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,增加了故障診斷的精度。采用的算法對(duì)檢測(cè)WSN故障節(jié)點(diǎn)具有較好的性能,使無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的服務(wù)質(zhì)量大大提高,增強(qiáng)了系統(tǒng)的穩(wěn)定性,實(shí)驗(yàn)結(jié)果驗(yàn)證了算法的可行性和有效性。
關(guān)鍵詞:WSN節(jié)點(diǎn);故障檢測(cè);蟻群算法;BP神經(jīng)網(wǎng)絡(luò)模型; 定位
中圖分類(lèi)號(hào):TP393?????? 文獻(xiàn)標(biāo)識(shí)碼: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ú)線(xiàn)傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN) 是由大量的傳感器節(jié)點(diǎn)以自組織方式組成的一個(gè)監(jiān)控系統(tǒng)[1-2],其主要功能是實(shí)時(shí)地監(jiān)控與處理目標(biāo)區(qū)域的信息。在WSN中,通常布局綜合傳感器來(lái)監(jiān)測(cè)、感知、采集、處理某個(gè)區(qū)域的網(wǎng)絡(luò)信息,使得信息被完整地反饋給用戶(hù)[3-4]。在WSN傳輸和處理數(shù)據(jù)時(shí),大部分的WSN節(jié)點(diǎn)是隨機(jī)拋撒的,WSN節(jié)點(diǎn)常常部署在不可控制的惡劣環(huán)境中,用戶(hù)對(duì)部署后的節(jié)點(diǎn)不易實(shí)施維修處理[5-6]。致使個(gè)別節(jié)點(diǎn)發(fā)生崩潰、包損失、路由故障時(shí),用戶(hù)難以處理,使傳輸數(shù)據(jù)出錯(cuò),這將大大消耗節(jié)點(diǎn)的能量和網(wǎng)絡(luò)寬帶,網(wǎng)絡(luò)癱瘓出現(xiàn)的頻率就大大提高。因此,研究有效適用的節(jié)點(diǎn)模塊故障診斷算法顯得尤為重要[7-8] ,它對(duì)延長(zhǎng)WSN工作時(shí)間,維持系統(tǒng)穩(wěn)定運(yùn)行具有重要的現(xiàn)實(shí)意義。
為此,針對(duì)WSN故障節(jié)點(diǎn)檢測(cè)方法進(jìn)行了深入地研究。通過(guò)提出蟻群算法,尋求最優(yōu)路徑定位WSN故障節(jié)點(diǎn),又應(yīng)用了BP神經(jīng)網(wǎng)絡(luò)模型更進(jìn)一步地提高了學(xué)習(xí)精度,增加了檢測(cè)準(zhǔn)確率,為增強(qiáng)網(wǎng)絡(luò)的運(yùn)行提供必要的支撐。
1 WSN節(jié)點(diǎn)故障檢測(cè)系統(tǒng)
提出了一種將蟻群算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合的WSN節(jié)點(diǎn)故障檢測(cè)技術(shù),能夠全面檢測(cè)WSN節(jié)點(diǎn)的故障信息,大大提高了WSN節(jié)點(diǎn)信息檢測(cè)的準(zhǔn)確性和可靠性。在本方案構(gòu)架中,主要包括數(shù)據(jù)層、信息檢測(cè)層和系統(tǒng)應(yīng)用層,其系統(tǒng)構(gòu)架如圖1所示。
在本系統(tǒng)設(shè)計(jì)中,在WSN中布局了大量的傳感器節(jié)點(diǎn),在每個(gè)傳感器節(jié)點(diǎn),都存在故障的可能性,因此,在檢測(cè)前,需要對(duì)傳感器節(jié)點(diǎn)信息進(jìn)故障融合,通過(guò)融合故障信息,使用戶(hù)更全面地把握WSN節(jié)點(diǎn)信息情況,然后將融合的WSN節(jié)點(diǎn)信息通過(guò)本設(shè)計(jì)的算法進(jìn)行計(jì)算、處理。通過(guò)蟻群算法估計(jì)、定位傳感器節(jié)點(diǎn)的位置,通過(guò)BP神經(jīng)網(wǎng)絡(luò)對(duì)無(wú)線(xiàn)傳感器節(jié)點(diǎn)進(jìn)一步的學(xué)習(xí)。BP神經(jīng)網(wǎng)絡(luò)(Back-Propagation Network)又稱(chēng)反向傳播神經(jīng)網(wǎng)絡(luò)模型,能夠?qū)崿F(xiàn)WSN故障節(jié)點(diǎn)的精確估計(jì)和檢測(cè),通過(guò)對(duì)WSN故障節(jié)點(diǎn)的樣本數(shù)據(jù)進(jìn)行訓(xùn)練,使的網(wǎng)絡(luò)權(quán)值和閾值不斷地修正,得出更精確的數(shù)據(jù)[9-10]。在本系統(tǒng)設(shè)計(jì)中,得到的數(shù)據(jù)可在數(shù)據(jù)管理中心供用戶(hù)診斷并進(jìn)行數(shù)據(jù)顯示。也可以通過(guò)工業(yè)CAN總線(xiàn)遠(yuǎn)程傳遞到遠(yuǎn)程數(shù)據(jù)監(jiān)控中心,供更高一層監(jiān)控中心進(jìn)行管理。
2 故障檢測(cè)方法
如圖2所示,圖2是WSN節(jié)點(diǎn)故障檢測(cè)方法示意圖。在該方法中,蟻群算法在離散組合優(yōu)化問(wèn)題上具有突出的優(yōu)勢(shì)。因此,選用蟻群算法搜索WSN節(jié)點(diǎn),然后又使用BP神經(jīng)網(wǎng)絡(luò)模型,使故障檢測(cè)精度大大提高。
2.1 蟻群算法模型
蟻群算法(Ant Colony Optimization,ACO)是由意大利學(xué)者M(jìn).Dorigo等人提出的一種全局優(yōu)化的算法[1-4]。在該算法中,假設(shè)WSN節(jié)點(diǎn)的個(gè)數(shù)為N,未知節(jié)點(diǎn)個(gè)數(shù)為M,則函數(shù)表達(dá)式為:
然后根據(jù)上述公式建立BP神經(jīng)網(wǎng)絡(luò)模型,通常建立模型時(shí),采用三層 BP 網(wǎng)絡(luò)模型,將隱層結(jié)點(diǎn)數(shù)確定在7-11之間, 輸入層到隱層的數(shù)值介于0.2-0. 6之間,隱層到輸出層之間的數(shù)值介于0.1- 0. 5之間,由此建立BP 網(wǎng)絡(luò)模型。輸出參數(shù)信息通過(guò)BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行數(shù)據(jù)訓(xùn)練,最終得出的WSN故障節(jié)點(diǎn)的各個(gè)參數(shù)的故障識(shí)別、故障診斷。
3 實(shí)驗(yàn)及分析
采用MATLAB技術(shù)來(lái)仿真試驗(yàn),假設(shè)節(jié)點(diǎn)總個(gè)數(shù)為100,將其分布在10L*10 L的正方形區(qū)域內(nèi),其中L為區(qū)域邊長(zhǎng),本實(shí)驗(yàn)L =5 m。錨節(jié)點(diǎn)的比例為10%,設(shè)定未知節(jié)點(diǎn)的個(gè)數(shù)為90,錨節(jié)點(diǎn)的個(gè)數(shù)則為10。錨節(jié)和未知節(jié)點(diǎn)隨機(jī)分布在正方形區(qū)域內(nèi)。節(jié)點(diǎn)的仿真分布圖如圖4所示,在網(wǎng)絡(luò)中,節(jié)點(diǎn)的通訊半徑R=15 m,網(wǎng)絡(luò)連通度Connectivity=10.2。然后設(shè)置相關(guān)參數(shù),假設(shè)螞蟻數(shù)目N=20,移動(dòng)方向(S+1)=9,初始步長(zhǎng)λ=1,步長(zhǎng)衰減系數(shù)ζ=0.96,信息素持久度ρ=0.9,目標(biāo)函數(shù)最小的螞蟻對(duì)信息素的貢獻(xiàn)Q=5,最大迭代次數(shù)設(shè)為150。
首先采用上述算法進(jìn)行以下操作,步驟如下:
(1)對(duì)未知節(jié)點(diǎn)坐標(biāo)矩陣進(jìn)行初始化,設(shè)置各個(gè)參數(shù)初始值,假設(shè)T為迭代次數(shù),設(shè)置各個(gè)參數(shù)初始值。
(2)設(shè)置信息素濃度矩陣(τivs) M*(S+1)中所有元素τivs=C,其中C為常數(shù),C為信息素濃度初始值。
(3)將螞蟻元素遍歷所有未知節(jié)點(diǎn)。根據(jù)公式7為每個(gè)未知節(jié)點(diǎn)選擇下一步移動(dòng)的方向。
(4)計(jì)算每個(gè)螞蟻得到的目標(biāo)函數(shù)值,選擇最小的螞蟻的估計(jì)矩陣作為未知節(jié)點(diǎn)的估計(jì)矩陣。
(5)根據(jù)公式8更新信息素濃度,然后根據(jù)公式5對(duì)λ進(jìn)行更新;
(6)判斷是否滿(mǎn)足結(jié)束條件(即T是否大于最大迭代次數(shù),或者螞蟻找到的解都是相同解),若滿(mǎn)足則結(jié)束迭代;否則跳轉(zhuǎn)到Step3。
(7)輸出解的結(jié)果。
通過(guò)上述計(jì)算,作為第一實(shí)驗(yàn);然后采用上述方法,單獨(dú)采用BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),其得出的誤差數(shù)據(jù)為第二實(shí)驗(yàn);單獨(dú)采用蟻群算法進(jìn)行實(shí)驗(yàn),作為第三試驗(yàn)。下面通過(guò)曲線(xiàn)圖表示三種不同形式的誤差數(shù)據(jù)表示。
在圖7中,橫坐標(biāo)X表示時(shí)間t,縱坐標(biāo)Y表示計(jì)算誤差數(shù)據(jù)。上圖表示在t時(shí)間內(nèi),采用三種不同的方式進(jìn)行實(shí)驗(yàn)。其中▲表示采用蟻算法得出的誤差數(shù)據(jù)曲線(xiàn)圖,●表示采用BP神經(jīng)網(wǎng)絡(luò)模型得出的誤差數(shù)據(jù),■表示采用蟻群算法和BP神經(jīng)網(wǎng)絡(luò)模型得出的誤差數(shù)據(jù)。通過(guò)上述曲線(xiàn)對(duì)比,可以發(fā)現(xiàn),本設(shè)計(jì)的算法方法得出的誤差數(shù)據(jù)準(zhǔn)確度更高。因此使用本設(shè)計(jì)的方法具有較小的誤差,大大提高了判斷WSN故障節(jié)點(diǎn)的準(zhǔn)確度。
4 結(jié) 論
將蟻群算法應(yīng)用在無(wú)線(xiàn)傳感器節(jié)點(diǎn)定位中,并提出了基于蟻群算法的WSN故障節(jié)點(diǎn)定位算法,其能夠?qū)崿F(xiàn)WSN故障節(jié)點(diǎn)的最優(yōu)化搜索。通過(guò)迭代運(yùn)算,使得搜索路徑上螞蟻元素可以均勻地聚集,標(biāo)準(zhǔn)、動(dòng)態(tài)地調(diào)整螞蟻元素的路徑,實(shí)現(xiàn)對(duì)所選擇路徑的估計(jì),并對(duì)信息素進(jìn)行更新,快速得出路徑的局部最優(yōu)解。然后用戶(hù)使用BP神經(jīng)網(wǎng)絡(luò)模型對(duì)WSN故障節(jié)點(diǎn)信息進(jìn)一步學(xué)習(xí)、計(jì)算,通過(guò)將誤差數(shù)據(jù)反向計(jì)算、傳播,從而獲取更高的學(xué)習(xí)效率,使得對(duì)WSN故障節(jié)點(diǎn)信息的估計(jì)更加精確。大大提高了WSN故障節(jié)點(diǎn)檢測(cè)的精確性、可靠性,有助于用戶(hù)進(jìn)一步研究、分析WSN故障節(jié)點(diǎn)事件。
參考文獻(xiàn)
[1] 劉云璐, 蒲菊華, 方維維, 等. 一種無(wú)線(xiàn)傳感器網(wǎng)絡(luò)MAC協(xié)議優(yōu)化算法[J/O].計(jì)算機(jī)學(xué)報(bào), 2012, 35(3):529-539.
[2] 李建坡, 穆寶春.計(jì)算機(jī)應(yīng)用研究[J]. 電力自動(dòng)化設(shè)備, 2017, 34(1): 186-188.
[3] 魯義寬, 李波.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)故障診斷研究[J]. 激光雜志, 2016, 37(1): 71-74.
[4] 王麗紅, 于光華, 夏魁良.鄰域搜索蟻群算法在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)數(shù)據(jù)融合中的應(yīng)用[J].計(jì)算機(jī)測(cè)量與控制, 2017, 25(6):298-301.
[5] 袁圃, 毛劍琳, 向鳳紅, 等.改進(jìn)的基于遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的電網(wǎng)故障診斷[J/O].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào), 2017, 29(1): 118-122.
[6] 孫慧影, 林中鵬, 黃燦, 等. 基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的礦用通風(fēng)機(jī)故障診斷[J]. 工礦自動(dòng)化, 2017, 43(4): 37-41.
[7] 雷靜, 余斌. 基于信息融合和神經(jīng)網(wǎng)絡(luò)的煤巖識(shí)別方法[J].工礦自動(dòng)化, 2017, 43(9): 102-105.
[8] 馬天兵, 王孝東, 杜菲, 等. 基于小波包和BP神經(jīng)網(wǎng)絡(luò)的剛性罐道故障診斷[J]. 工礦自動(dòng)化,2018, 44(8):76-80.
[9] 戴天虹, 李昊.基于改進(jìn)蟻群算法的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)路由的優(yōu)化[J]. 計(jì)算機(jī)測(cè)量與控制, 2016, 24(2):321-324.
[10]余光華, 余成. WSN中利用蟻群路徑優(yōu)化的時(shí)隙選擇重排算法[J]. 計(jì)算機(jī)應(yīng)用研究, 2018, 35(10):3069-3074.