基於 WiFi ( Wireless Fidelity) 的室內定位技術

系統的拓撲結構數據庫

基於信號強度的定位技術(RSSI, Received Signal Strength Indication) 數組

無線信號的信號強度隨着傳播距離的增長而衰減,接收方與發送方離得越近, 則接收方的信號強度就越強;接收方離發送方越遠,則接收到的信號強度就越弱。 根據移動終端測量接收到的信號強度和已知的無線信號衰落模型,能夠估算出收發方之間的距離,根據多個估算的距離值,能夠計算出移動終端的位置。在室內環境下,AP(Access Point)的信號覆蓋範圍通常在 100 米的範圍之內,無線信號在傳輸過程當中,接收信號的功率強度與傳輸距離存在着某種變化關係,找出特定環境中的變化關係,就能夠應用於定位技術。目前基本的無線信號傳播模型主要有兩種:肯定性模型 和 經驗模型服務器

肯定性模型又稱射線光學或射線跟蹤模型,即將高頻無線信號看做向不一樣方向發出光線,再依靠對室內環境信息的詳細建模,對每一根射線進行跟蹤來創建無線信號傳播模型。當無線信號在自由空間傳播時,其路徑可認爲是鏈接收發信機的一條射線,可用 Ferris 公式計算自由空間的電波傳播損耗:app

PL = – Gr – Gt + 20log(4πR/λ) = Gr + Gt + 22 + 20log(R/λ)數據庫設計

式中 Gr 和 Gt 分別表明接收天線和發射天線增益(dB),R 是收發信機之間的距離,單位爲米,λ 是波長。 當 λ = 12.3 cm 時 (f = 2.44GHz) 可得出:函數

PL(2.44) = – Gr – Gt + 40.2 + 20log(R)(3.2)  spa

經驗模型是基於某一特定環境下的實際測量結果。在實際中發射機和接收機在特定環境中置於不一樣的距離和位置,測量其功率損耗,經過收集大量的數據導出功率損耗曲線及其函數。平均值結果顯示其功率衰落要遠大於自由空間的傳播公式所得出的結果。在自由空間模型中,功率衰落同收發信機的距離的平方成反比。室內 傳播經驗公式顯示在室內環境中的功率衰落同距離的 34 次方成反比。這是由於經過不一樣路徑到達接收天線的電磁波產生的多徑效應對主信號產生嚴重干擾的結果。設計

最小均差法 算出傳播損耗的近似值。
PL(indoor-2.4GHz) = 40 + 31log(R) + 8 ;R 即爲系統在室內環境中傳播的最大距離。3d

從室內無線信號傳播的特色分析,經驗模型更適合室內定位系統的建模。咱們採用 如式 (1) 所示模型對無線信號的路徑損耗平均值進行預測: 指針

其中,nA 爲由環境決定的路徑損耗指數,對同一樓層的不一樣區域根據實際測量採用不一樣值;WAF 爲需由實驗測定的牆壁衰減因子,需對不一樣牆體進行實際測量;df 爲發射天線周圍可等效爲自由空間的範圍,一般爲2米;d0 = 1m 爲參考點距離, 此時 PL(dO) ≈ 40dB。

定位環境中因爲空氣的流動,溫度的變化,人員走動等緣由,空間中每個點測得的信號強度會隨時發生變化,同時收發天線的方向也可以影響該點的信號強度,移動終端測得的信號強度值的隨機性比較大,對移動終端的信號強度採用的不一樣處理方法會影響定位偏差。爲了達到減少定位偏差增長定位精確度的目的,咱們採用機率模型的方法。在定位系統中創建機率模型。

首先,實驗代表實際無線通訊中同一個信號源,在同一空間的同一位置的無線信號強度被認爲是服從高斯分佈的。無線信號在空間傳播的理想狀況是,信號強度與空間傳播距離存在函數關係。可是因爲實際環境中存在反射和散射等現象,形成了多徑衰落,其餘使用該頻段的設備相互干擾等,使得相同信號源的無線信號在同一空間的同一位置上,其信號強度會隨着時間變化發生變化並非一個肯定值,具備必定的隨機性,可是服從高斯分佈。

其次,使用基於信號強度的定位方法,定位服務器必須保存定位環境中不一樣信號源在不一樣點的信號強度的分佈狀況,想要保存每個點的信號強度的分佈狀況是不可能的,而定位環境中信號源在各個點的信號強度是服從高斯分佈的,能夠經過保存信號強度的高斯分佈平均值與標準差,來保存信號源在每一個點信號強度的高 斯分佈的特徵而且儘量的減小要保存的數據量。

再次,不一樣信號源的無線信號在空間同一位置的信號強度獨立存在,即一個信號源的無線信號存在與否和信號強弱均不會影響其它信號源的無線信號在該點的信號強度。這樣各個信號源的信號強度在空間同一位置的強弱被認爲是機率學中的獨立事件,不一樣信號源之間的無線信號強度不會相互影響。因爲不一樣的信號源的無線信號在空間分佈相互獨立,而且信號源在空間給定位置的信號強度服從高斯分佈,則可使用聯合機率分佈來描述多個接入點在空間無線信號的分佈狀況。

最後,進行實時定位時,移動終端須要將收集到的各個不一樣信號源在該點的信號強度等定位數據,發送給定位服務器,定位服務器利用已經保存的定位環境中特定點的信號強度的高斯分佈的平均值和標準差,根據在當前點實時測得的對應信號源的信號強度,去計算覆蓋當前點的全部信號源的聯合高斯分佈機率。這個機率值 越大,表示移動終端當前位置越靠近定位服務器已經保存的點。 因爲定位空間的連續性和定位服務器存儲空間的有限性,將定位環境內全部點的信號強度的高斯分佈特徵保存下來是不可能的。因此在定位環境中根據環境的特色選取一些特定的稱爲訓練點,並將這些訓練點的信號強度的高斯分佈特徵保存下來,使這些點成爲定位移動終端的基準點,全部的定位結果都是以訓練點做爲參考點來產生的。

對於每個室內環境的無線局域網,首先構建無線信號強度分佈圖,即構建信號強度經驗值數據庫。室內平面圖,AP 位置,AP 發射功率等均已肯定,在移動終端可能出現的機率較大的地方分不一樣方向(天線具備必定的方向性),屢次採集信號強度,以此做爲構建經驗值數據庫的數據。採集的數據格式以下:
(position_x, position_y, RSSI, MAC)     (2)

其中,position_X,position_y 是當前位置座標,RSSI 是當前位置所收到的信號強度,MAC 是該 AP 點的 MAC 地址,用來區分不一樣的 AP 點。 完成採集之後,對採集的值數據進行預處理,目標數據格式以下:
(position_x,position_y,RSSI_AVG,RSSI_DEV,MAC)    (3)

其中,position_x,position_y 是當前位置座標,RSSI_AVG 是該 AP 的 RSSI 均值,RSSI_DEV 是該 AP 的 RSSI 的標準誤差,MAC 是該 AP 點的 MAC地址。 爲了保存訓練點的信號強度高斯分前i的特徵,同時考慮到對這些數據的修改與更新的方便,使用數據庫來保存這些數據。因爲實時定位時定位服務器須要接入點 MAC 地址等信息,因此保存訓練點信號強度的數據庫的表的結構定義爲以下:

系統軟件整體設計

系統軟件分爲服務器端軟件和客戶端軟件。

服務端軟件按功能主要分爲:定位模塊,系統管理模塊,定位顯示模塊三大模塊。

客戶端軟件按主要功能分爲:數據採集模塊和數據發送模塊。

客戶端定位數據消息格式

客戶端發送給定位服務器的消息主要包括在當前點有無線信號的接入點的總數和這些接入點的 MAC 地址以及這些接入點的信號強度

定位信息的鏈表結構

接受定位數據模塊使用鏈表來保存定位信息,鏈表的長度由客戶端發送消息中第一個字段肯定,鏈表節點保存的信息包括接入點的 MAC地址、對應接入點的信號強度值和下一個節點的位置

1 typedef  struct  Info{
2     char  MAC[13];
3     float  RSSI;
4     struct  Info *next;
5 }LS_info

計算定位結果模塊

以定位信息鏈表的頭結點做爲參數,根據定位鏈表中的信息使用 ODBC 從數據庫中取出相應的值,計算出當前點與每一個訓練點的接近機率。選出接近機率最大的三個訓練點,將這三個點的座標求算術平均值獲得定位結果。計算定位結果模塊僞碼以下:

 1 輸入參數:定位消息鏈表頭指針 
 2 輸出參數:指向定位結果的指針
 3 
 4 BEGIN
 5 
 6 循環標量 i 初始化爲1;
 7 獲取定位數據庫中訓練點總數 TP_Num;
 8 
 9 WHILE( i <= TP_Num){ 
10 
11     循環變量 j 初始化爲 0;
12     將鏈表頭指針賦值給局部指針變量;
13     臨時總的接近機率 temp_prob 初始化爲 1; 
14     獲取鏈表長度 Li_Len; 
15 
16     WHILE( j < Li_Len){ 
17 
18         根據局部指針讀取定位信息鏈表中的MAC地址和信號強度值;
19         根據MAC地址和循環標量 i 從數據庫取出對應的信號強度平均值和標準差;
20         計算當前接入點高斯分佈機率 prob;
21         temp_prob = temp_prob * prob;
22         局部指針指向鏈表的下一個節點;
23         j++;
24     }
25 
26     比較 temp_prob 與 最大機率保存數組中最小值的大小;
27     若是 temp_prob 較大,則用 temp_prob 替換數組中的最小值,並保存該訓練點的相關信息;
28      i++;
29 }
30 
31 將最大機率數組對應的訓練點的座標就是平均值的定位結果 
32 將定位結果寫入定位日誌;
33 返回定位結果;
34 
35 END

 

服務端數據庫設計

一、用戶表

字段 類型 描述
ID number 用戶ID號
Name text 登陸系統的用戶名
Pwd text 登陸系統的密碼
Role_Code char 用戶權限(Admin/User)

 

 

 

 

 

二、移動設備表 

字段 類型 描述
ID Number 設備 ID 號
Name text 設備名
Des text 設備描述

 

 

 

 

三、AP 表

字段 類型 描述
ID Number AP ID 號
Name Text AP 名
Des Text AP 描述
Ssid Tetx AP SSID 描述
Mac Text AP MAC 描述

 

 

 

 

 

 

四、定位數據表 

字段 類型 描述
id Number 主鍵
x Number 某一點的 x 座標
y Number 某一點的 y 座標
dire Char 某一點朝向
num_ap Number AP 編號
rssi_avg Number 該 AP 在某一點某方向的信號強度平均值
rssi_dev Number 該 AP 在某一點某方向的信號強度標準誤差
ssid Char 該 AP 的 SSID
mac_addr Char 該 AP 的 MAC 地址
add_info Char 備註

 

 

 

 

 

 

 

 

 

 

 

【參考文獻】

一、《2010.基於WiFi技術的定位系統的設計與實現》

二、《一種基於WiFi的室內定位系統設計與實現》

【附錄】

相關文章
相關標籤/搜索