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

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

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

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

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

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

 

 

    本文通過(guò)在ZigBee組成網(wǎng)絡(luò)基礎(chǔ)上,通過(guò)使用BP-GA算法和泰勒級(jí)數(shù)定位算法相結(jié)合的定位方法,并且通過(guò)引入BP網(wǎng)絡(luò)來(lái)代替RSSI經(jīng)驗(yàn)公式來(lái)得到RSSI值與d之間的關(guān)系,避免了對(duì)環(huán)境中復(fù)雜參數(shù)A和n的擬合,很好地減弱了環(huán)境因素對(duì)定位精度的影響,且通過(guò)上面的仿真可以發(fā)現(xiàn),只要在一個(gè)室內(nèi)環(huán)境中采集足夠多的RSSI值,利用該算法就能夠達(dá)到很好的定位精度,誤差能夠控制在30 cm內(nèi)。
參考文獻(xiàn)
[1] Yu Kengen,SHARP L,GUO Y J.Ground-based wireless positioning[M].Wiley-IEEE Press,2009.
[2] 萬(wàn)群,郭賢生,陳章鑫.室內(nèi)定位理論、方法和應(yīng)用[M].北京:電子工業(yè)出版社,2012.
[3] 呂源,李軍.基于CC2431的室內(nèi)定位系統(tǒng)[J].現(xiàn)代電子技術(shù),2009(2):95-101.
[4] 朱明輝,張會(huì)清.基于RSSI的室內(nèi)測(cè)距模型的研究[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ìn)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(3):648-649.
[8] 陳永龍,何國(guó)良,徐宗昌.基于BP-GA的融合算法實(shí)現(xiàn)[J].裝備指揮技術(shù)學(xué)報(bào),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] 張會(huì)清,石曉偉,鄧貴華,等.基于BP神經(jīng)網(wǎng)絡(luò)和泰勒級(jí)數(shù)的室內(nèi)定位算法研究[J].電子學(xué)報(bào),2012,40(9):1876-1879.
[12] 田孝華,周義建.無(wú)線電定位理論與技術(shù)[M].北京:國(guó)防工業(yè)出版社,2011.

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