新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于位置指紋算法的Android平臺WiFi定位系統

        基于位置指紋算法的Android平臺WiFi定位系統

        作者: 時間:2015-02-09 來源:網絡 收藏

          3.1位置指紋定位算法

        本文引用地址:http://www.104case.com/article/269657.htm

          位置指紋定位是根據不同位置接收到的信號強度向量,建立相應的位置指紋數據庫,通過實時采集的信號強度與數據庫信號空間中儲存的信號向量,根據一定的匹配算法實現定位。該算法能夠在一定程度上減少多徑效應的影響,增強抗干擾能力。目前,基于位置指紋的定位算法主要分為確定型和概率型,前者的計算效率較高,后者的定位精度較高,但是計算量較大,為了快速定位,采用確定型的位置指紋定位算法。

          位置指紋定位過程一般分兩個階段實現:離線采樣階段和在線定位階段。離線采樣階段主要目的是建立位置指紋數據庫,根據定位環境設計較為合理的采樣分布圖,遍歷待定位區域內的所有采樣點,將相應的信號強度、MAC地址以及位置信息等記錄在指紋數據庫中。數據庫中數據的準確性決定了定位的精確程度,數據越精確,定位效果越好。在線定位階段是利用手機在待定位點測得AP的信號強度和物理地址,然后通過相應的匹配算法,在數據庫中搜索與測量點相匹配的數據,從而估計用戶的實際位置。位置指紋的定位過程如圖4所示。

          

         

          圖4定位框圖

          3.2匹配算法

          通常的匹配算法有K最近鄰匹配算法(KNN),該算法能夠有效提高定位精度且應用成熟。本文采用了該匹配算法,K最近鄰匹配算法的實質是計算待測點采集到的RSS向量和數據庫中已記錄的RSS向量之間的距離。假設待測區域有n個AP,m個參考點,則距離的表達式如下:

          

         

          其中,q為正整數,當q=1時稱為曼哈頓距離,q=2,稱為歐式距離;L代表向量在空間中的距離。本文使用q=2進行計算,當取得n個最小歐式距離的位置點后,求取n個坐標點的質心為待測點位置坐標。

          3.3改進的位置指紋定位算法

          理論研究表明:由于室內環境復雜,無線信號會因為時間的變化、人體的隨機晃動及環境等因素的影響使信號強度值呈現一定的波動。為了保證信號數據本身的穩定性,在實驗室環境下進行如下實驗:在同一位置的不同時間分別采集數據,上午和下午兩個時間段每隔1 S共采集300次信號。發現無線信號隨時間變化不大,基本存在2 dB左右誤差,對定位結果影響較小。

          但在多次測試過程中發現,無線信號強度在某位置下會出現如圖5所示的波動情況,多數信號強度值保持在一定范圍內,但中間會存在抖動的數據,該種現象會對離線數據的準確性及在線定位的準確性產生較大影響。直接求均值的方式并不能表征該位置的信號特征,應該對采集的無線信號強度值進行平滑,選取有效點。

          

         

          圖5無線信號分布圖



        關鍵詞: Android WiFi

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 水城县| 宁晋县| 徐州市| 嘉定区| 大同市| 墨脱县| 凭祥市| 嘉义县| 万山特区| 饶平县| 昌吉市| 阿巴嘎旗| 灵宝市| 云南省| 博乐市| 溧阳市| 青田县| 晋江市| 松溪县| 芦溪县| 金山区| 邹平县| 孟州市| 星子县| 依安县| 琼中| 浪卡子县| 望谟县| 屯昌县| 集安市| 赞皇县| 边坝县| 莱西市| 香港| 彭州市| 海阳市| 自治县| 怀仁县| 丰都县| 和田市| 黄浦区|