魯華棟 馬世歡
(河南工業(yè)職業(yè)技術(shù)學(xué)院電子信息工程系 南陽 473000)
無線傳感器網(wǎng)絡(luò)是多種技術(shù)的融合,主要包括物理、無線、通信等技術(shù),由許多廉價、具有感知功能的節(jié)點組成,這些節(jié)點通過單跳或者多跳的方式進(jìn)行通信,在軍事、醫(yī)療、環(huán)境、工業(yè)等領(lǐng)域具有重要實際應(yīng)用價值[1~3]。在無線傳感器網(wǎng)絡(luò)的實際中,節(jié)點位置信息十分關(guān)鍵,因此節(jié)點定位研究成為當(dāng)前一個重要課題[4]。
根據(jù)有無距離測量,當(dāng)前主要有兩類節(jié)點定位模型:基于測距的節(jié)點定位模型和非測距的節(jié)點定位模型[5],基于測距的節(jié)點定位模型首先對節(jié)點之間的距離進(jìn)行測量,節(jié)點定位精度高[6],但由于要進(jìn)行節(jié)點之間距離的測量,節(jié)點定位過程比較復(fù)雜,無線傳感器網(wǎng)絡(luò)的定位成本高,實際應(yīng)用范圍窄[7]。基于非測距的節(jié)點定位模型不要測量節(jié)點之間的距離,節(jié)點定位過程簡單,但定位精度低,是當(dāng)前主要的無線傳感器定位模型[8]?;诜菧y距的節(jié)點定位模型常采用錨節(jié)點和待定位節(jié)點之間的關(guān)系進(jìn)行節(jié)點位置估計。節(jié)點采用隨機(jī)方式進(jìn)行部署,在初始階段每一個節(jié)點位置信息很難確定,主要通過GPS系統(tǒng)對節(jié)點位置進(jìn)行確定,但每一個節(jié)點安裝一個GPS系統(tǒng),定位成本高,而且在室內(nèi)環(huán)境中,GPS無法正常開展工作,因此常采用一些算法實現(xiàn)節(jié)點自身的定位[9]。通常情況下,隨機(jī)部署一些錨節(jié)點,錨節(jié)點的位置已經(jīng)知道,對于待定位節(jié)點,通過測量其與錨節(jié)點之間的距離,得到它們的位置關(guān)系,然后采用三邊定位算法或者最小二乘算法實現(xiàn)節(jié)點位置信息的估計[10]。但當(dāng)錨節(jié)點數(shù)過少時,很難實現(xiàn)節(jié)點精確定位。為此有學(xué)者提出了基于神經(jīng)網(wǎng)絡(luò)的傳感器節(jié)點定位模型,但神經(jīng)網(wǎng)絡(luò)自身存在一定的不足,影響傳感器節(jié)點的定位效果[11]。
為了提高無線傳感器節(jié)點的定位精度,提出了改進(jìn)神經(jīng)網(wǎng)絡(luò)的無線傳感器節(jié)點定位模型,并通過仿真實驗測試模型的性能,結(jié)果表明,改進(jìn)神經(jīng)網(wǎng)絡(luò)不僅提高了傳感器節(jié)點定位的精度,而且傳感器節(jié)點定位的實時性較好。
BP神經(jīng)網(wǎng)絡(luò)是一種具有誤差反饋的神經(jīng)網(wǎng)絡(luò)的,通常為3層,那么基本結(jié)構(gòu)如圖1所示,隱含層采用Sigmoid函數(shù)。
圖1 神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)
神經(jīng)網(wǎng)絡(luò)輸入層的輸出可以表示:
隱含層節(jié)點的輸入和輸出計算公式為
神經(jīng)網(wǎng)絡(luò)輸出層節(jié)點的輸入和輸出計算公式為
式中,wij和為wli分別表示隱含層和輸出層的權(quán)值。
設(shè)神經(jīng)網(wǎng)絡(luò)的輸出層的誤差為
采和梯度下降算法對權(quán)值進(jìn)行不斷的調(diào)整權(quán)值,使輸出誤差E(k)朝更小的方向進(jìn)行搜索,并引入一個加快搜索速度的的慣性項。li
式中,η表示學(xué)習(xí)速率;α表示慣性系數(shù)。
輸出層權(quán)值的學(xué)習(xí)算法為
那么同樣可以知道,隱含層權(quán)值的學(xué)習(xí)算法為
粒子群算法通過粒子間的協(xié)作和信息共享尋找問題的最優(yōu)解,粒子代表問題的一個可行解,每一個粒子均包括位置、速度,同時采用適應(yīng)度值描述其好壞。設(shè)在L維的搜索空間中,有m個粒子的粒子群位置向量為Z=( Z1,Z2,…,Zm),第i個粒子位置可以表示Zi=( zi1,zi2,…,ziL),其速度為Vi=( vi1,vi2,…,viL),粒子和粒子群的個體極值分別為Pbesti=( Pi1,Pi2,…,PiL)和Gbest=(G1,G2,…,GL),通過跟蹤它們的值更新粒子速度和位置,具體為
式中,iter為當(dāng)前迭代次數(shù);c1和c2為加速度因子;r1和r2是隨機(jī)數(shù)。
設(shè)一個二維空間中,共有n個傳感器節(jié)點,它們通信能力相同,采用隨機(jī)方式進(jìn)行部署,共有k個錨節(jié)點,這些錨節(jié)點的位置信息通過GPS系統(tǒng)已經(jīng)知道,相鄰傳感器節(jié)點可以通過單跳方式進(jìn)行直接通信,而不相鄰傳感器節(jié)點可以通過多跳方式進(jìn)行間接通信,統(tǒng)計每一個節(jié)點與錨節(jié)點之間的最小跳數(shù),設(shè)節(jié)點i和錨節(jié)點的最小跳數(shù)為g(si,sj),那么節(jié)點i與全部錨節(jié)點的最小跳數(shù)組成的向量為
設(shè)3個錨節(jié)點A、B和C的位置為(xA,yA)、(xB,yB)、(xC,yC),待定位節(jié)點D位置為(x,y),(x,y)與3個錨節(jié)點間的距離分別為dAD、dBD、dCD,那么D位置的計算公式為
從式(16)可以看出,要得到高精度的節(jié)點D位置信息,其與錨節(jié)點之間的距離十分關(guān)鍵。當(dāng)前距離測量一般采用信號達(dá)到時間差實現(xiàn),設(shè)兩個節(jié)點的信號傳播速度分別為v1和v2,它們達(dá)到的時間分別為t1和t2,那么節(jié)點之間的距離計算公式為
式中,p(d)表示信號衰減,其定義如下:
式中,α表示路徑衰減因子。
設(shè)b=[ p(d1),p(d2),…,p(dn)],X=[ p(d0),α,xξ],xξ表示置信系數(shù),那么可以建立如下方程:
通過BP神經(jīng)網(wǎng)絡(luò)對式(19)進(jìn)行求解,確定距離測量值、誤差方差、位置信息之間的關(guān)系,并通過粒子群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值?;诟倪M(jìn)神經(jīng)網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)節(jié)點定位模型工作步驟如下。
Step1:確定錨節(jié)點的位置信息,每一個錨節(jié)點廣播自身位置信息。
Step2:待定位節(jié)點接收錨節(jié)點的位置信息,并計算它們之間的最小跳數(shù)。
Step3:采用所有位置信息構(gòu)建BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本。
Step4:初始化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)以及相關(guān)參數(shù)。
Step5:采用粒子群優(yōu)化算法對BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值進(jìn)行確定。
Step6:采用BP神經(jīng)網(wǎng)絡(luò)對傳感器節(jié)點定位訓(xùn)練樣本進(jìn)行學(xué)習(xí),并計算輸出層的誤差。
Step7:如果誤差沒有達(dá)到實際要求,返回Step5繼續(xù)學(xué)習(xí)。
Step8:建立最優(yōu)的無線傳感器節(jié)點定位模型。
傳感器節(jié)點定位模型的結(jié)構(gòu)如圖2所示。
圖2 無線傳感器節(jié)點定位模型的結(jié)構(gòu)
為了分析改進(jìn)神經(jīng)網(wǎng)絡(luò)的無線傳感器節(jié)點定位性能,選擇文獻(xiàn)[12]的傳感器節(jié)點定位模型進(jìn)行對比實驗。將100個傳感器節(jié)點隨機(jī)部署于100m×100m的空間中,錨節(jié)點數(shù)量為20個,采用傳感器節(jié)點定位誤差對定位結(jié)果進(jìn)行評價。
兩種無線傳感器節(jié)點定位模型的定位誤差變化如圖3所示。對圖3的實驗結(jié)果進(jìn)行分析可以發(fā)現(xiàn),本文模型的無線傳感器節(jié)點定位誤差小,而且變化范圍很小,說明傳感器節(jié)點定位結(jié)果可靠,而對比模型的傳感器節(jié)點定位誤差大,波動十分劇烈,無法有效實現(xiàn)傳感器節(jié)點的定位,本文模型的傳感器節(jié)點定位結(jié)果具有明顯的優(yōu)越性。
錨節(jié)點數(shù)量與定位誤差之間的變化關(guān)系如圖4所示,從圖4可知,錨節(jié)點數(shù)量越多,傳感器節(jié)點的定位誤差越小,這是由于錨節(jié)點越多,可以更加準(zhǔn)確地對定位節(jié)點的信息進(jìn)行采集,而在相同錨節(jié)節(jié)點數(shù)量下,本文模型通過改進(jìn)神經(jīng)網(wǎng)絡(luò)對模型參數(shù)進(jìn)行擬合,傳感器節(jié)點定位性能更優(yōu),說明傳感器節(jié)點定位成本越低,在無線感器網(wǎng)絡(luò)的實際應(yīng)用價值越高。
圖4 定位誤差與錨節(jié)點之間的變化關(guān)系
節(jié)點定位是無線傳感器應(yīng)用中最為關(guān)鍵的技術(shù)之一,在分析當(dāng)前無線傳感器節(jié)點定位模型基礎(chǔ)上,提出改進(jìn)神經(jīng)網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)節(jié)點定位模型,通過神經(jīng)網(wǎng)絡(luò)對模型參數(shù)進(jìn)行擬合,并采用粒子群算法優(yōu)化對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,仿真測試結(jié)果表明,改進(jìn)神經(jīng)網(wǎng)絡(luò)可以對誤差進(jìn)行精確擬合,建立了更優(yōu)的無線傳感器節(jié)點定位模型,獲得高精度的傳感器節(jié)點定位結(jié)果,而且沒有降低無線傳感器節(jié)點的定位速度,能夠滿足實時性要求,傳感器節(jié)點定位結(jié)果可靠。