鄒自明 李福敏 喬新新
摘? 要: 針對(duì)傳統(tǒng)無(wú)線信號(hào)傳播模型的參數(shù)一般通過(guò)擬合或直接根據(jù)經(jīng)驗(yàn)得出,且又受環(huán)境復(fù)雜、多徑效應(yīng)等因素的影響,使得定位精度不高。為提高定位精度,引入廣義回歸神經(jīng)網(wǎng)絡(luò)(GRNN)來(lái)構(gòu)建定位模型,以未知節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的接收信號(hào)強(qiáng)度值(RSSI)作為網(wǎng)絡(luò)的輸入,未知節(jié)點(diǎn)的位置坐標(biāo)(X,Y)作為輸出來(lái)擬合網(wǎng)絡(luò)模型。同時(shí)采用剔除處理和卡爾曼濾波處理對(duì)采集的RSSI值進(jìn)行預(yù)處理,來(lái)削弱環(huán)境因素對(duì)信號(hào)的擾動(dòng)。為避免GRNN參數(shù)選取的隨意性及人為因素的干擾,采用混沌量子粒子群算法(CQPSO)來(lái)優(yōu)化網(wǎng)絡(luò)的光滑因子([σ]),以建立最優(yōu)的網(wǎng)絡(luò)定位模型來(lái)實(shí)現(xiàn)對(duì)未知節(jié)點(diǎn)坐標(biāo)的預(yù)測(cè)。在Matlab平臺(tái)上,與GRNN模型相比,其結(jié)果顯示改進(jìn)的定位算法具有更高的定位精度,提高了GRNN回歸預(yù)測(cè)效果以及模型的泛化能力。
關(guān)鍵詞: 節(jié)點(diǎn)定位; ZigBee; 廣義回歸神經(jīng)網(wǎng)絡(luò); 混沌量子粒子群算法; 網(wǎng)絡(luò)預(yù)測(cè); 仿真驗(yàn)證
中圖分類號(hào): TN915?34; TP393? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2020)04?0062?05
Research on ZigBee node positioning algorithm based on CQPSO?GRNN
ZOU Ziming, LI Fumin, QIAO Xinxin
(College of Mechanical and Control Engineering, Guilin University of Technology, Guilin 541004, China)
Abstract: The parameters of the traditional wireless signal propagation model are obtained in general by fitting or directly based on experience, and are affected by complex environment, multipath effect and other factors, which makes the positioning accuracy is low. Therefore, the generalized regression neural network (GRNN) is introduced to construct the positioning model, the RSSI received from between the unknown nodes and the reference nodes are taken as the network input, and the position coordinates of the unknown nodes (X,Y) are used as the network output to fitting the network model. At the same time, elimination processing and kalman filter processing were used to preprocess the collected RSSI value to weaken the disturbance of signal caused by environmental factors. The CQPSO algorithm is used to circularly measure the optimal smoothing factor (σ) to avoid the interference of human factors and random selection of GRNN parameters, so as to establish the optimal network location model to realize the prediction of unknown node coordinates. On the Matlab platform, in comparison with the GRNN model, the results show that the improved positioning algorithm has higher positioning accuracy, which improves the regression prediction effect of GRNN and the generalization ability of the model.
Keywords: node positioning; ZigBee; GRNN; QPSO; network prediction; simulation verification
0? 引? 言
伴隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,無(wú)線傳感器網(wǎng)絡(luò)技術(shù)(WSN)成為一大研究熱點(diǎn),而ZigBee技術(shù)以其低功耗、成本低、可靠性高等優(yōu)點(diǎn)在眾多的WSN技術(shù)中熠熠閃光,成為節(jié)點(diǎn)定位的關(guān)鍵技術(shù),通過(guò)RSSI值反映的空間信息來(lái)獲取目標(biāo)的位置信息[1]。為提高定位精度,在WSN節(jié)點(diǎn)定位中常應(yīng)用人工神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)算法等來(lái)進(jìn)行改善。GRNN網(wǎng)絡(luò)是RBF網(wǎng)絡(luò)的一種變形,它具有強(qiáng)大的非線性擬合能力和容錯(cuò)能力,在逼近能力和學(xué)習(xí)速度上均優(yōu)于RBF網(wǎng)絡(luò),網(wǎng)絡(luò)模型結(jié)構(gòu)簡(jiǎn)單,最大限度地減少了人為因素對(duì)模型參數(shù)選擇的影響,它也不同于多數(shù)的神經(jīng)網(wǎng)絡(luò)對(duì)樣本數(shù)據(jù)有較高的要求,當(dāng)樣本數(shù)據(jù)較少時(shí),也有較好的預(yù)測(cè)結(jié)果,應(yīng)用范圍更廣。本文將該網(wǎng)絡(luò)應(yīng)用到節(jié)點(diǎn)定位中,建立RSSI與位置坐標(biāo)(X,Y)的非線性映射模型。目前GRNN網(wǎng)絡(luò)的光滑因子[σ]選取主要依據(jù)經(jīng)驗(yàn)知識(shí),手動(dòng)設(shè)置,在很大程度上會(huì)對(duì)網(wǎng)絡(luò)的預(yù)測(cè)造成影響。從數(shù)學(xué)的角度來(lái)看,[σ]的選取實(shí)質(zhì)上是一個(gè)尋優(yōu)問(wèn)題,即尋找到一個(gè)最優(yōu)[σ],使得網(wǎng)絡(luò)的預(yù)測(cè)輸出與實(shí)際值的均方根差最小。因此本文采用量子粒子群算法(QPSO)結(jié)合混沌搜索來(lái)優(yōu)化[σ],根據(jù)未知節(jié)點(diǎn)的預(yù)測(cè)坐標(biāo)與實(shí)際坐標(biāo)的均方根差來(lái)構(gòu)造適應(yīng)度函數(shù),通過(guò)對(duì)[σ]進(jìn)行有限次迭代尋優(yōu)使得適應(yīng)度函數(shù)值達(dá)到最小,確定出最佳的[σ]來(lái)構(gòu)建網(wǎng)絡(luò)模型,提高網(wǎng)絡(luò)回歸預(yù)測(cè)效果,準(zhǔn)確定位未知節(jié)點(diǎn)的坐標(biāo)。
式中,[ad]和[bd]分別為優(yōu)化變量的最小值和最大值。
3) 對(duì)[xld]進(jìn)行混沌搜索,[xld=xld+βxld],如果[f(xld) 4) 更新 [l=l+1,cxld=μcxld(1-cxld)]? ? (12) 5) 當(dāng)達(dá)到最大的迭代次數(shù)時(shí),[f?]保持不變,搜索結(jié)束;否則轉(zhuǎn)至步驟2)繼續(xù)搜索。 2.3? CQPSO算法的性能比較 為了驗(yàn)證改進(jìn)算法的性能,選取2個(gè)經(jīng)典測(cè)試函數(shù)進(jìn)行測(cè)試。 1) [f1x=i=1nx2i],[-100≤xi≤100],全局最小值在[x=(0,0,…,0)]處取值0。 2)[f2(x)=i=1nx2i-10cos(2πxi)+10],[-5.12≤xi≤][5.12],全局最小值在[x=(0,0,…,0)]處取值0。 [f1x,f2x]的尋優(yōu)曲線如圖2、圖3所示。通過(guò)對(duì)比發(fā)現(xiàn)PSO算法在迭代后期易陷入局部最優(yōu)值,而CQPSO算法可以擺脫局部極值并搜索到全局最優(yōu)解。 2.4? CQPSO算法優(yōu)化光滑因子的步驟 1) 種群初始化。設(shè)置種群維數(shù)、種群規(guī)模、最大迭代次數(shù)和優(yōu)化參數(shù)的最大、最小值。 2) 構(gòu)造適應(yīng)度函數(shù)為: [ffitnessi=1Ni=1Nx′i-xi2+y′i-yi2] (13) 式中:[ffitnessi]是粒子[i]的適應(yīng)度值;[xi,yi]是第[i]個(gè)定位節(jié)點(diǎn)的實(shí)際坐標(biāo);[(x′i-xi)]為網(wǎng)絡(luò)模型對(duì)第[i]個(gè)定位節(jié)點(diǎn)的預(yù)測(cè)坐標(biāo)。 根據(jù)設(shè)置的適應(yīng)度函數(shù),計(jì)算初始種群中每個(gè)粒子的適應(yīng)度值,并將這些適應(yīng)度值分別設(shè)置為其粒子的最優(yōu)值,然后對(duì)其比較得出一個(gè)全局最優(yōu)值,并將與全局最優(yōu)值相對(duì)應(yīng)的粒子位置記錄為全局最優(yōu)位置。 3) 利用薛定諤波動(dòng)方程更新粒子的位置,并對(duì)粒子的位置進(jìn)行限制。 4) 重新計(jì)算粒子的適應(yīng)度值,找出全局最優(yōu)適應(yīng)度值和全局最優(yōu)粒子。 5) 采用混沌變量搜索,將混沌優(yōu)化遍歷的范圍擴(kuò)大到優(yōu)化變量的取值范圍。以QPSO算法搜索到當(dāng)前最優(yōu)解為基礎(chǔ),產(chǎn)生混沌序列,若在領(lǐng)域中發(fā)現(xiàn)更好的位置,那么混沌序列中的最優(yōu)位置將取代當(dāng)前位置,從而使種群擺脫局部最優(yōu)。 6) 判斷是否達(dá)到設(shè)置的Tmax,或是否滿足搜索精度的需求,若達(dá)到則結(jié)束尋優(yōu),否則回到步驟2)再次執(zhí)行,直到達(dá)到優(yōu)化終止條件。 7) 最終得到最優(yōu)的[σ],重構(gòu)GRNN網(wǎng)絡(luò),將待測(cè)樣本輸入到訓(xùn)練好的網(wǎng)絡(luò)模型中即可得到最佳輸出。 2.5? 數(shù)據(jù)濾波 1) 剔除處理 對(duì)采集的RSSI數(shù)據(jù)庫(kù)中的一些奇異值進(jìn)行剔除,這些值誤差較大,公式為: [Vi=RSSIi-RSSImean]? ? ? ? ? (14) [δ=1n-1i=1nV2i]? ? ? ? ? (15) 根據(jù)[3δ]準(zhǔn)則對(duì)樣本值的去留做出判斷,其標(biāo)準(zhǔn)為:若[Vi>3δ],則對(duì)應(yīng)[RSSIi]值有較大突變,需將其剔除。 2) 卡爾曼濾波(KF)處理 對(duì)經(jīng)剔除處理的RSSI數(shù)據(jù)庫(kù)進(jìn)行KF處理,過(guò)程如圖4所示。 3? 實(shí)驗(yàn)結(jié)果與仿真分析 3.1? 實(shí)驗(yàn)環(huán)境搭建 本次實(shí)驗(yàn)采集的RSSI值是基于美國(guó)TI公司開(kāi)發(fā)的CC2431無(wú)線定位芯片,此定位系統(tǒng)由4部分組成:網(wǎng)關(guān)節(jié)點(diǎn)、參考節(jié)點(diǎn)、定位節(jié)點(diǎn)和上位機(jī)。在上位機(jī)開(kāi)發(fā)環(huán)境IAR Embedded Workbench中分別編譯網(wǎng)關(guān)節(jié)點(diǎn)、參考節(jié)點(diǎn)和定位節(jié)點(diǎn)的程序代碼,將生成的目標(biāo)程序通過(guò)仿真器下載到相應(yīng)的節(jié)點(diǎn)模塊中。 選擇定位區(qū)域的面積為10 m×10 m,在定位區(qū)域的四個(gè)角落布置參考節(jié)點(diǎn),其坐標(biāo)依次為:(0,0)、(10,0)、(10,10)、(0,10),在定位區(qū)域中均勻地選取437個(gè)接收節(jié)點(diǎn),分別接收來(lái)自四個(gè)參考節(jié)點(diǎn)的信號(hào),接收100次并記錄與四個(gè)參考節(jié)點(diǎn)之間的RSSI值,并對(duì)采集的RSSI數(shù)據(jù)庫(kù)進(jìn)行剔除處理和卡爾曼濾波處理。此定位算法模型由訓(xùn)練網(wǎng)絡(luò)階段和測(cè)試節(jié)點(diǎn)階段組成。在訓(xùn)練網(wǎng)絡(luò)階段中,將獲取的樣本數(shù)據(jù)進(jìn)行預(yù)處理后訓(xùn)練網(wǎng)絡(luò),構(gòu)建CQPSO?GRNN定位模型;測(cè)試節(jié)點(diǎn)階段是將定位節(jié)點(diǎn)接收參考節(jié)點(diǎn)的RSSI值輸入到已經(jīng)訓(xùn)練完畢的網(wǎng)絡(luò)定位模型,來(lái)預(yù)測(cè)出定位節(jié)點(diǎn)的位置坐標(biāo)。 3.2? 測(cè)試CQPSO?GRNN模型的最優(yōu)光滑因子 從圖5可見(jiàn),在尋優(yōu)的過(guò)程中目標(biāo)函數(shù)適應(yīng)度值隨著迭代次數(shù)的增加而快速下降,經(jīng)過(guò)13代尋優(yōu)后CQPSO算法就尋得最優(yōu)值,所得到的目標(biāo)函數(shù)適應(yīng)度值為0.130 3。 從圖6可知,選取光滑因子為0.189 7時(shí),該網(wǎng)絡(luò)能夠取得最小均方誤差,使得預(yù)測(cè)精度最高。 3.3? 定位結(jié)果分析 選取30組的測(cè)試數(shù)據(jù),測(cè)試兩種網(wǎng)絡(luò)模型預(yù)測(cè)輸出坐標(biāo)是否和實(shí)際坐標(biāo)相吻合,結(jié)果如圖7、圖8所示。 GRNN模型定位的最大誤差是2.509 8 m,最小誤差是0.438 5 m,平均誤差是1.323 6 m,而CQPSO?GRNN模型定位的最大誤差是1.323 7 m,最小誤差是0.024 1 m,平均誤差是0.369 9 m。顯然,CQPSO?GRNN模型的定位精度高于GRNN。 3.4? 模型性能比較 為了說(shuō)明CQPSO?GRNN模型在節(jié)點(diǎn)定位中的優(yōu)越性和準(zhǔn)確性,在Matlab R2015b平臺(tái)上模擬一個(gè)標(biāo)準(zhǔn)的仿真環(huán)境,100個(gè)節(jié)點(diǎn)隨機(jī)分布在100 m×100 m的區(qū)域內(nèi),并從中隨機(jī)選取一定比例的節(jié)點(diǎn)作為參考節(jié)點(diǎn),剩余的則為未知節(jié)點(diǎn)。下面將從不同的參考節(jié)點(diǎn)密度和通信半徑來(lái)比較GRNN,PSO?GRNN和CQPSO?GRNN的定位性能。 1) 參考節(jié)點(diǎn)密度對(duì)定位誤差的影響 由圖9可知,隨著參考節(jié)點(diǎn)密度的增加,三種算法的定位誤差都隨之減小,但在相同參考節(jié)點(diǎn)密度下,CQPSO?GRNN算法定位精度更高。 2) 節(jié)點(diǎn)通信半徑對(duì)定位誤差的影響 從圖10可以看出,隨著通信半徑的增加,節(jié)點(diǎn)的定位誤差均有下降,而CQPSO?GRNN算法的曲線變化幅度比較平緩,且在相同通信半徑的情況下,其定位誤差低一些。 4? 結(jié)? 論 為提高WSN節(jié)點(diǎn)定位精度,本文采用基于CQPSO?GRNN節(jié)點(diǎn)定位算法,通過(guò)粒子的量子特性增強(qiáng)全局尋優(yōu)能力,并結(jié)合混沌特性避免了種群陷入局部最優(yōu)且增加了種群的多樣性,來(lái)進(jìn)行有限次的迭代尋優(yōu),增強(qiáng)全局尋找最優(yōu)光滑因子的能力;同時(shí)對(duì)采集的RSSI數(shù)據(jù)庫(kù)進(jìn)行剔除處理和卡爾曼濾波處理,保證數(shù)據(jù)采集的可靠性和有效性。實(shí)驗(yàn)仿真結(jié)果顯示,本文采用的定位算法能夠降低定位的不確定性,提高定位精度,應(yīng)用價(jià)值更高。 參考文獻(xiàn) [1] YUELIN D U, SHI X R, WANG K H. Research and realization of indoor positioning system algorithm based on ZigBee [J]. Computer technology and development, 2014, 24(7): 245?249. [2] SAMMEN S S, MOHAMED T A, GHAZALI A H, et al. Generalized regression neural network for prediction of peak outflow from dam breach [J]. Water resources management, 2017, 31(1): 549?562. [3] 王英博,聶娜娜,王銘澤,等.修正型果蠅算法優(yōu)化GRNN網(wǎng)絡(luò)的尾礦庫(kù)安全預(yù)測(cè)[J].計(jì)算機(jī)工程,2015,41(4):267?272. [4] 葛柳飛,李克清.基于自適應(yīng)GRNN的無(wú)線室內(nèi)定位算法[J].計(jì)算機(jī)工程,2016,42(6):81?85. [5] VAN DEN BERGH F, ENGELBRECHT A P. A study of particle swarm optimization particle trajectories [J]. Information sciences, 2006(8): 937?971. [6] SONG B, WANG Z, ZOU L. On global smooth path planning for mobile robots using a novel multimodal delayed PSO algorithm [J]. Cognitive computation, 2017, 9(1): 5?17. [7] HUANG C, ZHANG D, SONG G. A novel mapping algorithm for three?dimensional network on chip based on quantum?behaved particle swarm optimization [J]. Frontiers of computer science in China, 2017, 11(4): 622?631. [8] LI Y, BAI X, JIAO L, et al. Partitioned?cooperative quantum?behaved particle swarm optimization based on multilevel thresholding applied to medical image segmentation [J]. Applied soft computing, 2017, 56: 345?356. [9] 方旺盛,劉曉鑫.混沌粒子群算法在矩陣秩RSSI算法中的研究[J].計(jì)算機(jī)工程與應(yīng)用,2016,52(4):74?78. [10] MOJTAB S, BAMAKAN H, WANG H D. An effective intrusion detection framework based on MCLP/SVM optimized by time?varying chaos particle swarm optimization [J]. Neurocomputing, 2016, 199: 90?102.