新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于位置指紋算法的Android平臺(tái)WiFi定位系統(tǒng)

基于位置指紋算法的Android平臺(tái)WiFi定位系統(tǒng)

作者: 時(shí)間:2015-03-11 來(lái)源:電子產(chǎn)品世界 收藏

  近年來(lái),隨著城域無(wú)線基礎(chǔ)網(wǎng)絡(luò)的發(fā)展,熱點(diǎn)(AP)的覆蓋率大幅度提高,由于定位服務(wù)需求的增加以及應(yīng)用領(lǐng)域的擴(kuò)大,定位成為一種有效的定位方式。GPS衛(wèi)星定位是最主要的定位方式,它需要在相對(duì)空曠、高層建筑不密集的地方獲得較準(zhǔn)確的定位,當(dāng)人們處在室內(nèi)或高樓林立的市區(qū),定位精度明顯降低甚至不能定位。此時(shí),利用無(wú)處不在的網(wǎng)絡(luò)將能夠彌補(bǔ)GPS定位的不足。目前大多數(shù)的WiFi無(wú)線定位算法主要為:基于到達(dá)時(shí)間、到達(dá)角度、到達(dá)時(shí)間差的模型定位及基于接受信號(hào)強(qiáng)度(RSSI)的位置指紋定位算法,由于位置指紋算法的無(wú)線定位方式不需要已知AP的位置信息及準(zhǔn)確的信道模型,該算法在定位性能以及可用性上具有更大的優(yōu)勢(shì)。因此,本文首先設(shè)計(jì)了整體的系統(tǒng)框架,通過(guò)研究分析了該算法目前存在的問(wèn)題,提出了改進(jìn)方案,并在平臺(tái)上實(shí)現(xiàn)完整的定位系統(tǒng)。

本文引用地址:http://m.butianyuan.cn/article/270826.htm

  1系統(tǒng)整體設(shè)計(jì)

  本系統(tǒng)的設(shè)計(jì)目標(biāo)是在智能終端上實(shí)現(xiàn)實(shí)時(shí)WiFi定位系統(tǒng),該系統(tǒng)包括客戶端、數(shù)據(jù)服務(wù)器以及定位服務(wù)器。為了使定位過(guò)程和服務(wù)器通信過(guò)程相對(duì)獨(dú)立,分別設(shè)置了專門用于定位的AP熱點(diǎn)和客戶端與服務(wù)器之間的通信AP熱點(diǎn),可有效降低系統(tǒng)環(huán)境搭建的初期成本。本方案的系統(tǒng)框架如圖1所示。其中的通信AP熱點(diǎn)需要與局域網(wǎng)相連,保證定位區(qū)域內(nèi)WiFi信號(hào)良好,確保數(shù)據(jù)傳輸及處理的及時(shí)性??蛻舳撕头?wù)器端通過(guò)TCP連接實(shí)現(xiàn)可靠傳輸。

  

 

  圖1系統(tǒng)框架圖

  2系統(tǒng)實(shí)現(xiàn)

  2.1客戶端模塊設(shè)計(jì)

  本系統(tǒng)采用客戶端/服務(wù)器(c/s)的網(wǎng)絡(luò)架構(gòu),客戶端的定位過(guò)程主要包括WiFi無(wú)線信號(hào)掃描、數(shù)據(jù)傳輸、界面顯示等,該過(guò)程的流程圖如圖2所示。

  

 

  圖2客戶端定位模塊流程圖

  WiFi信號(hào)掃描是利用 API提供的WiFiManager類實(shí)現(xiàn)。首先,判斷WiFi是否開(kāi)啟;其次取得WiFiManager及WmInf0對(duì)象,通過(guò)startScan()、getScanResuits()等方法開(kāi)始掃描并得到掃描結(jié)果mScanResult;最后,將數(shù)據(jù)傳遞給服務(wù)器端進(jìn)行定位計(jì)算。Android平臺(tái)為用戶提供豐富的界面顯示控件,本設(shè)計(jì)使用ListView顯示服務(wù)器返回的定位位置信息。

  2.2服務(wù)器端模塊設(shè)計(jì)

  服務(wù)器端首先需要不斷監(jiān)聽(tīng)指定端口,當(dāng)監(jiān)聽(tīng)到客戶端的請(qǐng)求時(shí),創(chuàng)建新進(jìn)程,該進(jìn)程負(fù)責(zé)處理客戶端的請(qǐng)求,其處理過(guò)程如圖3所示。監(jiān)聽(tīng)數(shù)據(jù),如果接收到該數(shù)據(jù),則進(jìn)行CRC校驗(yàn)并結(jié)束鏈接幀,根據(jù)請(qǐng)求內(nèi)容查詢數(shù)據(jù)庫(kù)并進(jìn)行定位運(yùn)算,最后返回定位結(jié)果,通過(guò)數(shù)據(jù)傳輸反饋給客戶端界面顯示定位信息。

  

 

  圖3服務(wù)器端流程圖

  3定位算法設(shè)計(jì)

  在室內(nèi)或室外環(huán)境下,由于信號(hào)傳播途中受地形、障礙物的影響和人體的阻擋,將引起無(wú)線信號(hào)的折射、衍射等多徑傳播、多址傳播,以不同的時(shí)間到達(dá)終端,造成傳播信號(hào)在幅度、頻率和相位上的改變。其使得在同一位置,不同時(shí)間采集到的RSS值很不確定,即使在同一時(shí)間相同位置使用不同的定位設(shè)備采集到的RSS大小也會(huì)不同,會(huì)影響定位的精確性,無(wú)線信號(hào)傳播的衰減模型難以良好地表征距離和信號(hào)強(qiáng)度間的映射關(guān)系。因此本文采用基于位置指紋的定位算法,同時(shí)針對(duì)造成定位誤差的主要原因,提出了改進(jìn)的定位算法以提高定位魯棒性。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: Android WiFi

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉