王娜娜,付 強(qiáng),劉澤龍
(1.63626部隊(duì),甘肅 酒泉 732750;2.63607部隊(duì),甘肅 酒泉 732750)
?
基于RSSI實(shí)時(shí)精確定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
王娜娜1*,付 強(qiáng)2,劉澤龍1
(1.63626部隊(duì),甘肅 酒泉 732750;2.63607部隊(duì),甘肅 酒泉 732750)
為實(shí)現(xiàn)室內(nèi)實(shí)時(shí)高精確定位,設(shè)計(jì)了基于RSSI的實(shí)時(shí)精確定位系統(tǒng)。首先基于RSSI測(cè)距原理,建立強(qiáng)度與距離數(shù)學(xué)模型把強(qiáng)度轉(zhuǎn)化為距離,然后采用改進(jìn)加權(quán)質(zhì)心算法來進(jìn)行定位,并把定位誤差作為目標(biāo)函數(shù),最后運(yùn)用簡(jiǎn)化粒子群優(yōu)化算法對(duì)目標(biāo)函數(shù)進(jìn)行全局最優(yōu)值搜索,采用C/S網(wǎng)絡(luò)架構(gòu)和多線程技術(shù)實(shí)現(xiàn)了實(shí)時(shí)同步獲取RSSI值,采用GUI設(shè)計(jì)了定位系統(tǒng)界面,實(shí)現(xiàn)了定位結(jié)果實(shí)時(shí)動(dòng)態(tài)顯示。測(cè)試結(jié)果表明:系統(tǒng)實(shí)現(xiàn)了室內(nèi)實(shí)時(shí)高精確定位。
RSSI測(cè)距;改進(jìn)質(zhì)心定位算法;定位誤差;簡(jiǎn)化粒子群優(yōu)化算法;GUI界面顯示
目前主流的GPS定位技術(shù)[1]主要用在室外場(chǎng)景,而在室內(nèi)環(huán)境下由于遮擋物的存在,無線信號(hào)傳輸過程中會(huì)發(fā)生折射、反射以及能量衰減[2]等現(xiàn)象,導(dǎo)致GPS等衛(wèi)星定位技術(shù)不準(zhǔn)確甚至不能進(jìn)行室內(nèi)目標(biāo)定位。為此本文設(shè)計(jì)了一種基于RSSI的高精度的實(shí)時(shí)定位系統(tǒng),系統(tǒng)中定位算法相比文獻(xiàn)[3]中質(zhì)心算法增加權(quán)值定位更精確;文獻(xiàn)[4]中采用梯度下降法和離群算法對(duì)定位效果進(jìn)行優(yōu)化,算法復(fù)雜并且容易產(chǎn)生局部收斂,使得定位精度不高,本文采用簡(jiǎn)化粒子群優(yōu)化算法對(duì)定位誤差進(jìn)行最小化,算法實(shí)現(xiàn)簡(jiǎn)單,具有全局最優(yōu),定位精度高。
本文定位系統(tǒng)采用iBeacon基站作為移動(dòng)點(diǎn),iBeacon嗅探器作為固定錨節(jié)點(diǎn)。iBeacon基站采用低功耗藍(lán)牙技術(shù),以廣播的形式不斷向周圍發(fā)送自己的MAC地址[5]、Major、Minor、UUID號(hào)和RSSI值[6]等信息,iBeacon嗅探器接收這些信息并以wifi形式發(fā)送出去。
1.1 基于RSSI測(cè)距原理
無線信號(hào)在自由空間中的傳播模型[7]為:
P(d)=P(d0)-10αlg(d/d0)+ξ
(1)式中:P(d)和P(d0)分別為嗅探器距離iBeacon基站dm和d0m處的接收功率,單位為dBm;α[8]為無線信道衰減因子,同具體無線環(huán)境緊密相關(guān);ξ[9]為一個(gè)均值為零,服從高斯分布的隨機(jī)變量。在iBeacon基站技術(shù)中規(guī)定d0為1 m,P(d0)即為當(dāng)嗅探器距離iBeacon基站1 m時(shí)的接收信號(hào)強(qiáng)度值,其為一固定值。從而無線信號(hào)的傳播模型可簡(jiǎn)化為:
RSSI=A-10αlgd+ξ
(2)
式中:A和α為經(jīng)驗(yàn)值,需要通過實(shí)驗(yàn)測(cè)量數(shù)據(jù)進(jìn)行擬合得到,RSSI值可直接從藍(lán)牙終端獲得,而d即為所求的嗅探器與基站的直線距離。
1.2 基于改進(jìn)加權(quán)質(zhì)心的定位算法
質(zhì)心算法[10]是基于無線網(wǎng)絡(luò)連通性,質(zhì)心指的是幾個(gè)節(jié)點(diǎn)組成的多邊形的質(zhì)心。以每一個(gè)iBeacon嗅探器錨節(jié)點(diǎn)為圓心,以RSSI值轉(zhuǎn)換距離d為半徑畫圓,那么定位未知節(jié)點(diǎn)就應(yīng)該位于所有圓的交集部分,如圖1所示的陰影區(qū)域。質(zhì)心算法是取所有圓的交點(diǎn),對(duì)交點(diǎn)組成的多邊形進(jìn)行求質(zhì)心,此質(zhì)心即為定位目標(biāo)。
圖1 質(zhì)心定位示意圖
(3)
(4)
式中:n為權(quán)值修正系數(shù),提高定位精度。
2.1 簡(jiǎn)化粒子群優(yōu)化算法
粒子群優(yōu)化算法是一種群體智能的全局最優(yōu)搜索算法[12],通過模擬鳥類的覓食行為建立數(shù)學(xué)模型。本文采用簡(jiǎn)化粒子群優(yōu)化算法[13],粒子進(jìn)化過程與速度無關(guān),避免陷入局部極值,進(jìn)化停滯步數(shù)作為觸發(fā)條件對(duì)全局極值Pg和個(gè)體極值P0進(jìn)行隨機(jī)擾動(dòng),實(shí)現(xiàn)全局最優(yōu)。極值擾動(dòng)算子為:
(5)
式中:tg、t0分別表示全局極值和個(gè)體極值進(jìn)化停滯步數(shù),Tg、T0分別表示全局極值和個(gè)體極值擾動(dòng)觸發(fā)的閾值。觸發(fā)約束條件如下:
(6)
式中:r3、r4表示帶條件的均勻隨機(jī)函數(shù),U(0,1)表示在(0,1)內(nèi)服從均勻分布的隨機(jī)數(shù)。
(7)
式中:wt是慣性權(quán)值系數(shù),是隨著進(jìn)化代數(shù)t的增加而線性減少,則wt表達(dá)式如下:
wt=wmax-(wmax-wmin)×t/tsum
(8)
式中:wmax為最大慣性權(quán)重系數(shù),wmin為最小慣性權(quán)重系數(shù),t為當(dāng)前迭代次數(shù),tsum為最大迭代次數(shù)。慣性權(quán)值可提高算法跳出局部極值能力。
2.2 基于定位誤差最小化的目標(biāo)函數(shù)
改進(jìn)的加權(quán)質(zhì)心算法是在所有圓的交集內(nèi)依據(jù)錨節(jié)點(diǎn)貢獻(xiàn)大小進(jìn)行定位,定位結(jié)果存在誤差,為使定位更精確,本文對(duì)定位誤差進(jìn)行最小化,即在改進(jìn)加權(quán)質(zhì)心算法得到的定位點(diǎn)附近小范圍搜索誤差最小的點(diǎn)。定位誤差最小化目標(biāo)函數(shù)為:
(9)
式中:
(10)
為實(shí)時(shí)采集iBeacon嗅探器發(fā)送的數(shù)據(jù),采用Java編程語言設(shè)計(jì)無線數(shù)據(jù)采集C/S網(wǎng)絡(luò)架構(gòu),并將數(shù)據(jù)存儲(chǔ)在SQL Server 2008數(shù)據(jù)庫(kù)中。基于MATLAB平臺(tái)訪問數(shù)據(jù)庫(kù)數(shù)據(jù),編程實(shí)現(xiàn)RSSI值與距離d轉(zhuǎn)換,采用改進(jìn)加權(quán)質(zhì)心定位算法進(jìn)行實(shí)時(shí)定位,然后簡(jiǎn)化粒子群優(yōu)化算法對(duì)定位誤差進(jìn)行最小化,最后采用MATLAB中的GUI設(shè)計(jì)系統(tǒng)的實(shí)時(shí)顯示界面。
3.1 基于wifi的C/S網(wǎng)絡(luò)架構(gòu)
嗅探器把接收到的基站信息以Wifi形式向外部發(fā)送,基于Wifi特性,用無線網(wǎng)卡搭建客戶端與服務(wù)器(Client/Server)架構(gòu),這里把iBeacon嗅探器作為客戶端,安裝無線網(wǎng)卡的主機(jī)當(dāng)做服務(wù)器。如圖2所示為C/S網(wǎng)絡(luò)架構(gòu)示意圖。
圖2 基于wifi的C/S網(wǎng)絡(luò)架構(gòu)示意圖
3.2 基于多線程技術(shù)的數(shù)據(jù)獲取與存儲(chǔ)
基于Wifi的C/S模式實(shí)現(xiàn)無線網(wǎng)絡(luò)的連通,為實(shí)現(xiàn)實(shí)時(shí)定位,需要同時(shí)獲取多個(gè)嗅探器發(fā)送的數(shù)據(jù),為此采用Eclipse開發(fā)平臺(tái)的多線程技術(shù)。采用SQL Server 2008數(shù)據(jù)庫(kù)實(shí)時(shí)存儲(chǔ)數(shù)據(jù)。設(shè)定嗅探器工作于TCP Client模式,端口號(hào):8899,網(wǎng)卡IP地址為192.168.2. 三個(gè)iBeacon嗅探器IP地址為:192.168.2.5、192.168.2.6、192.168.2.7,網(wǎng)關(guān):192.168.2.11/24。如圖3所示為數(shù)據(jù)實(shí)時(shí)獲取與存儲(chǔ)工作流程圖。
圖3 數(shù)據(jù)實(shí)時(shí)獲取與存儲(chǔ)工作流程圖
3.3 定位界面設(shè)計(jì)
為實(shí)現(xiàn)快速計(jì)算、準(zhǔn)確定位,采用MATLAB進(jìn)行定位算法實(shí)現(xiàn)和定位界面設(shè)計(jì),其中定位界面基于GUI工具實(shí)現(xiàn)。下面對(duì)界面顯示功能進(jìn)行設(shè)計(jì):①為實(shí)現(xiàn)對(duì)多目標(biāo)的定位,設(shè)置“基站選擇”菜單,可以對(duì)多基站多目標(biāo)進(jìn)行選擇定位。②為控制讀取數(shù)據(jù)庫(kù)中數(shù)據(jù)的頻率,設(shè)置“時(shí)間間隔”菜單,控制定位速度。③設(shè)置“目標(biāo)位置”窗口,采用激光測(cè)距儀精確測(cè)量定位目標(biāo)的坐標(biāo)位置“X”和“Y”值并顯示,方便與定位結(jié)果作比對(duì)。④設(shè)置兩個(gè)定位結(jié)果窗口,一個(gè)是采用簡(jiǎn)化粒子群對(duì)定位誤差最小化后的定位目標(biāo)的位置“X”和“Y”和定位誤差“ERROR”,另一個(gè)是采用改進(jìn)加權(quán)質(zhì)心定位算法的結(jié)果坐標(biāo)和定位誤差。⑤設(shè)置“定位”與“停止”按鈕來控制定位的進(jìn)程。
為了測(cè)試本文定位系統(tǒng)的準(zhǔn)確性與穩(wěn)定性,把測(cè)試環(huán)境放在一個(gè)20 m×20 m的會(huì)議禮堂,采用3個(gè)iBeacon嗅探器,經(jīng)過測(cè)試得到3個(gè)iBeacon嗅探器距離iBeacon基站1 m處時(shí)接收信號(hào)強(qiáng)度RSSI值分別為A1=73.7、A2=72.2、A3=73.6,無線信道衰減因子分別為α1=1.997 2、α2=1.994 0、α3=2.021 9。簡(jiǎn)化粒子群優(yōu)化算法參數(shù)設(shè)置:粒子維數(shù)N=2;粒子在二維空間坐標(biāo)位置變化范圍L=0.2;粒子數(shù)n=50;迭代次數(shù)tsum=100;停滯步數(shù)tg=1,t0=0,閾值Tg=5,T0=3;慣性權(quán)重系數(shù)wmax=0.8,wmin=0.3。
實(shí)驗(yàn)中選取30個(gè)測(cè)試位置,時(shí)間間隔1 s,為了保證數(shù)據(jù)準(zhǔn)確性,對(duì)每一個(gè)測(cè)試位置數(shù)據(jù)求平均值作為該位置點(diǎn)的信號(hào)強(qiáng)度RSSI值。圖4是定位系統(tǒng)測(cè)試結(jié)果圖,其中,點(diǎn)畫線的為目標(biāo)點(diǎn)位置,星畫線為本文進(jìn)行誤差最小化后的定位結(jié)果。
圖4 定位系統(tǒng)測(cè)試結(jié)果
圖5是分別采用改進(jìn)加權(quán)質(zhì)心定位算法和簡(jiǎn)化粒子群優(yōu)化定位誤差最小化算法的定位結(jié)果誤差,由圖可見經(jīng)過簡(jiǎn)化粒子群對(duì)定位誤差最小化的處理后,定位誤差明顯減小。
圖5 定位誤差分析圖
本文設(shè)計(jì)的基于RSSI實(shí)時(shí)精確定位系統(tǒng)所需器材少,成本低,實(shí)現(xiàn)操作簡(jiǎn)單。該系統(tǒng)采用多種技術(shù)融合,首先采用Java編程語言設(shè)計(jì)無線數(shù)據(jù)采集C/S網(wǎng)絡(luò)架構(gòu),SQL Server 2008數(shù)據(jù)庫(kù)實(shí)現(xiàn)實(shí)時(shí)存儲(chǔ)數(shù)據(jù),多線程技術(shù)實(shí)現(xiàn)并行讀取3個(gè)嗅探器的RSSI數(shù)據(jù),然后采用MATLAB編程完成改進(jìn)加權(quán)質(zhì)心定位算法和簡(jiǎn)化粒子群對(duì)定位誤差最小化算法,最后采用GUI設(shè)計(jì)定位系統(tǒng)顯示界面,實(shí)時(shí)動(dòng)態(tài)顯示定位結(jié)果。定位系統(tǒng)測(cè)試結(jié)果表明:本文設(shè)計(jì)的定位系統(tǒng)可實(shí)現(xiàn)了室內(nèi)目標(biāo)的實(shí)時(shí)高精確定位,經(jīng)誤差最小化校正誤差小于0.2 m。
[1] 袁修孝,付建紅,樓益棟. 基于精密單點(diǎn)定位技術(shù)的GPS輔助空中三角測(cè)量[J]. 測(cè)繪學(xué)報(bào),2007,36(3):251-255.
[2] 王召召,鄒澎,王瑤. 建筑物對(duì)通信信號(hào)衰減的定量研究[J]. 通信技術(shù),2010,43(5):61-63.
[3] 林偉,陳傳峰. 基于RSSI的無線傳感器網(wǎng)絡(luò)三角形質(zhì)心定位算法[J]. 傳感器技術(shù),2009(2):180-183.
[4] 羅臻,劉宏立,徐琨. 基于RSSI的無線傳感器網(wǎng)絡(luò)迭代安全定位算法[J]. 傳感器與微系統(tǒng),2015,1(34):116-119.
[5] 楊文鉑,邢鵬康,劉彥華. 一種基于自適應(yīng)RSSI測(cè)距模型的無線傳感器網(wǎng)絡(luò)定位方法[J]. 傳感技術(shù)學(xué)報(bào),2015,28(1):137-141.
[6] 方震,趙 湛,郭鵬,等. 基于RSSI測(cè)距分析[J]. 傳感技術(shù)學(xué)報(bào),2007,20(11):2526-2530.
[7] 周艷,李海成. 基于RSSI無線傳感器網(wǎng)絡(luò)空間定位算法[J]. 通信學(xué)報(bào),2009,30(6):75-79.
[8] 于慧霞. WSN中基于RSSI的加權(quán)質(zhì)心定位算法的改進(jìn)[J]. 電子測(cè)試,2012(1):28-32.
[9] 萬國(guó)峰,鐘俊,楊成慧. 改進(jìn)的RSSI測(cè)距和定位算法[J]. 計(jì)算機(jī)應(yīng)用研究,2012,29(11):4156-4158.
[10] Chen Junjie,Ge Wentao,Tao Liang. A Weighted Compensated Localization Algorithm of Nodes in Wireless Sensor Networks[C]//Proceeding of the 3rd International Workshop on Advanced Computational Intelligence,2010:25-27.
[11] 陳維克,李文鋒,首 珩,等. 基于RSSI的無線傳感器網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[J]. 武漢理工大學(xué)學(xué)報(bào)(交通科學(xué)與工程版),2006,30(2):265-268.
[12] 王寧,周圓,劉敬浩. 一種基于改進(jìn)粒子群的無線傳感器網(wǎng)絡(luò)層次化聚類協(xié)議[J]. 傳感技術(shù)學(xué)報(bào),2017,30(1):120-125.
[13] Shi Y,Eberhart R C. Empirical Study of Particle Swarm Optimization[C]//Proceeding IEEE International Conference on Evolutionary Computation,1997:303-308.
王娜娜(1985-),女,碩士,工程師,中國(guó)人民解放軍第63626部隊(duì),研究方向?yàn)闊o線傳感器網(wǎng)絡(luò)、電磁頻譜定位,wangnanasj@126.com;
付 強(qiáng)(1989-),男,本科,工程師,中國(guó)人民解放軍第63607部隊(duì),研究方向?yàn)闊o線傳感器網(wǎng)絡(luò)。
Design and Realization of Realtime Accurate Location SystemBased on
Signal Strength Indicator
WANG Nana1*,FU Qiang2,LIU Zelong1
(1.Unit 63626,Jiuquan Gansu 732750,China;2.Unit 63607,Jiuquan Gansu 732750,China)
In order to realize the real-time and accurate positioning in the room,A real-time precise positioning system is designed based on Received Signal Strength Indicator(RSSI). Firstly,based on the principle of RSSI distance measurement,the strength and distance mathematical model is established to transform the signal intensity into distance,then the improved weighted centroid algorithm is used to locate the target,and the positioning error is taken as the objective function. Finally,the simplified particle swarm optimization algorithm is used to optimize the objective function. The C/S network architecture and the multi-thread technology are used to obtain the RSSI value. The positioning system interface is designed by using the GUI. In the end,the real-time dynamic display of the positioning is realized. The test result shows that the system realizes the high precision positioning in the room
Received Signal Strength Indicator measurement;improved weighted centroid localization algorithm;positioning error;simple particle swarm optimization;GUI interface display
ved Signal Strength Indicator)指的是接收信號(hào)的強(qiáng)度。RSSI測(cè)距原理:已知發(fā)射節(jié)點(diǎn)的發(fā)射功率、接收節(jié)點(diǎn)處的接收功率,計(jì)算出無線信號(hào)的傳播損耗,依據(jù)自由空間無線信號(hào)傳播模型,將傳播損耗轉(zhuǎn)化為距離,即為發(fā)射信號(hào)點(diǎn)與接收點(diǎn)的距離。
2016-11-01 修改日期:2017-03-12
TP393.1
A
1004-1699(2017)07-1095-05
C:7230
10.3969/j.issn.1004-1699.2017.07.021