国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WiFi信號(hào)強(qiáng)度特征的室內(nèi)定位系統(tǒng)設(shè)計(jì)

2015-01-02 02:00:56徐瀟瀟謝林柏
計(jì)算機(jī)工程 2015年4期
關(guān)鍵詞:信號(hào)強(qiáng)度指紋客戶端

徐瀟瀟,謝林柏,彭 力

(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無錫214122)

1 概述

隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,人們對(duì)位置信息感知的需求日益增多,GPS可以較好地滿足在室外環(huán)境的定位需求,但在相對(duì)封閉或者復(fù)雜的環(huán)境中,GPS定位通常不能獲得很好效果甚至無法定位[1]。所以,需要設(shè)計(jì)一個(gè)室內(nèi)定位系統(tǒng),以滿足人們?cè)谑覂?nèi)環(huán)境下對(duì)位置信息的需求。

根據(jù)無線信號(hào)傳播的距離與傳播時(shí)間、角度、和信號(hào)強(qiáng)度的關(guān)系建立不同模型,有基于信號(hào)達(dá)到角度(Angle of Arrival,AOA)模型、基于信號(hào)到達(dá)時(shí)間(Time of Arrival,TOA)模型、基于信號(hào)到達(dá)時(shí)間差(Time Difference of Arrival,TDOA)模型、無線信號(hào)傳播衰減模型等[2],根據(jù)這些方法建立終端位置與模型相關(guān)變量的數(shù)據(jù)關(guān)系,通過檢測(cè)的AOA,TOA,TDOA或接收信號(hào)強(qiáng)度指示(Received Signal Strength Indicator,RSSI)信息計(jì)算用戶位置[3]。但是由于室內(nèi)建筑的遮擋會(huì)造成比較嚴(yán)重的多徑干涉以及反射等現(xiàn)象[4],信號(hào)到達(dá)角與RSSI值等信息不能精確地描述兩點(diǎn)之間的位置關(guān)系[5]。

針對(duì)以上問題,本文系統(tǒng)在位置指紋算法的基礎(chǔ)上對(duì)無線接入點(diǎn)(Access Point,AP)進(jìn)行過濾,減少無關(guān)AP對(duì)定位精度的影響,并結(jié)合改進(jìn)的K最近鄰(K-Nearest Neighbor,KNN)匹配算法,計(jì)算出待定位置的位置信息。

2 室內(nèi)定位算法

由于室內(nèi)復(fù)雜的環(huán)境以及家具、門窗以及人員走動(dòng)等因素的存在,利用傳統(tǒng)路徑損耗模型無法精確描述距離與信號(hào)強(qiáng)度之間的關(guān)系,路徑損耗模型如下:

其中,d0表示參考距離,一般取1 m;P(d0)表示在d0處的信號(hào)強(qiáng)度值;X?為一個(gè)高斯隨機(jī)變量,均值和標(biāo)準(zhǔn)差分別為0和?;n表示路徑損耗系數(shù);d表示待測(cè)距離;P(d)表示距離d處的信號(hào)強(qiáng)度值。由于路徑損耗系數(shù)在不同位置可能存在較大偏差,因此若在室內(nèi)環(huán)境下采用路徑損耗模型進(jìn)行定位通常得到的結(jié)果偏差會(huì)比較大。

2.1 位置指紋定位算法的改進(jìn)

位置指紋定位算法將待定位置周圍的AP信號(hào)強(qiáng)度特征與數(shù)據(jù)庫中參考位置的信息進(jìn)行對(duì)比,再通過一定的匹配算法計(jì)算出待定位置的位置信息[6]。該算法能夠在一定程度上減少信號(hào)強(qiáng)度路徑損耗帶來的定位誤差,具有一定的抗干擾能力[7]。位置指紋定位算法的工作模式一般由2個(gè)階段組成:訓(xùn)練階段和定位階段。

在訓(xùn)練階段時(shí),在定位區(qū)域選取若干個(gè)參考位置,記錄每個(gè)參考位置的信號(hào)參數(shù)集合,類似于人類指紋,每個(gè)信號(hào)參數(shù)集合對(duì)應(yīng)一個(gè)唯一的物理位置。參考位置指紋R為:

其中,n表示參考位置通信范圍內(nèi)的AP個(gè)數(shù);maci表示第i個(gè)AP的MAC地址;ri表示接收到的來自第i個(gè)AP的RSSI值。為減小不相關(guān)AP對(duì)系統(tǒng)定位精度的影響以及便于匹配算法的計(jì)算,參考位置與待定位置在進(jìn)行信號(hào)特征采集時(shí),只選取5組滿足條件的AP進(jìn)行數(shù)據(jù)采集,并按照信號(hào)強(qiáng)度的大小依次排列,過濾后的參考位置指紋Ri為:

其中,i表示第 i個(gè)參考位置;r1>r2>r3>r4>r5。記錄這些參考位置的指紋信息以及物理坐標(biāo),存入數(shù)據(jù)庫中。一般來說,參考節(jié)點(diǎn)越多,定位精度和效果越好[8]。

在定位階段時(shí),使用安卓客戶端獲得待定位置的指紋A:

將該指紋與數(shù)據(jù)庫中的參考位置指紋進(jìn)行對(duì)比,利用改進(jìn)的K最近鄰匹配算法計(jì)算出待定位置的位置信息。

2.2 K最近鄰匹配算法的改進(jìn)

K最近鄰匹配算法的本質(zhì)是計(jì)算待定位置測(cè)量到的RSSI值組成的向量與數(shù)據(jù)庫中參考位置的RSSI向量的距離[9-10]。本文系統(tǒng)在待定位區(qū)域選取5個(gè)固定AP,假設(shè)數(shù)據(jù)庫中共有n個(gè)參考點(diǎn),則距離公式表達(dá)式為:

其中,Ai表示待定位位置測(cè)得的第i個(gè)AP的RSSI值;Rji(j=1,2,…,n)表示數(shù)據(jù)庫中第j個(gè)參考點(diǎn)中來自i個(gè)AP的RSSI值。當(dāng)p=1時(shí),該距離稱為曼哈頓距離,當(dāng)p=2時(shí),該距離稱為歐幾里得距離,本文系統(tǒng)取p=2。定位的本質(zhì)是找出與待定位置之間距離d最小的一個(gè)或多個(gè)參考節(jié)點(diǎn)[11]。傳統(tǒng)匹配算法選取距離最小的1個(gè)或K個(gè)參考位置,本文系統(tǒng)選取與待定位置距離d最小的3個(gè)參考位置a,b,c,對(duì)應(yīng)距離與物理坐標(biāo)分別為 da,db,dc與(xa,ya),(xb,yb),(xc,yc)。3 個(gè)點(diǎn)的權(quán)重分別為:

3 室內(nèi)定位系統(tǒng)設(shè)計(jì)

3.1 系統(tǒng)框架設(shè)計(jì)

系統(tǒng)由客戶端、服務(wù)器以及數(shù)據(jù)庫3個(gè)部分組成,交互流程如圖1所示。

圖1 室內(nèi)定位系統(tǒng)框架

隨著智能手機(jī)的發(fā)展,幾乎所有搭載Android系統(tǒng)的智能手機(jī)都具有 WiFi功能,這使得利用Android智能手機(jī)來進(jìn)行室內(nèi)定位系統(tǒng)的開發(fā)變得可能。

Tomcat是一個(gè)由SUN公司開發(fā)的Servlet容器,具有開源、穩(wěn)定以及高效等特點(diǎn),是開發(fā) Java Web應(yīng)用的最佳選擇之一。本文系統(tǒng)服務(wù)器端利用Servlet組件來實(shí)現(xiàn),客戶端與服務(wù)器之間采用HTTP方式進(jìn)行通信。

MySQL數(shù)據(jù)庫由于開源、使用免費(fèi)、性能穩(wěn)定等特點(diǎn),在中低端市場(chǎng)占據(jù)很大份額,因此本文系統(tǒng)的數(shù)據(jù)庫部分采用MySQL來實(shí)現(xiàn),用來存儲(chǔ)參考位置的指紋信息。為使Tomcat能訪問并操作MySQL數(shù)據(jù)庫,首先必須利用Java數(shù)據(jù)庫連接(Java Data Base Connectivity,JDBC)來連接 Java程序與數(shù)據(jù)庫,在程序中加載并注冊(cè)JDBC的方法具體如下:Class.forName(“com.mysql.jdbc.Driver”)。

3.2 客戶端設(shè)計(jì)

安卓客戶端利用Eclipse來進(jìn)行開發(fā)[12],采用的手機(jī)型號(hào)為Google Nexus S。在進(jìn)行客戶端開發(fā)前,應(yīng)先安裝Java語言的軟件開發(fā)工具包(Java Development Kit,JDK),并對(duì)環(huán)境變量進(jìn)行配置??蛻舳藢?shí)現(xiàn)了用戶登錄、上傳參考位置指紋信息和請(qǐng)求定位等功能。用戶在登錄模塊輸入用戶名、密碼以及服務(wù)器IP地址,根據(jù)IP地址將參數(shù)傳送至服務(wù)器,若連接成功,則進(jìn)入訓(xùn)練模塊和定位模塊。訓(xùn)練模塊負(fù)責(zé)建立位置指紋信息數(shù)據(jù)庫,供定位階段進(jìn)行參考和計(jì)算。定位模塊負(fù)責(zé)將待定位置指紋信息發(fā)送至服務(wù)器,并發(fā)起定位請(qǐng)求,等待服務(wù)器返回定位結(jié)果并將定位結(jié)果顯示在客戶端。客戶端流程如圖2所示。

圖2 客戶端流程

在客戶端中,共設(shè)計(jì) Main,Data_collection和Start_location這3個(gè)Activity,分別為對(duì)應(yīng)登錄模塊、訓(xùn)練模塊和定位模塊。

登錄模塊利用Http的POST方法,將username與password參數(shù)傳給服務(wù)器,通過服務(wù)器返回的值來判斷是否登錄成功。若登錄不成功,則無法進(jìn)入訓(xùn)練模塊和定位模塊進(jìn)行下一步操作。

訓(xùn)練模塊負(fù)責(zé)將參考位置的指紋信息以及該位置的ID與物理坐標(biāo)發(fā)送至服務(wù)器,在將數(shù)據(jù)錄入數(shù)據(jù)庫前,先查詢?cè)揑D是否已經(jīng)存在,若存在,則讓用戶手動(dòng)選擇是否覆蓋原有數(shù)據(jù)。在掃描通信范圍內(nèi)AP信息時(shí),用到以下接口和類:ScanResult,WifiInfo和WifiManager。其中,ScanResult用來描述檢測(cè)到的所有AP的地址、名稱、頻率以及信號(hào)強(qiáng)度等信息;WifiManager提供了大部分用來操作WiFi的API。對(duì)獲得的原始數(shù)據(jù),利用自定義的比較器按照信號(hào)強(qiáng)度大小由大到小依次排序。信號(hào)掃描界面如圖3所示。

圖3 信號(hào)掃描界面

定位模塊負(fù)責(zé)將待定位置的指紋信息發(fā)送至服務(wù)器,服務(wù)器通過對(duì)比數(shù)據(jù)庫的信息,利用改進(jìn)的K最近鄰匹配算法計(jì)算出待定位置的信息并將定位結(jié)果返回給客戶端。在該模塊中,通過分別獲取發(fā)起定位時(shí)的時(shí)間和獲得位置信息時(shí)的時(shí)間來計(jì)算時(shí)間差,該差值即為定位消耗時(shí)間。

由于客戶端App涉及到對(duì)互聯(lián)網(wǎng)的訪問以及對(duì)WiFi的操作,因此要在AndroidMainfest文件中進(jìn)行如下配置,以獲得相應(yīng)的操作權(quán)限。

3.3 服務(wù)器端設(shè)計(jì)

服務(wù)器端利用 MyEclipse進(jìn)行開發(fā),并通過Tomcat的Servlet來實(shí)現(xiàn)所有功能。本文設(shè)計(jì)采用的 Tomcat版本為 6.0.16。在使用 Tomcat前,需配置相關(guān)的環(huán)境變量,創(chuàng)建變量名為 CATALINA_HOME的系統(tǒng)變量,變量值為tomcat的安裝路徑。

在服務(wù)器端,共設(shè)計(jì)以下主要的類來滿足相應(yīng)客戶端的要求:Login_Servlet,Collection_Servlet,Query_Servlet,Location_Servlet,分別對(duì)應(yīng)驗(yàn)證模塊、指紋信息錄入模塊、ID查詢模塊以及定位模塊,每個(gè)Servlet對(duì)應(yīng)一個(gè)模塊??蛻舳说牟煌K訪問的Servlet不一樣。在本文系統(tǒng)中,客戶端的登錄模塊將參數(shù)傳遞至服務(wù)器端時(shí),調(diào)用的是服務(wù)器驗(yàn)證模塊對(duì)應(yīng)的Login_Servlet,客戶端在進(jìn)行離線數(shù)據(jù)庫建立的過程中,調(diào)用的是服務(wù)器指紋信息錄入模塊對(duì)應(yīng)的Collection_Servlet,客戶端在發(fā)起定位請(qǐng)求時(shí),調(diào)用的是服務(wù)器定位模塊對(duì)應(yīng)的 Location_Servlet。Servlet工作模式如圖4所示。

圖4 客戶端調(diào)用Servlet的流程

驗(yàn)證模塊用來驗(yàn)證用戶的登錄信息,通過doPost獲取 username和 password參數(shù),若驗(yàn)證正確,則通過PrintWrite向客戶端返回確認(rèn)信息,表示驗(yàn)證通過,客戶端可繼續(xù)調(diào)用其他模塊進(jìn)行操作。

指紋信息錄入模塊用來接收并錄入?yún)⒖嘉恢弥讣y信息,通過doPost方法獲取參考節(jié)點(diǎn)ID、X軸位置、Y軸位置、通信范圍內(nèi)符合條件的AP的MAC地址以及RSSI值。在對(duì)數(shù)據(jù)庫進(jìn)行插入操作前,先對(duì)該ID進(jìn)行查詢,若該ID在數(shù)據(jù)庫中不存在,則將數(shù)據(jù)插入表格,并通過PrintWrite向客戶端返回確認(rèn)信息,若改ID已經(jīng)存在,則不進(jìn)行數(shù)據(jù)插入操作,并通過向客戶端返回相應(yīng)信息,由客戶端來確認(rèn)是否進(jìn)行強(qiáng)制替換操作。

查詢模塊用來查詢相應(yīng)ID的參考位置指紋信息,若該ID存在,則向客戶端返回該ID在數(shù)據(jù)庫中對(duì)應(yīng)的指紋信息。

定位模塊用來完成客戶端發(fā)出的定位請(qǐng)求,通過doPost方法獲取客戶端發(fā)送過來的待定位置指紋信息,將所得信息與數(shù)據(jù)庫的參考節(jié)點(diǎn)進(jìn)行對(duì)比,利用改進(jìn)的K最近鄰匹配算法計(jì)算出待定位置的物理坐標(biāo),最后將位置信息返回給客戶端。

數(shù)據(jù)庫采用MySQL進(jìn)行開發(fā),版本為5.5.35。新建表格location_books用于存放參考位置的相關(guān)信息,格式具體如下:

ID X Y MAC1 LEVEL1 MAC2 LEVEL2 MAC3 LEVEL3 MAC4 LEVEL4 MAC5 LEVEL5

其中,ID表示參考位置的編號(hào);X與Y表示參考位置的物理坐標(biāo);MAC與 LEVEL表示 AP的MAC地址與該AP的RSSI值。

對(duì)于HTML或JSP文件,它們的URL與文件路徑之間存在對(duì)應(yīng)關(guān)系,而對(duì)于Servlet,需要在web.xml文件中對(duì)其映射 URL,具體由web.xml文件中的<url-pattern>元素來指定。

4 系統(tǒng)測(cè)試與結(jié)果分析

本文系統(tǒng)的測(cè)試地點(diǎn)為江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院C516附近4個(gè)房間及走廊,測(cè)試區(qū)域大小為14.2 m ×16.1 m,選定 5個(gè)固定 AP。采用網(wǎng)格布局,每隔1 m設(shè)定一個(gè)參考位置,共選取224個(gè)參考位置。每個(gè)參考位置進(jìn)行50次采樣,取中間值錄入數(shù)據(jù)庫。定位階段在待定位置進(jìn)行5次采樣,取中間值進(jìn)行定位計(jì)算,測(cè)試記錄如表1所示。

通過以上多組測(cè)量數(shù)據(jù)可得最小測(cè)量誤差為0.250 0 m,最大誤差為1.952 3 m,測(cè)量值與實(shí)際值的平均誤差為0.960 0 m,定位平均耗時(shí)為3.45 s,定位效果較理想。

表1 系統(tǒng)測(cè)試數(shù)據(jù)記錄

5 結(jié)束語

本文設(shè)計(jì)Android客戶端和Tomcat服務(wù)器,利用MySQL數(shù)據(jù)庫存儲(chǔ)參考節(jié)點(diǎn)的數(shù)據(jù)信息,采用改進(jìn)的位置指紋算法,搭建一個(gè)室內(nèi)定位系統(tǒng)。該系統(tǒng)在現(xiàn)有WiFi的基礎(chǔ)上,無需添加額外的設(shè)備,成本較低。測(cè)試結(jié)果表明,該系統(tǒng)定位精度較高、定位速度較快,具有較高的實(shí)用價(jià)值。今后步將采用貝葉斯等概率及擴(kuò)展定位范圍等方法進(jìn)一步改進(jìn)室內(nèi)定位精度。

[1] 謝 翔,荊 昊,郭際明.室內(nèi)環(huán)境下手機(jī)GPS定位精度研究[J].測(cè)繪通報(bào),2012,8(2):95-98.

[2] 盧恒惠,劉興川,張 超,等.基于三角形與位置指紋識(shí)別算法的 WiFi定位比較[J].移動(dòng)通信,2010,34(10):72-76.

[3] 方 震,趙 湛,郭 鵬,等.基于RSSI測(cè)距分析[J].傳感技術(shù)學(xué)報(bào),2007,20(11):2526-2530.

[4] 詹 杰,劉宏立,劉述鋼,等.基于RSSI的動(dòng)態(tài)權(quán)重定位算法研究[J].電子學(xué)報(bào),2011,39(1):82-88.

[5] 容曉峰,楊 娜.RSSI位置指紋的定位誤差分析與仿真[J].西安工業(yè)大學(xué)學(xué)報(bào),2010,30(6):574-578.

[6] Mok E,Retscher G.Location Determination Using WiFi Fingerprinting Versus Wifi Trilateration[J].Journal of Location Based Services,2007,1(2):145-159.

[7] 都伊林.一種模糊聚類KNN位置指紋定位算法[J].微型機(jī)與應(yīng)用,2012,31(23):55-58.

[8] 趙慶賀,鄧 平,陳 佳.一種基于 AP ID過濾的WLAN位置指紋定位算法[J].通信技術(shù),2012,45(10):61-63.

[9] Wu Xuewen,Tang Dunye,Qian Xinhong.A Centralized Location Algorithm Based on RSSIin Large-scale Wireless Sensor Network[J].Procedia Engineering,2011,15(1):2004-2009.

[10] 張曉亮,趙 平,徐冠青,等.基于一種優(yōu)化的KNN算法在室內(nèi)定位中的應(yīng)用研究[J].電子設(shè)計(jì)工程,2013,21(7):44-46.

[11] Huang Chih-Ning,Chan Chia-Tai.ZigBee-based Indoor Location System by K-nearest Neighbor Algorithm with Weighted RSSI[C]//Proceedings of the 2nd International Conference on Ambient Systems,Networks and Tcchnologies.Amsterdam,Holland:Elsevier,2011:58-65.

[12] 李 煒,金 亮,陳 曦.基于Android平臺(tái)的室內(nèi)定位系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2013,41(S1):426-428.

猜你喜歡
信號(hào)強(qiáng)度指紋客戶端
光學(xué)相干斷層成像不同掃描信號(hào)強(qiáng)度對(duì)視盤RNFL厚度分析的影響
像偵探一樣提取指紋
為什么每個(gè)人的指紋都不一樣
縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
室內(nèi)定位信號(hào)強(qiáng)度—距離關(guān)系模型構(gòu)建與分析
WiFi信號(hào)強(qiáng)度空間分辨率的研究分析
基于自適應(yīng)稀疏變換的指紋圖像壓縮
可疑的指紋
千阳县| 突泉县| 施秉县| 广南县| 吴江市| 行唐县| 乌恰县| 肥城市| 涿鹿县| 贵港市| 尚志市| 民县| 霍林郭勒市| 姚安县| 昔阳县| 嘉禾县| 万州区| 平泉县| 香港| 奉新县| 渝中区| 吴堡县| 云梦县| 中方县| 咸丰县| 陈巴尔虎旗| 镇沅| 永寿县| 太康县| 新和县| 博罗县| 南宫市| 竹溪县| 吴忠市| 济南市| 宜章县| 乐东| 新巴尔虎右旗| 平远县| 永安市| 宁德市|