亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于WiFi和地磁組合的網(wǎng)絡(luò)化定位系統(tǒng)設(shè)計(jì)

        2018-07-16 11:54:06顧青濤孫書良
        無線電工程 2018年8期
        關(guān)鍵詞:服務(wù)器端指紋坐標(biāo)系

        顧青濤,孫書良

        (1.北京衛(wèi)星導(dǎo)航中心,北京100094; 2.衛(wèi)星導(dǎo)航系統(tǒng)與裝備技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,河北 石家莊 050081)

        0 引言

        根據(jù)近幾年的統(tǒng)計(jì),人們的生活時(shí)間有80%~90%處于室內(nèi)環(huán)境中,包括在商場(chǎng)、機(jī)場(chǎng)、圖書館和大學(xué)校園等場(chǎng)所[1],同時(shí)70%的移動(dòng)電話和80%的蜂窩數(shù)據(jù)傳輸來自于室內(nèi)[2],這些引起了人們對(duì)基于位置服務(wù)與位置感知的室內(nèi)定位的濃厚興趣,例如對(duì)建設(shè)中的建筑物進(jìn)行導(dǎo)航與規(guī)劃、資產(chǎn)跟蹤,還有一些老年人輔助生活等[3]。

        傳感器技術(shù)與網(wǎng)絡(luò)技術(shù)的發(fā)展為室內(nèi)定位方法的拓展與應(yīng)用提供技術(shù)支撐[4]。無線網(wǎng)絡(luò)的普及使得基于WiFi技術(shù)的室內(nèi)定位方法得以實(shí)施,但WiFi信號(hào)多徑效應(yīng)又限制了其單一方法的定位精度[5];地磁匹配技術(shù)作為定位方法已有多年發(fā)展歷史[6],但室內(nèi)磁場(chǎng)環(huán)境受建筑特點(diǎn)及環(huán)境因素影響,出現(xiàn)磁場(chǎng)分布異常現(xiàn)象[7],單一地磁無法達(dá)到室內(nèi)人員定位的精度需求[8]。

        圍繞上述單一定位方式局限性,本文將RSSI與地磁匹配方法融合,利用移動(dòng)端固有的WiFi模塊與地磁傳感器模塊開展室內(nèi)組合定位算法的設(shè)計(jì)與測(cè)試。提出將平面位置坐標(biāo)、最近與次最近RSSI、WiFi數(shù)據(jù)和地磁數(shù)據(jù)組成聯(lián)合指紋,分別基于Android平臺(tái)和javaEE開發(fā)移動(dòng)端并搭建服務(wù)器[9],服務(wù)器端接收移動(dòng)端提供的最近和次最近的RSSI后與數(shù)據(jù)庫(kù)信息進(jìn)行粗匹配,利用求解得到的地磁數(shù)據(jù)hausdorff距離開展精匹配并向移動(dòng)端提供室內(nèi)位置信息[10]。

        1 定位系統(tǒng)整體架構(gòu)

        通過采集WiFi信號(hào)和地磁數(shù)據(jù),篩選最強(qiáng)與次最強(qiáng)RSSI并結(jié)合室內(nèi)平面坐標(biāo)組成聯(lián)合指紋,通過Android平臺(tái)和javaEE開發(fā)平臺(tái)搭建移動(dòng)端和服務(wù)器端[11]。

        由圖1所示的系統(tǒng)框架可看出,室內(nèi)定位系統(tǒng)由移動(dòng)端和服務(wù)器端構(gòu)成,移動(dòng)端包括交互層、業(yè)務(wù)邏輯層和控制層[12],交互層為用戶提供操作界面并顯示室內(nèi)平面地圖及定位位置,業(yè)務(wù)邏輯層負(fù)責(zé)處理平面坐標(biāo)數(shù)據(jù),控制層完成與服務(wù)器的數(shù)據(jù)通信;服務(wù)器端包括控制層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)層,數(shù)據(jù)庫(kù)層保存采集的數(shù)據(jù),業(yè)務(wù)邏輯層負(fù)責(zé)處理RSSI與地磁數(shù)據(jù)匹配解算等業(yè)務(wù)邏輯,控制層負(fù)責(zé)完成與移動(dòng)端的數(shù)據(jù)通信。

        圖1 系統(tǒng)框架

        1.1 移動(dòng)端設(shè)計(jì)

        1.1.1交互層

        自定義MapImageView:基于安卓開發(fā)平臺(tái),繼承ImageView控件,自定義加載圖片控件MapImageView,該控件重寫屏幕觸摸事件onTouch并添加手勢(shì)探測(cè)器GestureDetector,處理圖片移動(dòng)和縮放,方便用戶采集數(shù)據(jù)時(shí)精確選擇圖上位置點(diǎn)。通過畫布Canvas的drawBitmap函數(shù),在圖中繪制標(biāo)志點(diǎn),為自定義控件MapImageView添加addPoint函數(shù)與drawPosition函數(shù),用于繪制圖上關(guān)鍵點(diǎn)和定位位置。

        UI界面實(shí)現(xiàn):通過主界面布局文件添加豎向的LinearLayout線性布局,該布局中添加MapImageView和包含功能按鈕的2個(gè)橫向LinearLayout線性布局組成主界面UI[13]。在主界面MainActivity中注冊(cè)功能按鈕點(diǎn)擊監(jiān)聽器OnClickListener,用于響應(yīng)功能按鈕的點(diǎn)擊事件,處理用戶的操作。

        1.1.2業(yè)務(wù)邏輯層

        為組成匹配需要的聯(lián)合指紋庫(kù),移動(dòng)端業(yè)務(wù)邏輯層處理采集路徑的關(guān)鍵點(diǎn)、周期性采集的地磁數(shù)據(jù)、WiFi數(shù)據(jù)并分別保存到List集合中。用戶通過點(diǎn)擊下一段功能按鈕,依據(jù)采集數(shù)據(jù)量,通過平均分配平面坐標(biāo)位置x、y,結(jié)合每組的WiFi與地磁數(shù)據(jù)組成聯(lián)合指紋,利用谷歌的Gson插件將聯(lián)合指紋轉(zhuǎn)換成json數(shù)據(jù)傳遞到控制層[14]。定位模式下獲取控制層從服務(wù)器得到的坐標(biāo)數(shù)據(jù),根據(jù)當(dāng)前圖像的縮放比例得到圖上距離,傳遞到交互層。

        1.1.3控制層

        利用http協(xié)議,移動(dòng)端控制層將采集的數(shù)據(jù)傳輸?shù)椒?wù)器,系統(tǒng)處于定位模式時(shí),將采集的數(shù)據(jù)傳遞給服務(wù)器后獲取最佳匹配位置并傳遞給業(yè)務(wù)邏輯層。本文提出采用okHttp框架,利用okHttpClient的newCall方法傳遞Request參數(shù),Request參數(shù)中包含封裝采集數(shù)據(jù)的RequestBody與服務(wù)器接口信息,并在Callback回調(diào)函數(shù)中處理服務(wù)器返回?cái)?shù)據(jù)。

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

        利用Spring、SpringMVC和Mabatis框架(SSM框架)搭建服務(wù)器開發(fā)環(huán)境。

        1.2.1控制層

        利用注解@Controller添加控制器IndoorController,利用注解@RequestMapping為控制器IndoorController添加saveindoorData、getPosition兩個(gè)請(qǐng)求映射。通過服務(wù)器端控制層接收移動(dòng)端的服務(wù)請(qǐng)求后,利用請(qǐng)求映射參數(shù)HttpServerletRequest獲取數(shù)據(jù)并傳遞到業(yè)務(wù)邏輯層,利用HttpServerletRespose將業(yè)務(wù)邏輯層的處理結(jié)果返回到移動(dòng)端。

        1.2.2業(yè)務(wù)邏輯層

        通過接收控制層saveindoorData請(qǐng)求映射中的數(shù)據(jù),利用數(shù)據(jù)庫(kù)層的Dao對(duì)象將采集的聯(lián)合指紋保存到數(shù)據(jù)庫(kù)。定位模式時(shí),接收getPosition請(qǐng)求映射的數(shù)據(jù),利用請(qǐng)求數(shù)據(jù)中的最近BSSID、次最近BSSID篩選數(shù)據(jù)庫(kù)數(shù)據(jù),解算篩選后的地磁數(shù)據(jù)的hausdorff距離進(jìn)行精匹配獲取坐標(biāo)數(shù)據(jù)并返回。

        1.2.3數(shù)據(jù)庫(kù)層

        依據(jù)SQL語句[15],實(shí)現(xiàn)通過最近與次最近BSSID、模糊查詢等操作函數(shù)對(duì)保存在mysql數(shù)據(jù)庫(kù)的聯(lián)合指紋進(jìn)行查詢并反饋結(jié)果。

        2 基于移動(dòng)端的傳感器信息獲取

        2.1 WiFi信息采集

        為獲取聯(lián)合指紋庫(kù)中的最近與次最近RSSI和WiFi數(shù)據(jù),利用Android系統(tǒng)固有的WiFi模塊采集WiFi信號(hào),基于WiFi信號(hào)強(qiáng)度與傳輸距離成正比的特性,提出利用WiFi信號(hào)強(qiáng)度對(duì)采集的WiFi數(shù)據(jù)進(jìn)行排序。以走廊兩側(cè)WiFi信號(hào)為采集目標(biāo),開啟安卓系統(tǒng)WiFi信號(hào)接收服務(wù),采集WiFi信號(hào)、篩選WiFi的AP地址BSSID、網(wǎng)絡(luò)名稱SSID、信號(hào)強(qiáng)度level過程如下:

        ① 通過getSystemService(Context.WIFI_ SERVICE)獲取定位管理器WiFiManager,調(diào)用WiFiManager的setWiFiEnabled(true)方法開啟WiFi;

        ② 利用WiFiManager的startScan()方法掃描WiFi信號(hào);

        ③ 調(diào)用WiFiManager的getScanResults()方法得到掃描結(jié)果List,ScanResult類描述了AP的信息,包含網(wǎng)絡(luò)名稱SSID、AP地址BSSID、信號(hào)強(qiáng)度level和通信頻率frequency等信息;

        ④ 通過ScanResult變量得到AP的BSSID、SSID和level的值,結(jié)合平面坐標(biāo)并保存為:

        X坐標(biāo):Xn;Y坐標(biāo):Yn;Ap數(shù)據(jù):

        [{“BSSID”:”f0:b4:29:52:d8:73”,”SSID”:”RS101”,”level”:-47},{“BSSID”:”f2:b4:29:1d:41:c6”,”SSID”:”RS103Visit”,”level”:-53},{“BSSID”:”f0:b4:29:1d:41:c4”,”SSID”:”RS103”,”level”:-54}]

        2.2 基于磁傳感器的信息采集

        基于Android手機(jī)終端固有的地磁傳感器在不同時(shí)刻條件下采集室內(nèi)地磁數(shù)據(jù)如圖2所示。

        圖2 地磁場(chǎng)信息比對(duì)

        圖2(a)是2次采集數(shù)據(jù)的三維分布;圖2(b)、圖2(c)和圖2(d)分別是x、y、z軸的地磁數(shù)據(jù)分布特征比對(duì),通過分析地磁數(shù)據(jù)特征分布可看出,不同時(shí)刻的地磁場(chǎng)分布特征穩(wěn)定不變,保證利用地磁數(shù)據(jù)進(jìn)行室內(nèi)定位方法的可行性?;贏ndroid平臺(tái)獲取地磁數(shù)據(jù)的過程如下:

        ① 調(diào)用getSystemService(Context.SENSOR_ SERVICE)方法獲取傳感器管理器SensorManeger,SensorManeger管理安卓平臺(tái)傳感器的操作;

        ② 調(diào)用SensorManeger的getDefaltSensor(Sensor.TYPE_MAGNETIC_FIELD)獲取地磁傳感器;

        ③ 調(diào)用SensorManeger的registerListener()方法注冊(cè)地磁數(shù)據(jù)監(jiān)聽器SensorEventLitener,地磁數(shù)據(jù)變化時(shí),系統(tǒng)回調(diào)SensorEventLitener的onSensorChanged()函數(shù);

        ④ 在onSensorChanged(SensorEvent event)函數(shù)中event的values變量中獲取地磁數(shù)據(jù)。

        為避免數(shù)據(jù)采集過程中因手機(jī)搖擺引起的誤差,設(shè)計(jì)將手機(jī)坐標(biāo)系下獲取的地磁數(shù)據(jù)轉(zhuǎn)換到導(dǎo)航坐標(biāo)系。其中,手機(jī)坐標(biāo)系定義為x軸水平指向右、y軸垂直向上、z軸是指向屏幕正面向外[16],如圖3所示。

        圖3 手機(jī)坐標(biāo)系

        SensorManeger提供getRotationMatrix()方法用于獲取設(shè)備旋轉(zhuǎn)矩陣,通過式(1)完成地磁數(shù)據(jù)到導(dǎo)航坐標(biāo)系的轉(zhuǎn)換。

        (1)

        式中,magx、magy、magz分別為手機(jī)端采集的三軸地磁數(shù)據(jù);magx′magy′magz′為地磁數(shù)據(jù)在導(dǎo)航坐標(biāo)系的表現(xiàn)形式;R為手機(jī)坐標(biāo)系相對(duì)導(dǎo)航坐標(biāo)系的旋轉(zhuǎn)矩陣。getRotationMatrix()定義的導(dǎo)航坐標(biāo)系如圖4所示[17]。

        圖4 導(dǎo)航坐標(biāo)系

        圖4中,x軸切向地面設(shè)備當(dāng)前位置指向東、y軸切向地面設(shè)備當(dāng)前位置指向磁北極、z軸垂直當(dāng)?shù)厮矫娌⒅赶蛱臁?/p>

        3 融合定位算法在服務(wù)器端的實(shí)現(xiàn)

        3.1 Hausdorff匹配算法

        通過分析多種地磁匹配技術(shù)的優(yōu)缺點(diǎn)與適用性[18],確定以Hausdorff距離為度量的地磁數(shù)據(jù)匹配方法,該方法不僅考慮2個(gè)目標(biāo)之間的距離關(guān)系還涉及目標(biāo)之間的形狀差異[19]。針對(duì)Hausdorff距離用于測(cè)量2個(gè)點(diǎn)集的匹配程度并且不強(qiáng)調(diào)配對(duì)點(diǎn),具有很強(qiáng)的抗干擾能力和容錯(cuò)能力。本文提出在建立地磁數(shù)據(jù)庫(kù)時(shí)以每3 s保存一次地磁數(shù)據(jù)并組成點(diǎn)集M,在實(shí)際定位過程中每3 s采集一次地磁數(shù)據(jù)組成點(diǎn)集N(如式(2))。通過計(jì)算點(diǎn)集M、N的Hausdorff距離,以距離越小匹配程度越高為判斷依據(jù)。

        (2)

        M、N兩個(gè)點(diǎn)集的Hausdorff距離計(jì)算過程為:

        H(M,N)=max(h(M,N),h(N,M)),

        (3)

        (4)

        (5)

        式中,‖·‖是定義在集合M和N的范數(shù),以兩點(diǎn)間幾何最短距離為判定準(zhǔn)則得到地磁數(shù)據(jù)范數(shù)計(jì)算公式:

        (6)

        點(diǎn)集M和N之間的Hausdorff距離為M點(diǎn)集所有點(diǎn)到N點(diǎn)集所有點(diǎn)最小距離的最大值maxM與N點(diǎn)集所有點(diǎn)到M點(diǎn)集所有點(diǎn)最小距離的最大值maxN中的最大值,即

        H(M,N)=max(maxM,maxN)。

        (7)

        3.2 RSSI與地磁融合

        基于RSSI與地磁定位原理的特征[20],設(shè)計(jì)以當(dāng)前位置所有WiFi數(shù)據(jù)地址BSSID、信號(hào)強(qiáng)度level、網(wǎng)絡(luò)名稱SSID、最近BSSID、次最近BSSID、當(dāng)前位置3 s內(nèi)所有的地磁數(shù)據(jù)為聯(lián)合指紋,如表1所示。

        表1聯(lián)合指紋數(shù)據(jù)

        類別數(shù)據(jù)id233x694y199firstBSSID80:89:17:c4:66:1esecondBSSID14:e6:e4:2e:1c:caWiFiData[{“BSSID”:”80:89:17:c4:66:1e”,”SSID”:”108”,”level”:-47},{“BSSID”:”14:e6:e4:2e:1c:ca”,”SSID”:”GIS105”,”level”:-53},{“BSSID”:”14:e6:e4:2e:1c:ca”,”SSID”:”RS106”,”level”:-64},{“BSSID”:”10:c6:e4:2e:12:3a”,”SSID”:”免WiFi”,”level”:-68}]magData[{“mag”:[27.778625,-9.1796875,-24.119568]},{“mag”:[28.019714,-9.47876,-23.939415]},{“mag”:[28.318787,-9.599304,-23.399353]},{“mag”:[28.799438,-9.779358,-23.35684]}]

        通過以3 s為周期不斷循環(huán)采集數(shù)據(jù),系統(tǒng)處于定位模式時(shí)的移動(dòng)端向服務(wù)器請(qǐng)求匹配服務(wù),服務(wù)器首先根據(jù)采集的最近和次最近BSSID與篩選數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行粗匹配;其次,以Hausdorff距離為度量對(duì)地磁數(shù)據(jù)進(jìn)行精匹配并得到最佳匹配點(diǎn)坐標(biāo)x、y后返回給移動(dòng)端,完成對(duì)移動(dòng)端用戶位置信息請(qǐng)求的答復(fù)。

        4 實(shí)驗(yàn)結(jié)果及分析

        基于RSSI與地磁融合定位原理,搭建移動(dòng)端和服務(wù)器端開發(fā)環(huán)境,根據(jù)系統(tǒng)需求設(shè)計(jì)的移動(dòng)端UI界面主要由一個(gè)圖片控件ImageView和功能按鈕組成(路徑、開始、下一段、停止、定位、清除、下一個(gè)點(diǎn))。為驗(yàn)證系統(tǒng)穩(wěn)定性與精度,本文搭建了實(shí)驗(yàn)樓測(cè)試環(huán)境,通過量邊繪制室內(nèi)實(shí)驗(yàn)建筑平面圖并獲取平面位置坐標(biāo),如圖5所示。

        圖5 室內(nèi)平面圖

        實(shí)驗(yàn)測(cè)試過程如下:

        ① 拖動(dòng)MapImageView控件加載的室內(nèi)平面圖,以位于MapImageView中央位置不變的小旗子為標(biāo)志點(diǎn),通過拖動(dòng)平面圖并選取小旗對(duì)應(yīng)的位置點(diǎn)為采集路徑的關(guān)鍵點(diǎn)。基于Canvas的drawLine、drawBitmap函數(shù)繪制實(shí)驗(yàn)數(shù)據(jù)采集路線A—B—C—D—C—B—A和關(guān)鍵點(diǎn),如圖6所示。

        圖6 選擇路徑

        ② 手機(jī)平放胸前,在實(shí)驗(yàn)軌跡起始點(diǎn)A處點(diǎn)擊開始按鈕采集數(shù)據(jù),依照計(jì)劃路線勻速行走,到達(dá)B點(diǎn)時(shí)點(diǎn)擊下一段,開始下一段數(shù)據(jù)的采集,依次采集每一路線段,最終返回A點(diǎn)結(jié)束采集。

        ③ 點(diǎn)擊定位按鈕開啟定位模式,移動(dòng)端控制層將采集的實(shí)時(shí)數(shù)據(jù)傳遞到服務(wù)器端進(jìn)行匹配并獲取待匹配位置點(diǎn)的坐標(biāo)x、y,利用Canvas的drawBitmap函數(shù)繪制到當(dāng)前平面圖上。

        圖7 實(shí)驗(yàn)效果

        如圖7所示,通過采集實(shí)驗(yàn)樓數(shù)據(jù)搭建指紋庫(kù),選擇定位模式后分別以圖6中的A為起始點(diǎn),途徑B點(diǎn)、實(shí)驗(yàn)樓大廳中央,走到F室的前門后靜止??煽闯霾捎枚ㄎ荒J嚼L制的圖上位置與實(shí)際相符,通過實(shí)際測(cè)量得到系統(tǒng)相對(duì)定位誤差優(yōu)于3 m,能夠滿足個(gè)人室內(nèi)定位需求。

        5 結(jié)束語

        基于Android和javaEE平臺(tái)設(shè)計(jì)并實(shí)現(xiàn)RSSI與地磁融合的室內(nèi)定位系統(tǒng)。通過繪制實(shí)驗(yàn)室平面圖,事先利用移動(dòng)端采集WiFi與地磁數(shù)據(jù)并上傳至服務(wù)器端后建立數(shù)據(jù)匹配指紋庫(kù),通過實(shí)時(shí)定位過程中移動(dòng)端采集的人員運(yùn)動(dòng)信息上傳服務(wù)器后,與建立的數(shù)據(jù)庫(kù)開展粗匹配和精確匹配并獲取最佳位置。設(shè)計(jì)并實(shí)現(xiàn)系統(tǒng)對(duì)移動(dòng)端與服務(wù)器端模塊后搭建測(cè)試環(huán)境,實(shí)驗(yàn)結(jié)果表明系統(tǒng)定位誤差控制在3 m內(nèi),能夠滿足一般室內(nèi)定位精度要求。相對(duì)于其他單一室內(nèi)定位技術(shù)而言,該方法融合了室內(nèi)RSSI和地磁數(shù)據(jù)定位方法的優(yōu)勢(shì)且操作方便、成本低廉且可靠性高,適用于智能手機(jī)的室內(nèi)定位服務(wù)。

        猜你喜歡
        服務(wù)器端指紋坐標(biāo)系
        像偵探一樣提取指紋
        為什么每個(gè)人的指紋都不一樣
        解密坐標(biāo)系中的平移變換
        坐標(biāo)系背后的故事
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        基于重心坐標(biāo)系的平面幾何證明的探討
        基于自適應(yīng)稀疏變換的指紋圖像壓縮
        在Windows中安裝OpenVPN
        可疑的指紋
        極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
        亚洲精品中文字幕乱码二区| 99久久国产综合精品五月天| 精品人人妻人人澡人人爽牛牛| 国产一区二区三精品久久久无广告| 国产成人精品一区二区三区免费 | 国产又粗又猛又黄又爽无遮挡| 宝贝把腿张开我要添你下边动态图 | 黑人玩弄人妻中文在线 | 少妇激情一区二区三区久久大香香| 国产午夜视频一区二区三区| 亚洲精品国产美女久久久| 国产最新进精品视频| 精品高潮呻吟99av无码视频| 激,情四虎欧美视频图片| 日本按摩偷拍在线观看| 国产一区二区三区乱码| 在线观看免费人成视频| 蜜桃视频在线免费观看一区二区| 国产嫩草av一区二区三区| 熟女性饥渴一区二区三区| 精品少妇人妻av免费久久久| 日韩人妻无码精品系列专区无遮| 日韩有码在线一区二区三区合集| 老熟妇乱子交视频一区| 午夜成人精品福利网站在线观看| 欧美精品aaa久久久影院| 国产三级av在线精品| 无码国产精品久久一区免费| av在线亚洲欧洲日产一区二区| 欧洲一区在线观看| 亚洲av日韩综合一区尤物| 蜜桃传媒一区二区亚洲av婷婷| 内射干少妇亚洲69xxx| 亚洲精品久久久久中文字幕二区| 亚洲午夜无码久久久久软件| 白白色发布免费手机在线视频观看| 国产精品网站在线观看免费传媒 | 国内精品视频在线播放不卡| 综合无码一区二区三区四区五区| 亚洲 美腿 欧美 偷拍| 日韩av一区二区观看|