卞國龍,黃海松,王安憶,于凱華
(1.貴州大學(xué) 現(xiàn)代制造技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,貴陽 550025;2.中國海洋大學(xué) 工程學(xué)院,山東 青島 266100;3.國網(wǎng)山東省電力公司濰坊供電公司,山東 濰坊 261021)
基于PSO-BP算法的無線傳感器網(wǎng)絡(luò)定位優(yōu)化*
卞國龍*1,黃海松1,王安憶2,于凱華3
(1.貴州大學(xué) 現(xiàn)代制造技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,貴陽 550025;2.中國海洋大學(xué) 工程學(xué)院,山東 青島 266100;3.國網(wǎng)山東省電力公司濰坊供電公司,山東 濰坊 261021)
在研究現(xiàn)有定位算法的基礎(chǔ)上,針對(duì)基于接收信號(hào)強(qiáng)度指示(RSSI)定位模型中的參數(shù)易受環(huán)境影響等問題,提出了一種新型的粒子群優(yōu)化(PSO)算法與后向傳播(BP)神經(jīng)網(wǎng)絡(luò)相結(jié)合的算法。BP網(wǎng)絡(luò)算法權(quán)值的修正依賴于非線性梯度值,易形成局部極值,同時(shí)學(xué)習(xí)次數(shù)較多,需先通過粒子群算法進(jìn)行優(yōu)化。為了提高定位精度,首先采用速度常量法濾波處理,然后通過改進(jìn)的混合優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值進(jìn)行優(yōu)化,并分析算法的性能。試驗(yàn)中隱層節(jié)點(diǎn)個(gè)數(shù)采用試錯(cuò)法,從12到19變化,以確定合適數(shù)目。實(shí)驗(yàn)結(jié)果表明,與一般加權(quán)算法和傳統(tǒng)BP算法相比,改進(jìn)的混合優(yōu)化算法可大幅改善測(cè)距誤差對(duì)定位誤差的影響,同時(shí)可使25 m內(nèi)最小定位誤差小于0.27 m。
無線傳感器網(wǎng)絡(luò);定位算法;測(cè)量誤差;BP神經(jīng)網(wǎng)絡(luò);粒子群優(yōu)化;路徑損耗模型
隨著無線傳感網(wǎng)絡(luò)的發(fā)展,人們對(duì)定位技術(shù)的需求不斷提升。定位算法主要分為兩類:一類為基于測(cè)距的定位算法,如接收信號(hào)強(qiáng)度指示(Received Signal Strength Indication,RSSI)算法、TOA(Time of Arrival)算法等;另一類為基于非測(cè)距的定位算法,如APIT(Approximate PIT Test)、DV-Hop(Distance Vector-Hop)等。針對(duì)無線節(jié)點(diǎn)定位的難點(diǎn)問題,許多學(xué)者和專家進(jìn)行了大量的研究工作,提出了許多定位優(yōu)化算法。方震等通過分析RSSI測(cè)量值的變化,采用均值和加權(quán)法降低環(huán)境的影響,但忽略了路徑衰減指數(shù)誤差的影響,不能很好地適應(yīng)實(shí)際條件[1]。加州大學(xué)Chris Savarese等提出了一種Two-phase positioning循環(huán)求解算法,首先求節(jié)點(diǎn)粗略坐標(biāo),然后循環(huán)求精,可以提高精度,但無法消除RSSI測(cè)距誤差對(duì)定位計(jì)算的影響[2]。鄒岡等對(duì)粒子濾波法改進(jìn),采用動(dòng)態(tài)分簇結(jié)構(gòu)網(wǎng)絡(luò),分別用并行粒子濾波法和信息粒子濾波法進(jìn)行分布式估計(jì),能節(jié)約通信能耗,但頻繁重抽樣去除權(quán)重值較小的粒子,導(dǎo)致粒子退化,影響精度[3]。
針對(duì)上述存在的問題,本文采用RSSI算法,利用路徑損耗(Path Loss)模型將RSSI值轉(zhuǎn)換為距離值。BP神經(jīng)網(wǎng)絡(luò)是一種自學(xué)習(xí)的智能網(wǎng)絡(luò),在許多領(lǐng)域得到應(yīng)用。在現(xiàn)有的BP神經(jīng)網(wǎng)絡(luò)中,常通過梯度信息修正權(quán)值,易獲得局部極值。現(xiàn)將粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法應(yīng)用到BP網(wǎng)絡(luò)中,利用其收斂速度快、全局搜索能力強(qiáng)的特點(diǎn)以及改進(jìn)的PSO算法群體并行搜索的特點(diǎn),尋找合適的BP網(wǎng)絡(luò)初始權(quán)值和閾值。本文提出的PSO-BP網(wǎng)絡(luò)收斂速度更快,可以進(jìn)行大范圍數(shù)據(jù)融合,減少環(huán)境對(duì)計(jì)算的影響,提高算法的穩(wěn)定性和精度。
2.1 RSSI算法測(cè)距原理
無線信號(hào)易受環(huán)境影響,常用的模型有自由空間傳播模型、對(duì)數(shù)模型等,其中對(duì)數(shù)模型使用范圍較廣。模型參數(shù)通常由經(jīng)驗(yàn)法測(cè)得,但在不同的環(huán)境下需對(duì)參數(shù)修正[4]。對(duì)數(shù)模型能測(cè)量當(dāng)距離為d時(shí)接收功率P(d)。P(d)相對(duì)于P(d0)的計(jì)算式為
(1)
式中:P(d0)為參考距離d0處的信號(hào)強(qiáng)度;P(d)為d處信號(hào)強(qiáng)度;n為路徑損耗指數(shù),由環(huán)境決定。本文采用簡(jiǎn)化的對(duì)數(shù)距離路徑損耗模型,對(duì)式(1)兩邊取對(duì)數(shù)并進(jìn)一步優(yōu)化得
(2)
根據(jù)接收到RSSI值和傳播損耗模型,由式(2)發(fā)射點(diǎn)和接收節(jié)點(diǎn)間的距離可由下式求得:
(3)
2.2 改進(jìn)的速度常量濾波優(yōu)化
首先采用速度常量濾波算法對(duì)RSSI值進(jìn)行處理。速度常量濾波法是考慮物體在運(yùn)動(dòng)范圍內(nèi)移動(dòng)位置間有關(guān)聯(lián),前一刻位置和當(dāng)前位置存在關(guān)系,采用速度常量使移動(dòng)點(diǎn)某一時(shí)刻保持勻速運(yùn)動(dòng)以達(dá)到濾波效果,并以其值作為測(cè)試結(jié)果進(jìn)行初步處理[5]。其分為估計(jì)測(cè)量階段和預(yù)測(cè)計(jì)算階段兩部分,其中估計(jì)測(cè)量階段為
(4)
式中:Rpv(i)為i時(shí)RSSI的測(cè)量值,Rpd(i)為i時(shí)刻RSSI的預(yù)測(cè)值,Re(i)為i時(shí)刻RSSI濾波值,Vpd(i)為i時(shí)刻RSSI變化率的預(yù)測(cè)值,Ve(i)為i時(shí)刻RSSI變化率的濾波值,ts為采樣時(shí)間間隔,a和b為增益常量。預(yù)測(cè)計(jì)算階段為
(5)
式中:Rpd(i+1)為i+1時(shí)刻RSSI的預(yù)測(cè)值,Vpd(i+1)為i+1時(shí)刻RSSI變化率的預(yù)測(cè)值。
速度常量濾波算法比較簡(jiǎn)單易實(shí)現(xiàn),抑制作用明顯,能夠有效減小信號(hào)波動(dòng)帶來的影響,也能夠較好地解決RSSI值的隨機(jī)性干擾問題。
3.1 改進(jìn)粒子群算法的處理
粒子群算法隨機(jī)初始化一群粒子,每個(gè)粒子看作一個(gè)解。在每次迭代中,粒子對(duì)兩個(gè)值更新,一個(gè)為全局適值Pg=(P1g,P2g,…,Ptg),另一個(gè)為個(gè)體適值Pm=(P1m,P2m,…,Ptm)。
(1)在T維空間中,用Vi(k)=(vi1(k),vi2(k),…,vid(k))和Xi(k)=(xi1(k),xi2(k),…,xid(k))分別表示粒子i在第k次迭代時(shí)的速度和位置[6]。粒子在下一次搜索中找到Pm,位置和速度的更新公式分別為
Xi(k+1) =Xi(k) +γVi(k+1),
(6)
Vi(k+1) =ωVi(k) +μ1rand(0,1)1(pmd-Xid(k))+μ2rand(0,1)2(pgd-Xid(k)) 。
(7)
式中:Xi(k+1)為下一刻位置;Vi(k+1)為下一刻速度;γ為約束因子;μ1和μ2為加速常量,值為1.52;rand(0,1)1和rand(0,1)2為獨(dú)立的隨機(jī)數(shù);ω為慣性權(quán)重。粒子群算法利用粒子自身信息、個(gè)體適值和全局適值確定下一步位置,為正反饋,易獲得局部極值。所以在t時(shí)刻,粒子位置Xid(k)可以通過蒙特卡洛(Monte Carlo)法優(yōu)化[7]:
(8)
可由下式確定粒子k+1時(shí)刻位置:
(9)
式中:α、β為[0,1]間的隨機(jī)數(shù);X0(k)為隨機(jī)初始位置參數(shù);γ為收縮擴(kuò)張系數(shù),控制算法的收斂速度;L為k次迭代后的特征長(zhǎng)度參數(shù)。T維空間的速度V表示粒子位置變化的概率值,而不是連續(xù)空間中的速度,可以用以下矩陣表示:
(10)
式中:vkn∈[-vmax,vmax],k∈{1,2,…,g},n∈{1,2,…,h},V取值范圍為[0,1]。
(2)慣性權(quán)重ω是粒子群算法中的重要參數(shù),較大的ω有較強(qiáng)的全局搜索能力,但局部搜索能力會(huì)有所下降:
(11)
式中:ωmax、ωmin分別為慣性權(quán)重最大值和最小值,randn(0,1)為服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)。Shi等[8]提出了一種線性遞減模型,ω采用從0.9~0.4的線性方式遞減:
ω=ωmax-c(ωmax-ωmin)/cmax。
(12)
式中:c為當(dāng)前迭代次數(shù),cmax為最大迭代次數(shù)。為了提高局部和全局搜索能力,構(gòu)造出了ω非線性遞減模型:
ω=ωmin+(ωmaxωmin)exp[-1/(1+1+c/cmax)] 。
(13)
(14)
(15)
式中:Δ(v,y)的表達(dá)式為
Δ(v,y) =y×(1-s(1-c/cmax)θ)。
(16)
式中:θ為非一致性程度,其在[2,5]范圍內(nèi)取值;s為[0,1]內(nèi)的隨機(jī)數(shù)。該調(diào)整能使粒子盡快跳出局部極值區(qū)域,提升收斂速度。
(3)適應(yīng)度函數(shù)引導(dǎo)粒子的搜索方向,需要由誤差進(jìn)行計(jì)算。可設(shè)二維空間中移動(dòng)點(diǎn)坐標(biāo)為(x,y),n個(gè)參考點(diǎn)的坐標(biāo)分別為n1(x1,y1),n2(x2,y2),…,nn(xn,yn)。移動(dòng)點(diǎn)到參考點(diǎn)距離為di,由于誤差,di與計(jì)算值不相等。為了減小誤差累積,將距離的的估算值與實(shí)際值的均方根誤差作為適值函數(shù)。誤差方程為
(17)
式中:(xi,yi)表示第i個(gè)參考點(diǎn)坐標(biāo);n為目標(biāo)點(diǎn)鄰近參考點(diǎn)數(shù)目,n≥3。在優(yōu)化計(jì)算結(jié)果的基礎(chǔ)上,為了再次平衡全局和局部搜索能力,需對(duì)ω進(jìn)一步優(yōu)化,在每次迭代中由下式確定權(quán)值:
(18)
式中:ωmin=0.4;ωmax=0.9;根據(jù)計(jì)算可得粒子當(dāng)前的適值f;根據(jù)所有粒子的當(dāng)前適值,可計(jì)算平均適值fh和最小適值fmin。
3.2 BP神經(jīng)網(wǎng)絡(luò)算法的優(yōu)化
BP網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄟM(jìn)行訓(xùn)練的網(wǎng)絡(luò),對(duì)BP網(wǎng)絡(luò)訓(xùn)練時(shí),當(dāng)所有實(shí)際輸出與理想輸出相同時(shí)停止訓(xùn)練,否則要對(duì)權(quán)值進(jìn)行修正。隨機(jī)生成一群粒子Xi(t)=(wi1(t),wi2(t),…,wis(t)),網(wǎng)絡(luò)輸入層的輸出和輸入相同[10]。選擇3層的BP網(wǎng)絡(luò),包括輸入層h、隱含層數(shù)j、輸出層u,那么隱層各節(jié)點(diǎn)的輸入為
(19)
式中:ηw為隱層的閾值,w∈{1,2,…,j};qiw為輸入層至隱層的權(quán)值。信息首先由輸入層經(jīng)由Sigmoid激活函數(shù)f(x)=1/(1+e-x)傳至隱層:
(20)
即可得隱層的輸出為
(21)
式中:h為輸入點(diǎn)個(gè)數(shù),Gw為接收的刺激總和,Uw為隱層第w個(gè)神經(jīng)元的輸出。輸出層有u個(gè)神經(jīng)元,那么輸出層的輸入和輸出分別為
(22)
(23)
式中:rwk為隱層至輸出層的權(quán)值,Sk為接收刺激的總和,j為隱層節(jié)點(diǎn)數(shù),F(xiàn)i+1為輸出層輸出,ck為輸出層閾值。BP網(wǎng)絡(luò)在訓(xùn)練前將各層的權(quán)值和閾值初始化為[0,1],這種隨機(jī)初始化會(huì)使收斂速度較慢且不易獲得最優(yōu)解[11]。定義在訓(xùn)練樣本(xk,yk)上的誤差為
(24)
式中:Fk為輸出層第k個(gè)節(jié)點(diǎn)的輸出,u為輸出層個(gè)數(shù)。輸出層權(quán)值按下式更新:
rwk(t+1)=rwk(t)+Δrwk(t)。
(25)
在反向傳播中,一般的BP算法沿目標(biāo)函數(shù)下降最迅速的方向即負(fù)梯度方向調(diào)整權(quán)值,輸出層權(quán)值的變化與誤差函數(shù)對(duì)輸出層權(quán)值的負(fù)梯度正相關(guān):
隱層的權(quán)值按下式進(jìn)行更新:
qiw(t+1)=qiw(t)+Δqiw(t)。
(26)
隱層權(quán)值沿負(fù)梯度方向的變化進(jìn)行調(diào)整:
式中:η為學(xué)習(xí)率,η∈(0,1)。由上文可知,權(quán)值的修正完全依靠梯度值,這種優(yōu)化方式易形成局部極值,而且訓(xùn)練次數(shù)較多,使收斂變慢[12]。同時(shí),增加權(quán)值與閾值的平方和,訓(xùn)練會(huì)傾向較小的權(quán)值和閾值,使輸出光滑,則誤差函數(shù)改為
(27)
式中:n為樣本數(shù);qiw表示連接權(quán)和閾值;Ek表示第k個(gè)樣本的誤差;ξ為網(wǎng)絡(luò)復(fù)雜度與經(jīng)驗(yàn)誤差的折中系數(shù),由交叉驗(yàn)證法估算,ξ∈(0,1)。
3.3 PSO-BP神經(jīng)網(wǎng)絡(luò)算法優(yōu)化
首先,確定網(wǎng)絡(luò)結(jié)構(gòu),用前向算法計(jì)算每組訓(xùn)練樣本的輸出,用PSO算法搜索出使適值最小的位置。然后,用PSO算法訓(xùn)練BP網(wǎng)絡(luò),將粒子的當(dāng)前位置Xi作為權(quán)值和閾值,將BP網(wǎng)絡(luò)的誤差作為PSO算法的適值,更新粒子。PSO-BP網(wǎng)絡(luò)的計(jì)算步驟如下:
步驟1 根據(jù)神經(jīng)網(wǎng)絡(luò)類型和節(jié)點(diǎn)數(shù)目得到樣本,對(duì)BP網(wǎng)絡(luò)的參數(shù)初始化,把BP網(wǎng)絡(luò)初始的權(quán)值和閾值作為PSO算法的一組初始粒子群。
步驟2 初始化粒子群的參數(shù),包括學(xué)習(xí)因子、種群規(guī)模、迭代次數(shù),根據(jù)變量的可能取值范圍設(shè)定粒子的范圍和速度。
步驟3 計(jì)算粒子的適值。根據(jù)輸入輸出樣本計(jì)算每個(gè)粒子位置對(duì)應(yīng)的適應(yīng)值,根據(jù)初始粒子適應(yīng)值確定個(gè)體適值和種群適值。
步驟4 確定評(píng)價(jià)函數(shù)。用PSO代替BP網(wǎng)絡(luò)的初始尋優(yōu),在已接近最優(yōu)解的基礎(chǔ)上尋優(yōu),以式(27)作為尋優(yōu)目標(biāo)。當(dāng)式(27)達(dá)到最小值時(shí)搜索出最佳權(quán)值和閾值。在每一次迭代中,根據(jù)新粒子適值更新粒子個(gè)體適值和全局適值。
步驟5 判斷是否達(dá)到條件。假如迭代次數(shù)達(dá)到最大值或滿足誤差要求,停止迭代,否則轉(zhuǎn)至步驟4。
步驟6 滿足條件后,將獲得的最優(yōu)值對(duì)BP網(wǎng)絡(luò)權(quán)值和閾值賦值,利用BP算法訓(xùn)練網(wǎng)絡(luò),然后輸出最優(yōu)解。
PSO-BP網(wǎng)絡(luò)算法流程如圖1所示。
圖1 PSO-BP算法流程圖Fig.1 Flow chart of PSO-BP algorithm
3.4 算法訓(xùn)練結(jié)果分析
為了使計(jì)算合理,輸入為接收到的5個(gè)RSSI值,即網(wǎng)絡(luò)輸入層h為5,輸出層u為5。采用試錯(cuò)法對(duì)隱層個(gè)數(shù)進(jìn)行選取,實(shí)驗(yàn)結(jié)果如表1所示。經(jīng)過比較后設(shè)定粒子數(shù)為n=50,慣性權(quán)重ω=0.6,學(xué)習(xí)因子μ1=μ2=1.52。表1是預(yù)測(cè)結(jié)果在隱層神經(jīng)元個(gè)數(shù)不同時(shí)的訓(xùn)練結(jié)果,300次結(jié)果中能達(dá)到訓(xùn)練目標(biāo)的為收斂成功。由表1可看出,相比于BP網(wǎng)絡(luò)算法,該定位方法訓(xùn)練收斂時(shí)間短,定位結(jié)果穩(wěn)定;當(dāng)隱層個(gè)數(shù)為17時(shí),訓(xùn)練誤差最小,收斂成功率高,且訓(xùn)練次數(shù)較少,因此確定隱層節(jié)點(diǎn)個(gè)數(shù)為17。
表1 隱層神經(jīng)元個(gè)數(shù)對(duì)誤差預(yù)測(cè)的影響Tab.1 Effect of the number of hidden layer neurons on the error prediction
將優(yōu)化好的權(quán)值和閾值作為BP網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行訓(xùn)練,取隱層神經(jīng)元數(shù)為17,訓(xùn)練次數(shù)為200,收斂精度設(shè)置為10-6時(shí),訓(xùn)練結(jié)果如圖2所示,可見滿足要求。
圖2 PSO-BP網(wǎng)絡(luò)訓(xùn)練結(jié)果統(tǒng)計(jì)圖Fig.2 PSO-BP network training results statistics
4.1 實(shí)驗(yàn)二維圖與結(jié)果
為了進(jìn)一步驗(yàn)證改進(jìn)PSO-BP算法的性能,以實(shí)驗(yàn)室的部分區(qū)域作為試驗(yàn)區(qū)進(jìn)行驗(yàn)證,實(shí)驗(yàn)區(qū)域?yàn)?5 m×25 m,參考點(diǎn)數(shù)為6,節(jié)點(diǎn)通信半徑R為20 m,節(jié)點(diǎn)隨機(jī)地布置在定位區(qū)域內(nèi),如圖3所示。不同編號(hào)節(jié)點(diǎn)在多次測(cè)量后的定位誤差如表2所示,可知改進(jìn)PSO-BP網(wǎng)絡(luò)算法的定位誤差相對(duì)變化較小,可以較好地提高定位精度。
圖3 試驗(yàn)布置二維圖Fig.3 Layout of the two-dimensional map
節(jié)點(diǎn)編號(hào)坐標(biāo)/m加權(quán)質(zhì)心算法改進(jìn)PSO-BP算法實(shí)際測(cè)值誤差/m加權(quán)質(zhì)心算法改進(jìn)PSO-BP算法1(4.1,4.2)(2.4,2.2)(3,3)1.631.032(6.7,22.4)(6.4,23.6)(6,24)1.740.763(8.4,21.9)(9.2,20.8)(9,21)1.070.274(11.2,19.4)(11.3,18.7)(12,18)1.540.985(14.2,15.5)(15.5,15.8)(15,15)0.990.876(18.7,10.9)(18.3,11.6)(18,12)1.260.497(20.5,22.4)(21.9,21.7)(21,21)1.301.10
4.2 測(cè)距誤差與定位精度的關(guān)系比較
針對(duì)RSSI算法的測(cè)距會(huì)受環(huán)境影響的問題,由圖4可知,隨著測(cè)距誤差的增大,定位誤差也會(huì)增加,但PSO-BP算法比現(xiàn)有BP算法會(huì)進(jìn)行更合理修正,降低了測(cè)距誤差的影響,在相同的測(cè)距誤差時(shí)PSO-BP算法的定位誤差明顯受影響較小,尤其當(dāng)測(cè)距誤差較大時(shí),改進(jìn)算法的抗誤差性能更強(qiáng)。PSO-BP算法有效解決了傳統(tǒng)BP算法測(cè)距修正的的局限性,在測(cè)距誤差較大時(shí)也保持了較好的精度。
圖4 測(cè)距誤差對(duì)定位誤差的影響Fig.4 Effect of ranging error on positioning error
4.3 不同的通信半徑下的誤差分析
試驗(yàn)區(qū)域?yàn)?0 m×60 m,區(qū)間布置25個(gè)移動(dòng)節(jié)點(diǎn),7個(gè)參考點(diǎn),不同的通信半徑R下3種算法的定位誤差如圖5所示。R值相同時(shí),現(xiàn)有BP算法的平均誤差比改進(jìn)的PSO-BP網(wǎng)絡(luò)算法大,兩種算法的誤差最大相差0.273 m。隨著R值增大,現(xiàn)有BP網(wǎng)絡(luò)算法的誤差變化會(huì)變小,一直處在0.281~0.429 m之間,但改進(jìn)PSO-BP算法的誤差隨著通信半徑增大誤差減小效果更加明顯。
圖5 不同通信半徑下定位誤差對(duì)比圖Fig.5 Comparison of location error under different communication radius
BP網(wǎng)絡(luò)算法是一種局部搜索算法,根據(jù)誤差的反向傳播修正權(quán)值和閾值,易獲得局部極值,同時(shí)反向傳播訓(xùn)練次數(shù)會(huì)較多。為了改進(jìn)BP網(wǎng)絡(luò),本文提出利用PSO-BP網(wǎng)絡(luò)優(yōu)化RSSI值,然后對(duì)RSSI值進(jìn)行處理,最后得到相應(yīng)的距離數(shù)據(jù)。在新算法中PSO算法與BP算法結(jié)合,即用改進(jìn)的粒子群算法對(duì)神經(jīng)算法的權(quán)值訓(xùn)練形成一種新的算法,可以避免局部極值。在實(shí)驗(yàn)過程中,一些定位節(jié)點(diǎn)存在個(gè)體差異,精度始終較低。PSO-BP算法能得到理想的效果,具有局部搜索和全局搜索最優(yōu)解的優(yōu)勢(shì),增加了BP算法收斂速度和全局收斂性,提高了BP網(wǎng)絡(luò)的學(xué)習(xí)能力,但在實(shí)際應(yīng)用中,對(duì)如何確定一個(gè)合適的神經(jīng)網(wǎng)絡(luò)沒有準(zhǔn)確的理論指導(dǎo),只能通過實(shí)驗(yàn)不斷調(diào)整合適的網(wǎng)絡(luò)結(jié)構(gòu)。
[1] 方震,趙湛,郭鵬,等.基于RSSI測(cè)距分析[J].傳感技術(shù)學(xué)報(bào),2007,20(11):2526-2530. FANG Zhen,ZHAO Zhan,GUO Peng,et al.Analysis of distance measurement based on RSSI[J].Chinese Journal of Sensors and Actuators,2007,20(11):2526-2530.(in Chinese)
[2] SAVARESE C,RABAEY J,LANGENDOEN K.Robust-positioning algorithms for distributed ad-hoc wireless sensor network[C]//Proceedings of the USENIX Technical Annual Conference.Monterey:USEIX Press,2002:317-327.
[3] 鄒岡,石章松,劉忠.傳感器網(wǎng)絡(luò)中的分布式粒子濾波被動(dòng)跟蹤算法比較研究[J].傳感技術(shù)學(xué)報(bào),2007,20(6):1344-1348. ZOU Gang, SHI Zhangsong, LIU Zhong.Comparative study of passive tracking algorithm for distributed particle filter in sensor networks[J].Chinese Journal of Sensors and Actuators,2007,20(6): 1344-1348. (in Chinese)
[4] GIORGIO Q,RICCARDO M,GIANLUIGI P,et al. Sensing,compression and recovery for WSNS:sparse signal modeling and monitoring framework[J].IEEE Transactions on Wireless Communications,2012,11(10):3447-3461.
[5] 江春冬,惠慧,陳云飛,等.與強(qiáng)度無關(guān)的位置指紋在線定位改進(jìn)算法[J].電訊技術(shù),2016,56(2):128-134. JIANG Chundong,HUI Hui,CHEN Yunfei,et al. An improved algorithm for online location fingerprint location independent of intensity[J].Telecommunication Engineering,2016,56(2):128-134.(in Chinese)
[6] AHMAD EI A,SLIM Z,SOFIENE A,et al. Low-cost localization for multi-hop heterogeneous wireless sensor networks[J].IEEE Transactions on Signal Processing,2015,13(7):1199-1212.
[7] CARLOS F,JOSE L,INMACULADA M.Time-space sampling and mobile device calibration for WIFI indoor location systems[J].IEEE Transactions on Mobile Computing,2011,10(7):913-926.
[8] SHI Y,EBERHART R.A modified particle swarm optimizer[C]//Proceedings of 1998 IEEE International Conference on Evolutionary Computation.Piscataway,NJ:IEEE,1998:69-73.
[9] CHATURVEDI P,DANIEL A K.Wireless sensor networks—a survey[C]//Proceedings of 5th International Conference on Recent Trends in Information Telecommunication and Computing(ITC).[S.l.]:IEEE,2014:393-422.
[10] YUN S,LEE J,CHUNG W,et al.A soft computing approach to localization in wireless sensor networks[J].Expert System with Applications,2012,36(4):7552-7561.
[11] WANG X,HE Z S.Target motion analysis in three-sensor TDOA location system[J].Information Technology Journal,2011,10(6):1150-1160.
[12] 劉洺辛,孫建利. 基于能效的WLAN 室內(nèi)定位系統(tǒng)模型設(shè)計(jì)與實(shí)現(xiàn)[J].儀器儀表學(xué)報(bào),2014,35(5):1169-1178. LIU Mingxin,SUN Jianli.Design and implementation ofWLAN indoor positioning system model based on energy efficiency[J].Chinese Journal of Scientific Instrument,2014,35(5) :1169-1178.(in Chinese)
Optimization of Wireless Sensor Network Positioning Based on PSO-BP Algorithm
BIAN Guolong1,HUANG Haisong1,WANG Anyi2,YU Kaihua3
(1.Key Laboratory of Advanced Manufacturing Technology,Ministry of Education,Guizhou University,Guiyang 550025,China;2.College of Engineering,Ocean University of China,Qingdao 266100,China;3.Weifang Power Supply Company of State Grid Shandong Electric Power Company,Weifang 261021,China)
The existing localization algorithms are discussed.For the problem that received signal strength indication(RSSI) based on the parameter model of positioning is easily affected by environment,a novel algorithm is proposed which combines particle swarm optimization(PSO) algorithm with back propagation(BP) neural network. The correction of the weight of the BP network algorithm depends on the nonlinear gradient value. It is easy to form local extremum. At the same time,the number of learning is more. It should be optimized by PSO algorithm. In order to improve the positioning accuracy,the speed constant method is used to perform filtering. Then the initial weights and thresholds of the BP neural network is optimized by the improved hybrid optimization algorithm.The performance of the algorithm is compared with that of the existing positioning algorithms. The number of hidden layer nodes varies from 12 to 19. The experimental results show that the improved hybrid optimization algorithm can significantly improve the effect of ranging error on the positioning error compared with the general weighted algorithm and the traditional BP algorithm. The minimum positioning error can reach 0.27 m in 25 m range.
wireless sensor network(WSW);localization algorithm;measurement error;back propagation(BP) neural network;particle swarm optimization(PSO);path loss model
2016-07-22;
2016-10-10 Received date:2016-07-22;Revised date:2016-10-10
貴州省科技支撐計(jì)劃(黔科合GZ字[2015]3034);國家自然科學(xué)基金資助項(xiàng)目(51475097);國家科技支撐計(jì)劃(2014BAH05F01);貴州省科技基金項(xiàng)目(黔科合J字[2015]2043);貴州省基礎(chǔ)研究重大專項(xiàng)(黔科合JZ字[2014]2001)
10.3969/j.issn.1001-893x.2017.02.003
卞國龍,黃海松,王安憶,等.基于PSO-BP算法的無線傳感器網(wǎng)絡(luò)定位優(yōu)化[J].電訊技術(shù),2017,57(2):139-144.[BIAN Guolong,HUANG Haisong,WANG Anyi,et al.Optimization of wireless sensor network positioning based on PSO-BP algorithm[J].Telecommunication Engineering,2017,57(2):139-144.]
TN929.5;TP212.9
A
1001-893X(2017)02-0139-06
卞國龍(1989—),男,山東濰坊人,碩士研究生,主要研究方向?yàn)橹圃煳锫?lián)、機(jī)械設(shè)備控制;
Email:1099205144@qq.com
黃海松(1977—),女,貴州大方人,博士、教授、博士生導(dǎo)師,主要研究方向?yàn)橄冗M(jìn)制造技術(shù)、制造業(yè)信息化;
王安憶(1991—),女,山東青島人,碩士研究生,主要研究方向?yàn)闄C(jī)械電子技術(shù);
于凱華(1991—),男,山東濰坊人,2014年于武漢大學(xué)獲學(xué)士學(xué)位,主要研究方向?yàn)殡姎怆娐饭こ獭?/p>
*通信作者:1099205144@qq.com Corresponding author:1099205144@qq.com