摘 要: 使用BP-GA算法相結(jié)合的方法來作為室內(nèi)定位模型的主要定位算法,,在得到初始坐標(biāo)后利用泰勒級數(shù)定位算法優(yōu)化得到最終待測點(diǎn)坐標(biāo),。該算法很好地減弱了室內(nèi)環(huán)境對定位精度的影響,并且具有較高的精度,。仿真實(shí)驗(yàn)驗(yàn)證了該模型的有效性,。
關(guān)鍵詞: 室內(nèi)定位;BP算法,;GA算法,;泰勒級數(shù)定位算法
室內(nèi)定位技術(shù)按所借助的手段不同可以分為[1-2]基于無線電信號的定位技術(shù)、基于紅外線的定位技術(shù),、基于超聲波的定位技術(shù),、基于藍(lán)牙的定位技術(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ù)無線定位系統(tǒng)主要通過測量節(jié)點(diǎn)間的距離來實(shí)現(xiàn)[3],?;赗SSI的測距是無線傳感網(wǎng)絡(luò)定位技術(shù)中較常采用的方法,該類方法大多數(shù)通過設(shè)置已知參考節(jié)點(diǎn),。首先利用待定位節(jié)點(diǎn)接收到的RSSI值計(jì)算出該節(jié)點(diǎn)到各個(gè)參考節(jié)點(diǎn)的距離,,再通過各類定位算法推導(dǎo)出目標(biāo)點(diǎn)的坐標(biāo)。傳統(tǒng)的基于RSSI的室內(nèi)定位技術(shù)基本上都是以無線信號傳播模型為基礎(chǔ)的,在不同的定位環(huán)境中,,通過擬合或直接根據(jù)經(jīng)驗(yàn)得出無線信號傳播模型中未知參數(shù)A和n,,再根據(jù)一些位置距離算法來最終實(shí)現(xiàn)定位。但這些算法過于依賴一些經(jīng)驗(yàn)?zāi)P?,對于不同的環(huán)境的適應(yīng)性不強(qiáng),,在一些室內(nèi)情況復(fù)雜的條件下會有很大的誤差。本文在基于ZigBee組成的網(wǎng)絡(luò)的基礎(chǔ)上,,使用BP神經(jīng)網(wǎng)絡(luò)和GA算法融合來初步算出待定位物體的位置,,再融入泰勒級數(shù)定位算法來算出最終待定位物體的位置。
由此可以看出,,A和n為值直接影響到了根據(jù)RSSI值得到的距離,,進(jìn)一步影響到定位的精度。無論是理想環(huán)境還是室內(nèi)環(huán)境下,,傳輸信號與傳輸距離之間有一定的關(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ò)來實(shí)現(xiàn),所以可由一個(gè)3層的BP網(wǎng)絡(luò)來代替RSSI經(jīng)驗(yàn)公式來得到RSSI值與d之間的關(guān)系,,并且可以直接由BP網(wǎng)絡(luò)直接得到待測節(jié)點(diǎn)的坐標(biāo)值,。
2 BP神經(jīng)網(wǎng)絡(luò)模型的確定
根據(jù)RSSI與坐標(biāo)值之間的一一對應(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)值),,對于隱含層層數(shù)和神經(jīng)元數(shù)的選擇是一個(gè)難點(diǎn),,目前還沒有理論上的指導(dǎo),只有經(jīng)過大量的實(shí)驗(yàn)來選擇最佳的隱含層層數(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í)間長,、收斂速度慢,、易陷于局部極小值以及完全不能訓(xùn)練等問題。所以本文結(jié)合使用遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),,改善BP神經(jīng)網(wǎng)絡(luò)的缺陷,,使算法避免陷入局部極小值,、收斂速度慢等問題。
3 BP-GA算法
在GA每一代進(jìn)行遺傳操作之前,,對群體中的最優(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),再從交叉子代和經(jīng)BP訓(xùn)練后的原最優(yōu)個(gè)體中選出當(dāng)代最優(yōu)個(gè)體進(jìn)行下一次的BP訓(xùn)練,。
4 泰勒級數(shù)定位算法
泰勒級數(shù)定位方法[11-12]是一種基于泰勒級數(shù)展開的加權(quán)最小二乘估計(jì)迭代算法,。它適用于所有的定位系統(tǒng),并利用所有的測量參量來改善定位精度,。該方法的核心思想為:(1)在目標(biāo)位置的初始估計(jì)點(diǎn)利用泰勒級數(shù)展開,并忽略二次及以上項(xiàng),,將非線性方程變?yōu)榫€性方程,,并采用最小二乘算法對偏移量進(jìn)行估計(jì);(2)利用估計(jì)的偏移量修正估計(jì)的目標(biāo)位置,,并不斷迭代,,使估計(jì)的目標(biāo)位置逼近真實(shí)位置,從而得到對目標(biāo)位置的最優(yōu)估計(jì),。
5 ZigBee定位系統(tǒng)模型
本系統(tǒng)設(shè)計(jì)的這套二維室內(nèi)無線定位系統(tǒng)主要由主機(jī),、網(wǎng)關(guān)、定位節(jié)點(diǎn),、參考節(jié)點(diǎn)4個(gè)部分組成,。主機(jī)是一臺筆記本電腦,負(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組成,,是位置已知且固定不動的節(jié)點(diǎn),。盲節(jié)點(diǎn)由CC2431組成,是位置未知的移動節(jié)點(diǎn),。
5.1 系統(tǒng)模型定位流程圖
系統(tǒng)總體流程圖如圖2所示,。首先建立ZigBee網(wǎng)絡(luò),然后待測節(jié)點(diǎn)收到各個(gè)參考節(jié)點(diǎn)的RSSI值,,將RSSI值發(fā)送到網(wǎng)關(guān),,由網(wǎng)關(guān)送入主機(jī)中的BP-GA算法計(jì)算得到待測節(jié)點(diǎn)的初始坐標(biāo),將此坐標(biāo)值確定為送入泰勒級數(shù)定位算法的初始值,進(jìn)行循環(huán)泰勒級數(shù)展開,,泰勒級數(shù)定位算法的計(jì)算達(dá)到要求的精度值后,,輸出最終待測節(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)值送入泰勒級數(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)作為測試點(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)境中的各種干擾因素的影響,。
本文通過在ZigBee組成網(wǎng)絡(luò)基礎(chǔ)上,通過使用BP-GA算法和泰勒級數(shù)定位算法相結(jié)合的定位方法,,并且通過引入BP網(wǎng)絡(luò)來代替RSSI經(jīng)驗(yàn)公式來得到RSSI值與d之間的關(guān)系,,避免了對環(huán)境中復(fù)雜參數(shù)A和n的擬合,很好地減弱了環(huán)境因素對定位精度的影響,,且通過上面的仿真可以發(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] 萬群,,郭賢生,陳章鑫.室內(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ìn)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),,2007,,28(3):648-649.
[8] 陳永龍,,何國良,徐宗昌.基于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] 張會清,,石曉偉,鄧貴華,,等.基于BP神經(jīng)網(wǎng)絡(luò)和泰勒級數(shù)的室內(nèi)定位算法研究[J].電子學(xué)報(bào),,2012,40(9):1876-1879.
[12] 田孝華,,周義建.無線電定位理論與技術(shù)[M].北京:國防工業(yè)出版社,,2011.