《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 一種基于BP-GA的室內(nèi)定位模型
一種基于BP-GA的室內(nèi)定位模型
來源:微型機與應(yīng)用2013年第22期
王立輝1,王佳斌2
(1.華僑大學(xué) 信息科學(xué)與工程學(xué)院,福建 廈門361021; 2.華僑大學(xué) 工學(xué)院,福建 泉州362
摘要: 使用BP-GA算法相結(jié)合的方法來作為室內(nèi)定位模型的主要定位算法,在得到初始坐標(biāo)后利用泰勒級數(shù)定位算法優(yōu)化得到最終待測點坐標(biāo)。該算法很好地減弱了室內(nèi)環(huán)境對定位精度的影響,并且具有較高的精度。仿真實驗驗證了該模型的有效性。
Abstract:
Key words :

摘  要: 使用BP-GA算法相結(jié)合的方法來作為室內(nèi)定位模型的主要定位算法,在得到初始坐標(biāo)后利用泰勒級數(shù)定位算法優(yōu)化得到最終待測點坐標(biāo)。該算法很好地減弱了室內(nèi)環(huán)境對定位精度的影響,并且具有較高的精度。仿真實驗驗證了該模型的有效性。
關(guān)鍵詞: 室內(nèi)定位;BP算法;GA算法;泰勒級數(shù)定位算法

    室內(nèi)定位技術(shù)按所借助的手段不同可以分為[1-2]基于無線電信號的定位技術(shù)、基于紅外線的定位技術(shù)、基于超聲波的定位技術(shù)、基于藍牙的定位技術(shù)、基于激光的定位技術(shù)、基于射頻識別技術(shù)的定位技術(shù)以及基于WiFi的定位技術(shù)等。由于室內(nèi)環(huán)境存在非視距、多徑、干擾多變等因素, 同時考慮到設(shè)備費用和實現(xiàn)的復(fù)雜程度等,本文選擇了利用ZigBee技術(shù)基于RSSI值的定位算法。
    當(dāng)前,廣泛使用的ZigBee技術(shù)無線定位系統(tǒng)主要通過測量節(jié)點間的距離來實現(xiàn)[3]?;赗SSI的測距是無線傳感網(wǎng)絡(luò)定位技術(shù)中較常采用的方法,該類方法大多數(shù)通過設(shè)置已知參考節(jié)點。首先利用待定位節(jié)點接收到的RSSI值計算出該節(jié)點到各個參考節(jié)點的距離,再通過各類定位算法推導(dǎo)出目標(biāo)點的坐標(biāo)。傳統(tǒng)的基于RSSI的室內(nèi)定位技術(shù)基本上都是以無線信號傳播模型為基礎(chǔ)的,在不同的定位環(huán)境中,通過擬合或直接根據(jù)經(jīng)驗得出無線信號傳播模型中未知參數(shù)A和n,再根據(jù)一些位置距離算法來最終實現(xiàn)定位。但這些算法過于依賴一些經(jīng)驗?zāi)P?,對于不同的環(huán)境的適應(yīng)性不強,在一些室內(nèi)情況復(fù)雜的條件下會有很大的誤差。本文在基于ZigBee組成的網(wǎng)絡(luò)的基礎(chǔ)上,使用BP神經(jīng)網(wǎng)絡(luò)和GA算法融合來初步算出待定位物體的位置,再融入泰勒級數(shù)定位算法來算出最終待定位物體的位置。
  

    由此可以看出,A和n為值直接影響到了根據(jù)RSSI值得到的距離,進一步影響到定位的精度。無論是理想環(huán)境還是室內(nèi)環(huán)境下,傳輸信號與傳輸距離之間有一定的關(guān)系,在實際環(huán)境下RSSI值的變化有一定的規(guī)律可循,RSSI值與距離d之間是一個連續(xù)的非線性關(guān)系,而Kolmogorov定理也已經(jīng)證明[5-6],任意一連續(xù)函數(shù)可由一個3層BP網(wǎng)絡(luò)來實現(xiàn),所以可由一個3層的BP網(wǎng)絡(luò)來代替RSSI經(jīng)驗公式來得到RSSI值與d之間的關(guān)系,并且可以直接由BP網(wǎng)絡(luò)直接得到待測節(jié)點的坐標(biāo)值。
2 BP神經(jīng)網(wǎng)絡(luò)模型的確定
    根據(jù)RSSI與坐標(biāo)值之間的一一對應(yīng)關(guān)系,本系統(tǒng)設(shè)計由4個參考節(jié)點確定一個盲節(jié)點位置,所以BP神經(jīng)網(wǎng)絡(luò)的輸入有4個(即4個參考節(jié)點到盲節(jié)點的RSSI值),輸出有2個(x,y)(即盲節(jié)點的坐標(biāo)值),對于隱含層層數(shù)和神經(jīng)元數(shù)的選擇是一個難點,目前還沒有理論上的指導(dǎo),只有經(jīng)過大量的實驗來選擇最佳的隱含層層數(shù)。
    本文采用4:35:2結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò),如圖1所示。使用相似的方法可以確定出計算RSSI值與d之間關(guān)系的BP網(wǎng)絡(luò)結(jié)構(gòu)圖,與圖1結(jié)構(gòu)相似,采用1:20:1的結(jié)構(gòu)。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)[6-7]算法確定權(quán)重時所采用的學(xué)習(xí)算法是基于梯度下降的,不可避免地存在著訓(xùn)練時間長、收斂速度慢、易陷于局部極小值以及完全不能訓(xùn)練等問題。所以本文結(jié)合使用遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),改善BP神經(jīng)網(wǎng)絡(luò)的缺陷,使算法避免陷入局部極小值、收斂速度慢等問題。

3 BP-GA算法
    在GA每一代進行遺傳操作之前,對群體中的最優(yōu)個體進行次數(shù)較多的BP訓(xùn)練[8-10],使最優(yōu)個體得到足夠的訓(xùn)練后目標(biāo)誤差能很快地下降,作為混合學(xué)習(xí)算法指導(dǎo)誤差下降的主導(dǎo)搜索方向,然后將經(jīng)BP訓(xùn)練后的最優(yōu)個體與群體中的其他個體逐一進行啟發(fā)式的交叉式算法,能在最優(yōu)個體與群體的其他個體所形成的尋優(yōu)空間中并行尋優(yōu),再從交叉子代和經(jīng)BP訓(xùn)練后的原最優(yōu)個體中選出當(dāng)代最優(yōu)個體進行下一次的BP訓(xùn)練。
4 泰勒級數(shù)定位算法
    泰勒級數(shù)定位方法[11-12]是一種基于泰勒級數(shù)展開的加權(quán)最小二乘估計迭代算法。它適用于所有的定位系統(tǒng),并利用所有的測量參量來改善定位精度。該方法的核心思想為:(1)在目標(biāo)位置的初始估計點利用泰勒級數(shù)展開,并忽略二次及以上項,將非線性方程變?yōu)榫€性方程,并采用最小二乘算法對偏移量進行估計;(2)利用估計的偏移量修正估計的目標(biāo)位置,并不斷迭代,使估計的目標(biāo)位置逼近真實位置,從而得到對目標(biāo)位置的最優(yōu)估計。
5 ZigBee定位系統(tǒng)模型
    本系統(tǒng)設(shè)計的這套二維室內(nèi)無線定位系統(tǒng)主要由主機、網(wǎng)關(guān)、定位節(jié)點、參考節(jié)點4個部分組成。主機是一臺筆記本電腦,負(fù)責(zé)處理網(wǎng)關(guān)發(fā)送的信息,計算出盲節(jié)點坐標(biāo)和顯示盲節(jié)點位置等。網(wǎng)關(guān)由CC3430組成,負(fù)責(zé)網(wǎng)絡(luò)的組建、節(jié)點地址的分配和負(fù)責(zé)主機與參考節(jié)點、盲節(jié)點之間的通信等,參考節(jié)點由CC2430組成,是位置已知且固定不動的節(jié)點。盲節(jié)點由CC2431組成,是位置未知的移動節(jié)點。
5.1 系統(tǒng)模型定位流程圖
    系統(tǒng)總體流程圖如圖2所示。首先建立ZigBee網(wǎng)絡(luò),然后待測節(jié)點收到各個參考節(jié)點的RSSI值,將RSSI值發(fā)送到網(wǎng)關(guān),由網(wǎng)關(guān)送入主機中的BP-GA算法計算得到待測節(jié)點的初始坐標(biāo),將此坐標(biāo)值確定為送入泰勒級數(shù)定位算法的初始值,進行循環(huán)泰勒級數(shù)展開,泰勒級數(shù)定位算法的計算達到要求的精度值后,輸出最終待測節(jié)點坐標(biāo),發(fā)送到監(jiān)控軟件界面顯示。

5.2 實驗仿真結(jié)果分析
    由ZigBee網(wǎng)絡(luò)中盲節(jié)點收集到的各個參考節(jié)點到其RSSI值送入到算法網(wǎng)絡(luò)中作為輸入,該RSSI值所在節(jié)點的實際坐標(biāo)為輸出標(biāo)準(zhǔn)進行訓(xùn)練,將得到的初始坐標(biāo)值送入泰勒級數(shù)定位算法中進行二次優(yōu)化得到最終的盲節(jié)點坐標(biāo)。
    首先,選用4個參考節(jié)點a、b、c、d,其坐標(biāo)(0,0)、(0,13)、(7,13)、(7,0)組成一個實驗環(huán)境,其中每格為30 cm。在其中隨機選取20個點作為測試點,將這些值分別送入BP算法、BP-GA算法和本文算法,得到盲節(jié)點的坐標(biāo)如圖3所示。
    由圖3、圖4、圖5可以看出在本文算法用于定位優(yōu)于單獨使用BP算法或是使用BP-GA算法進行定位。使用本文算法所得到的盲節(jié)點坐標(biāo)值與盲節(jié)點的實際坐標(biāo)值非常接近,較好地克服了定位時環(huán)境中的各種干擾因素的影響。

 

 

    本文通過在ZigBee組成網(wǎng)絡(luò)基礎(chǔ)上,通過使用BP-GA算法和泰勒級數(shù)定位算法相結(jié)合的定位方法,并且通過引入BP網(wǎng)絡(luò)來代替RSSI經(jīng)驗公式來得到RSSI值與d之間的關(guān)系,避免了對環(huán)境中復(fù)雜參數(shù)A和n的擬合,很好地減弱了環(huán)境因素對定位精度的影響,且通過上面的仿真可以發(fā)現(xiàn),只要在一個室內(nèi)環(huán)境中采集足夠多的RSSI值,利用該算法就能夠達到很好的定位精度,誤差能夠控制在30 cm內(nèi)。
參考文獻
[1] Yu Kengen,SHARP L,GUO Y J.Ground-based wireless positioning[M].Wiley-IEEE Press,2009.
[2] 萬群,郭賢生,陳章鑫.室內(nèi)定位理論、方法和應(yīng)用[M].北京:電子工業(yè)出版社,2012.
[3] 呂源,李軍.基于CC2431的室內(nèi)定位系統(tǒng)[J].現(xiàn)代電子技術(shù),2009(2):95-101.
[4] 朱明輝,張會清.基于RSSI的室內(nèi)測距模型的研究[J].傳感器與為系統(tǒng),2010,29(8):19-22.
[5] KHOSHGOFTAAR T M,PANDYA A S,LANNING D L. Applicationof neural networks for predicting defects[J].An nals of Software Engineering,1995,1(1):141-154.
[6] HAYKIN S.Neural Networks[M].Prentice Hall,1998.
[7] 陸瓊瑜,童學(xué)鋒.BP算法改進研究[J].計算機工程與設(shè)計,2007,28(3):648-649.
[8] 陳永龍,何國良,徐宗昌.基于BP-GA的融合算法實現(xiàn)[J].裝備指揮技術(shù)學(xué)報,2007,18(4):107-110.
[9] Lu Chun,Shi Bingxue,Chen Lu.Hybrid BP-GA for multilayer feedforward neural network[J].ICECS 2000,2002(2):958-961.
[10] Li Jianping,BALAZS M E,PARKS G T,et al.A speciesconserving genetic algorithm for multimodal function optimization[J].Evol Comput.,2002,10(3):207-234.
[11] 張會清,石曉偉,鄧貴華,等.基于BP神經(jīng)網(wǎng)絡(luò)和泰勒級數(shù)的室內(nèi)定位算法研究[J].電子學(xué)報,2012,40(9):1876-1879.
[12] 田孝華,周義建.無線電定位理論與技術(shù)[M].北京:國防工業(yè)出版社,2011.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。