• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      徐瀟瀟,謝林柏,彭 力

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

      1 概述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      3.2 客戶端設(shè)計

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

      圖2 客戶端流程

      在客戶端中,共設(shè)計 Main,Data_collection和Start_location這3個Activity,分別為對應(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ù)庫前,先查詢該ID是否已經(jīng)存在,若存在,則讓用戶手動選擇是否覆蓋原有數(shù)據(jù)。在掃描通信范圍內(nèi)AP信息時,用到以下接口和類:ScanResult,WifiInfo和WifiManager。其中,ScanResult用來描述檢測到的所有AP的地址、名稱、頻率以及信號強(qiáng)度等信息;WifiManager提供了大部分用來操作WiFi的API。對獲得的原始數(shù)據(jù),利用自定義的比較器按照信號強(qiáng)度大小由大到小依次排序。信號掃描界面如圖3所示。

      圖3 信號掃描界面

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

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

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

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

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

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

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

      指紋信息錄入模塊用來接收并錄入?yún)⒖嘉恢弥讣y信息,通過doPost方法獲取參考節(jié)點ID、X軸位置、Y軸位置、通信范圍內(nèi)符合條件的AP的MAC地址以及RSSI值。在對數(shù)據(jù)庫進(jìn)行插入操作前,先對該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ù)庫中對應(yīng)的指紋信息。

      定位模塊用來完成客戶端發(fā)出的定位請求,通過doPost方法獲取客戶端發(fā)送過來的待定位置指紋信息,將所得信息與數(shù)據(jù)庫的參考節(jié)點進(jìn)行對比,利用改進(jìn)的K最近鄰匹配算法計算出待定位置的物理坐標(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表示參考位置的編號;X與Y表示參考位置的物理坐標(biāo);MAC與 LEVEL表示 AP的MAC地址與該AP的RSSI值。

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

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

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

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

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

      5 結(jié)束語

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

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

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

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

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

      [5] 容曉峰,楊 娜.RSSI位置指紋的定位誤差分析與仿真[J].西安工業(yè)大學(xué)學(xué)報,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è)計工程,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平臺的室內(nèi)定位系統(tǒng)設(shè)計與實現(xiàn)[J].華中科技大學(xué)學(xué)報:自然科學(xué)版,2013,41(S1):426-428.

      猜你喜歡
      信號強(qiáng)度指紋客戶端
      光學(xué)相干斷層成像不同掃描信號強(qiáng)度對視盤RNFL厚度分析的影響
      像偵探一樣提取指紋
      為什么每個人的指紋都不一樣
      縣級臺在突發(fā)事件報道中如何應(yīng)用手機(jī)客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      室內(nèi)定位信號強(qiáng)度—距離關(guān)系模型構(gòu)建與分析
      WiFi信號強(qiáng)度空間分辨率的研究分析
      測繪通報(2016年9期)2016-12-15 01:56:16
      基于自適應(yīng)稀疏變換的指紋圖像壓縮
      可疑的指紋
      南澳县| 康马县| 宣恩县| 徐闻县| 慈溪市| 隆尧县| 南部县| 舒兰市| 望江县| 苏尼特左旗| 湄潭县| 那坡县| 柘荣县| 永兴县| 砀山县| 如东县| 颍上县| 渝中区| 奇台县| 尼木县| 浏阳市| 商洛市| 仙游县| 龙山县| 仙桃市| 会东县| 红安县| 中牟县| 南平市| 东宁县| 商丘市| 桂林市| 台山市| 铁力市| 唐河县| 淮北市| 津南区| 纳雍县| 中江县| 藁城市| 中超|