1. 程式人生 > >室內定位系列(一)——WiFi位置指紋(譯)

室內定位系列(一)——WiFi位置指紋(譯)

目錄

摘要

GPS難以解決室內環境下的一些定位問題,大部分室內環境下都存在WiFi,因此利用WiFi進行定位無需額外部署硬體裝置,是一個非常節省成本的方法。然而WiFi並不是專門為定位而設計的,傳統的基於時間和角度的定位方法並不適用於WiFi。近十年來,在室內WiFi場景下的定位中,位置指紋法被廣泛研究和採用。本文對WiFi位置指紋法進行綜述,提出了這個領域面臨的挑戰,介紹最新的研究,以及提供一些實際的指導。

介紹

室內環境下的定位一直是一個很多問題未被解決的領域。由於訊號的嚴重衰減和多徑效應,通用的室外定位設施(比如GPS)並不能在建築物內有效地工作。定位準確性也是一個問題,GPS也許可以指出移動裝置在哪一個建築物,但是室內場景下,人們希望得到更精確的室內位置,這需要更精密的地圖資訊和更高的定位精度。

我們可以在室內搭建一套完整的基礎設施用來定位,但是這樣需要很大的代價,包括定位訊號佔用的頻譜資源、用於感知定位訊號的嵌入在移動裝置中的額外硬體、安裝在固定位置的用來發送定位訊號的錨節點。因此,大家傾向於使用那些已有的被廣泛部署的無線裝置去實現室內定位。

基於無線訊號的定位方法首先考慮的是使用WiFi(基於IEEE802.11標準的WLAN)作為基礎定位設施。現在,包括智慧手機、膝上型電腦在內的大部分行動通訊裝置都內嵌了WiFi模組。實際上,WiFi已經被廣泛地在室外定位與導航中使用(通過智慧手機以及被維護的wifi熱點位置與其對應的mac地址的資料庫進行查詢,很多公司有維護這樣的資料庫,包括Google、Apple、Microsoft,以及Skyhook這樣的定位服務提供商等等)。其他還有一些技術,比如用藍芽、RFID、行動電話基站訊號等,也可以用來實現室內定位,但是它們不像WiFi這樣到處都有,因此流行程度不如WiFi。行動電話訊號並不能在所有的室內場景下都能穩定傳播,使用RFID需要額外的安裝硬體的花費,此外,基於超聲波的定位技術使用在一些實驗性的工作中,而實際利用超市波的商用裝置很少,因此實際應用並不多。

WiFi廣泛使用在家庭、旅館、咖啡館、機場、商場等各類大型或小型建築物內,這樣使得WiFi成為定位領域中一個最引人注目的無線技術。通常,一個WiFi系統由一些固定的接入點(AP)組成,它們部署在在室內一些便於安裝的位置,系統或網路管理員通常知道這些AP的位置。能連線WiFi的移動裝置(比如膝上型電腦、行動電話)相互之間可以直接或間接地(通過AP)通訊,因此可以考慮在通訊功能外同時實現定位功能。但是WiFi訊號並不是為定位而設計的,通常是單天線、頻寬小,室內複雜的訊號傳播環境使得傳統的基於到達時間/到達時間差(TOA/TDOA)的測距方法難以實現,基於到達訊號角度的方法也同樣難以實現,如果在WiFi網路中安裝能定向的天線又需要額外的花費。因此,近年來大家詳細研究的主要是位置指紋方法。

本文涉及的是在室內環境下的定位,提供一些使用WiFi的接入點和移動裝置進行位置指紋法定位的指導。本文包括:WiFi位置指紋法的基本概念,WiFi如何用於定位,使用WiFi的位置指紋演算法,存在的挑戰和效能方面的問題,以及WiFi位置指紋法中其他的一些事項。

位置指紋法的基本概念

“位置指紋”把實際環境中的位置和某種“指紋”聯絡起來,一個位置對應一個獨特的指紋。這個指紋可以是單維或多維的,比如待定位裝置在接收或者傳送資訊,那麼指紋可以是這個資訊或訊號的一個特徵或多個特徵(最常見的是訊號強度)。如果待定位裝置是在傳送訊號,由一些固定的接收裝置感知待定位裝置的訊號或資訊然後給它定位,這種方式常常叫做遠端定位或者網路定位。如果是待定位裝置接收一些固定的傳送裝置的訊號或資訊,然後根據這些檢測到的特徵來估計自身的位置,這種方式可稱為自身定位。待定位移動裝置也許會把它檢測到的特徵傳達給網路中的伺服器節點,伺服器可以利用它所能獲得的所有資訊來估計移動裝置的位置(翻譯存疑...),這種方式可稱為混合定位。在所有的這些方式中,都需要把感知到的訊號特徵拿去匹配一個數據庫中的訊號特徵,這個過程可以看作一個模式識別的問題。

位置指紋由什麼組成?

位置指紋可以是多種型別的,任何“位置獨特”的(對區分位置有幫助的)特徵都能被用來做為一個位置指紋。比如某個位置上通訊訊號的多徑結構、某個位置上是否能檢測到接入點或基站、某個位置上檢測到的來自基站訊號的RSS(接收訊號強度)、某個位置上通訊時訊號的往返時間或延遲,這些都能作為一個位置指紋,或者也可以將其組合起來作為位置指紋。下面我們介紹兩種最常用的訊號特徵(Bahl and Padmanabhan, 2000; Pahlavan and Krishnamurthy 2002):多徑結構、RSS。

多徑結構

載頻比較大(比如大於500Mhz)的無線電訊號的傳播可以近似看作是光學射線的傳播(Pahlavan and Krishnamurthy 2002)。無線電訊號傳播時,這些“射線”可以在光滑的平面(比如建築物的牆壁、地板)上進行反射,遇到銳利的邊緣會發生衍射,遇到小型的物體(比如樹葉)會發生散射。發射源發出的無線電訊號可以通過多條路徑傳播到同一位置,因此在一個位置上會接收到多條射線,每條射線有不同的能量強度和時延。時延取決於射線傳播的距離,強度取決於距離和具體的傳播情況(反射、衍射等)。每條到達接收器的射線稱為一個多徑分量,通道的多徑結構指的是這一組(多條射線)訊號強度和時延。多徑結構也稱作功率時延分佈,圖1是一個典型的功率時延分佈的例子,其中,有6個有效的多徑分量,功率和時延分別為\(\beta_1\)\(\beta_2\)\(\beta_3\)\(\beta_4\)\(\beta_5\)\(\beta_6\)\(\tau_1\)\(\tau_2\)\(\tau_3\)\(\tau_4\)\(\tau_5\)\(\tau_6\)


圖1 功率時延分佈

如果訊號的頻寬足夠大(比如使用直接序列擴頻技術或者超寬頻技術),那麼在接收器上可以分解和處理各個多徑分量。某個位置上得到的多徑結構取決於實際的環境,是獨特的,能夠被用來作為位置指紋。Ahonen and Eskelinen (2003)提出了這種方法定位3G UMTS網路中的手機,他們的研究結果指出,使用這樣的多徑結構作為位置指紋可以達到67%的情況下25m以內的定位精度,以及95%的情況下188m的定位精度,這樣的定位效能滿足了FCC的關於手機定位的E-911要求。

接收訊號強度(RSS)

訊號的RSS或者接收功率取決於接收器的位置。RSS的獲取很簡單,因為它是大多數無線通訊裝置正常執行中所必需的。很多通訊系統需要RSS資訊用來感知鏈路的質量,實現切換,適應傳輸速率等功能。RSS不受訊號頻寬的影響,沒必要高的頻寬(大多數通訊方式的訊號頻寬都比較窄),因此RSS是一個很受歡迎的訊號特徵,並廣泛應用於定位中。

假設有一個固定的訊號發射源,在離它不同距離的位置上的平均RSS的衰減(in db)和距離的對數成正比,在最簡單的情況下,RSS可以表示為:\[RSS = P_t - K - 10\alpha \log_{10} d \]其中,\(\alpha\)稱為路徑損耗指數,\(P_t\)為傳送功率,\(K\)是一個取決於環境和頻率的常數。RSS可以被用來計算移動裝置與AP(或基站)之間的距離,那麼這個提取出來的距離是否可以用來做移動裝置的三邊角測量從而定位呢,可以,但是定位誤差可能會很大,因為RSS的變動範圍可能會很大(注意上面的公式中RSS指的是某個距離的可能RSS的平均),這是由實際環境的影響造成的(稱為陰影衰落)。因此這種基於RSS測距的三邊角方法並不是一個好的解決方案。

然而,如果一個移動裝置能接收到來自多個發射源的訊號,或者固定的多個基站都能感知到同一個移動裝置,那麼我們也許可以使用來自多個發射源或者多個接收器的RSS組成一個RSS向量,作為和位置相聯絡的指紋。這個就是本文描述的典型的WiFi位置指紋。大多數WiFi的網絡卡可以測得來自多個AP的RSS(可能是依次測量)。現在在大多數室內場景,移動裝置常常可以檢測到多個AP,因此使用來自多個AP的RSS作為位置指紋是有意義的,後文以此方法為基礎。

注意到RSS本身就是在一段時間內計算或測得的,因此只採集一個RSS樣本是不合理的。在WiFi網路中,AP常常要傳送一個beacon幀,包含了一些網路資訊、服務組ID(無線網路的名字)、支援的傳輸速率,以及一些其它的系統資訊。這個beacon幀是用在WiFi中的很多的控制幀之一,它大約100ms傳送一次,RSS通常是使用這個beacon幀來測量的。beacon幀是未加密的,所以即使是一個封閉的網路(移動裝置未能連線上)也能用來定位。beacon幀接近於週期性地被髮送,但並不是完全週期性的,當檢測到傳輸媒介阻塞的時候需要延遲傳送,一旦檢測到不阻塞的時候就傳送,下一次傳送還是會在之前預計的100ms時刻,即使離上一次傳送還不足100ms。更進一步,如果AP工作在多個通道上,為了避免衝突,在測量RSS之前,移動裝置必須花時間掃描各個通道。WiFi標準(IEEE 802.11)指定了2.4GHz頻帶的11個通道以及更多的5GHz頻帶的通道。儘管在一個地理區域中使用多個通道的情況並不罕見,但實際WiFi僅僅使用2.4GHz頻帶中三個不重疊的通道。關於WiFi和IEEE 802.11標準的更多細節可以參閱(Perahia and Stacey 2008)。

由測量值和指紋庫估計位置

使用位置指紋進行定位通常有兩個階段:離線階段和線上階段。在離線階段,為了採集各個位置上的指紋,構建一個數據庫,需要在指定的區域進行繁瑣的勘測,採集好的資料有時也稱為訓練集。在線上階段,系統將估計待定位的移動裝置的位置。接下來我們將對這兩個階段進行更詳細的描述。需要注意的是,室內定位中所得到的位置座標通常是指在當前環境中的一個區域性座標系中的座標,而不是經緯度。

離線階段

位置和指紋的對應關係的建立通常在離線階段進行。最典型的場景如圖2.2所示,地理區域被一個矩形網格所覆蓋,這個場景中是4行8列的網格(共32個網格點),2個AP。這些AP本來是部署在這裡用來通訊的,也可以用來做定位。在每一個網格點上,通過一段時間的資料取樣(5到15分鐘,大約每秒採集一次)得到來自各個AP的平均RSS,採集的時候移動裝置可能有不同的朝向和角度。這個例子中,一個網格點上的指紋是一個二維的向量\(\rho = [\rho_1, \rho_2]\),其中\(\rho_i\)是來自第\(i\)個AP的平均RSS。在後面會看到,我們也可以記錄RSS樣本的分佈(或者其他的一些統計引數,比如標準差)作為指紋。簡單起見,後文沒有特別說明的情況下都認為指紋是RSS樣本的均值。


圖2 基於WiFi訊號強度的位置指紋法,以及RSS空間中的歐氏距離

這些二維的指紋是在每個網格點所示的區域(如圖2)採集到的,這些網格點座標和對應的指紋組成一個數據庫,這個過程有時稱為標註階段(calibration phase),這個指紋資料庫有時也稱為無線電地圖(radio map)(譯者注:後面都簡稱為指紋庫),表1是這個指紋庫的一個區域性。圖2右邊的部分在二維向量空間(後文都統一稱作訊號空間)中展示了這些指紋。在更一般的場景下,假設有\(N\)個AP,那麼指紋\(\rho\)是一個\(N\)維的向量,這在訊號空間中就難以畫出來了。


表1

儘管RSS樣本的座標點是實際物理空間中的直角網格點,但是位置指紋在訊號空間中不會這樣有規律。我們之後會看到,呈直角網格的位置點轉換到訊號空間中後變成了一些沒有規律的模式。有些訊號向量即使在物理空間中離得很遠,在訊號空間中卻有可能很近,這會增加錯誤的機率。因此,指紋採集的有些部分也許沒有什麼用,甚至有時會對定位效果不利。

線上階段

在線上階段,一個移動裝置處於這個地理區域之中,但是不知道它的具體位置,它甚至不太可能正好處於網格點上。假設這個移動裝置測量到了來自各個AP的RSS(在圖2的例子中,僅僅能測量到兩個AP的RSS)。這裡我們假設只測量到一個樣本,當來自各個AP的RSS都被測量到的時候,RSS向量的測量值被傳輸到網路中。設圖2中的例子中RSS向量的為\(\mathbf{r} = [r_1, r_2]\)。要確定移動裝置的位置,就是要找到在指紋庫中找到和\(\mathbf{r}\)最匹配的指紋\(\rho\)。一旦找到了最佳的匹配,那麼移動裝置的位置就被估計為這個最佳匹配的指紋所對應的位置。比如,如果\(\mathbf{r} = [-65, -49]\),那麼最匹配的樣本是表1中的第一項,移動裝置被定位在座標\((0, 0)\)。在更一般的情況下,向量\(\mathbf{r}\)\(N\)維的。

以上的討論對座標、指紋、測量值、匹配向量\(\mathbf{r}\)\(\rho\)做了很多的簡化。後文我們考慮一些更詳細的問題。首先從匹配\(\mathbf{r}\)\(\rho\)的演算法開始。

基於位置指紋的定位演算法

基於位置指紋的定位通常分為兩種型別。一種是確定性的演算法,比較訊號特徵(比如向量\(\mathbf{r}\))和存在指紋庫中的預先計算出來的統計值。另一種是是概率性的演算法,計算訊號特徵屬於某個分佈(儲存在指紋庫中)的可能性。下面介紹一些基本的方法,但並不進行詳盡的綜述。

確定性的定位演算法

微軟在2000年最早開始進行WiFi位置指紋法定位的研究工作(Bahl and Padmanabhan 2000),他們使用RSS向量\(\mathbf{r}\)與指紋向量\(\mathbf{\rho}\)的歐氏距離去確定移動裝置的位置。假設位置指紋是\(N\)維的,也就是說有\(N\)個可見的AP,M個網格點,這樣指紋庫裡面有M個指紋。\(\mathbf{r}\)\(\mathbf{\rho}\)的歐氏距離定義為:\[D = \sqrt{\sum_{i = 1}^N |r_i - \rho_i|^2 }\]這樣的話,最簡單的定位演算法可以描述如下:在指紋庫中的M個指紋中,找到在訊號空間中與RSS觀測值的歐氏距離最近的指紋,然後將它所對應的位置座標作為移動裝置的位置。這個使用歐氏距離的方法也叫做在訊號空間中找到最近鄰,因為目標是在訊號空間中找到一個離RSS觀察值最近的指紋。圖2的右邊展示了這個方法的基本原理,其中,五角星代表RSS觀測值,圓代表訊號空間中的位置指紋。決策邊界可以使用泰森多邊形的方法畫出來,訊號空間中每個泰森多邊形包含的區域距離這個位置指紋最近。RSS觀測值所處的泰森多邊形區域中的位置指紋的位置,作為定位結果。

後文我們將看到,不是所有的位置指紋都是可靠的,一個更復雜的指紋庫可能還包括了RSS的標準差資訊,或者給了每個AP不同的權值,這樣的話,我們可能要使用加權的歐氏距離,有時可能要對整個指紋加一個權值,有時需要對指紋的每個元素分別加一個權值。此外,其他的距離度量(比如曼哈頓距離或者馬氏距離)也常常被用來做定位。

概率性的定位演算法

最早的基於WiFi位置指紋的概率性定位演算法是Youssef et al. (2003).提出的,基本的思路是,如果簡單地使用一個RSS樣本的統計量(比如RSS的均值)可能會帶來誤差,因為實際的RSS值應該是一個分佈。因此,我們可以使用聯合概率分佈(有多個AP,所以是聯合概率分佈)來作為指紋。通過採集RSS樣本獲取聯合概率分佈並不是一個簡單的事情,因為來自各個AP的RSS之間的相互關係不明顯。他們假設這是獨立的(這種假設是合理的),然後簡單地使用RSS的邊緣分佈的乘積作為聯合分佈。假設觀測到的RSS向量為\(\mathbf{r} = [r_1, r_2, r_3, \cdot \cdot \cdot, r_N]\),估計位置時將選擇一個網格點,這個網格點上有最大的概率可能產生這個\(\mathbf{r}\)。對於給定的\(\mathbf{r}\),可以使用貝葉斯準則來估計移動裝置的位置,某個網格點上能產生\(\mathbf{r}\)的概率可以這樣計算:
\[P(Grid point | \mathbf{r}) = \frac{P(\mathbf{r} | Grid Point) \cdot P(Grid Point)}{P(\mathbf{r})}\]
計算出所有的網格點這個概率,然後選擇最大概率的那個網格點作為移動裝置的位置。

指紋的聚類

以上有一個問題沒有考慮到,並不是所有的網格點上都總能能檢測到同樣的一組AP。Youssef et al. (2003)最早對這個問題進行的描述
,Swangmuang and Krishnamurthy (2008b)考慮了不同的一些聚類的方式。Youssef et al. (2003)的工作基於各個AP的平等性來給網格點分組。分享同一組AP的網格點被認為是一個簇,簇的確定是基於各個網格點上能看到這些AP的概率,因此這個方法也叫做“聯合聚類”或者作者所稱的JC技術。Swangmuang and Krishnamurthy在訊號空間中對指紋進行聚類,可以減少指紋搜尋的複雜度,因此,他假設所有的位置都能看到同樣的一組AP。

其他

其他很多模式匹配演算法都可以應用於WiFi位置指紋法。包括貝葉斯推理、統計學習理論、支援向量機、神經網路等。(參考文獻很多,比如Battiti et al. 2002).

位置指紋法的效能

這一部分,我們考慮位置指紋法的定位效能(精度和準確度),分析指紋資料採集的工作量以及如何去減少工作量。我們首先分析為什麼使用位置指紋法定位會存在誤差,然後描述一些論文中報告的誤差效能分析的結果。

造成誤差的原因

在最理想的情況,觀測RSS應該和它匹配到的指紋非常接近,同時這個指紋所對應的位置和移動裝置的實際位置非常接近。但實際情況往往不是如此,有幾個原因會造成顯著的誤差。

無線電傳播的複雜性

無線電的傳播很容易受到環境影響,特別是在室內區域或者城市的高樓之間。圖3顯示了連續測得的一組RSS樣本,這個例子使用的是一個膝上型電腦,當用戶正常坐著工作的時候它測得某個AP的RSS,持續幾分鐘。很顯然,RSS隨時間變化,而且有時變化得很顯著。不過在五分鐘內RSS的變化基本不會超過20dB。人的朝向對移動裝置測量到的RSS有顯著的影響。來自不同供應商的網絡卡計算RSS的方式也有些不同,這個也會造成RSS測量上的不一致。RSS的分佈可能是不平穩的,因此,當測量到觀測向量\(\mathbf{r}\)時,它有可能會匹配到離真實位置較遠的位置指紋,這一點超過了本文要描述的RSS特性的範圍。感興趣的讀者可以參考Kaemarungsi and Krishnamurthy (2004b, 2011),其中針對室內定位詳細地分析了WiFi的RSS的特性。


圖3:膝上型電腦測得的RSS(dBm)序列

刪失資料(Censored Data)

之前提到過,並不是在所有的位置都總能檢測到所有的AP。比如,在採集資料的時候,在一個網格點上只有三個AP是可見的,但是在線上定位階段移動裝置檢測到了4個或5個AP。在這種情況下,增加指紋的維度是有益的,因為可以使得網格點在訊號空間中互相區分開。然而有些訊號的不可靠會使得定位演算法這樣難以準確定位。當然,指紋庫也可以有AP的一些其他資訊(比如每個AP的Mac地址),但是刪失資料的處理並不簡單。Youssef et al. (2003)嘗試每次都只使用\(k\)個AP,忽略掉其他可見的AP。這\(k\)個AP通過訊號的可靠性來選擇。這樣,如果一旦選擇了不合適的\(k\)個AP,定位誤差可能會很大。

誤差分析

首先,我們總結一些文獻中報導的誤差效能分析的結果。大多數結論通過模擬或實驗來確定。在Bahl and Padmanabhan的開創性工作中,AP個數為3,使用的是確定性的定位演算法(最近鄰),他們的中值誤差在3m到6m之間,具體誤差取決於使用的網格點的個數。Swangmuang and Krishnamurthy (2008a)使用了一個類似的確定性的定位演算法,採用誤差的累計分佈函式來展示定位誤差的可能性,在辦公室區域內,25個網格點,3個可見的AP,90%的可能性定位誤差小於4m。Youssef et al. (2003),採用了一個聯合聚類的概率性的定位方法,實驗場景的尺寸大約為68m*26m,構建指紋庫共使用了110個網格點,大多數指紋是隨著走廊採集的,cdf曲線顯示90%的概率誤差小於2.1m。

接下來討論的問題中,對於位置指紋定位誤差的分析考慮很少。最早分析位置指紋法的定位效能的是Kaemarungsi and Krishnamurthy (2004a),他們假設RSS樣本服從正態分佈,樣本的均值就是正態分佈的均值,不同AP的RSS的正態分佈的方差是一樣的。這種假設使得效能分析變得簡單。實際中,RSS的分佈不是高斯分佈((Kaemarungsi and Krishnamurthy 2004b, 2011).)。圖4顯示了兩個RSS的直方圖,一個距離AP比較近,一個距離AP比較遠。第一個分佈是左偏的,第二個分佈更加對稱,可以近似建模成一個高斯分佈。RSS分佈的方差也並不是一樣的。Kaemarungsi and Krishnamurthy 2011的工作表明:距離AP越遠,方差越大。因此,上面那個簡單的假設在現實中不一定有效。Kaemarungsi and Krishnamurthy 2004a的工作對(Swangmuang and Krishnamurthy 2008a)做了進一步的延伸,其中的分析結果和模擬實驗的誤差cdf是匹配的,特別是當定位誤差為幾米的時候。因此,即使這些假設做了一些簡化,分析結果也可能是有用的。這些分析可以用來評估增加位置指紋的維度帶來的邊邊際效益,以及簡單場景下((Kaemarungsi and Krishnamurthy 2004a).)路徑損耗指數的影響。


圖4:RSS樣本的直方圖

假設RSS服從高斯分佈,那麼這個誤差分析和數字通訊系統中計算位元誤位元速率的誤差分析很相似。RSS的方差越大會導致誤差的概率越大。然而不同的是,訊號空間中的RSS指紋沒有明顯的規律,RSS分佈的方差在不同的維度上可能區別很大,所以很難解析地求出定位誤差的封閉解。如果如圖5中,僅僅考慮兩個維度,有可能匯出誤差的概率表示式(使用圖中的決策邊界來比較距離觀察RSS最近的指紋與正確的指紋)。但是當有了更多的指紋點的時候,創建出越來越多的不規則的泰森多邊形,如果不做近似,根本處理不了。Swangmuang and Krishnamurthy (2008a)的研究中,就使用臨近圖來近似正確的分析結果。


圖5 在兩個AP的情況下訊號空間中的RSS分佈

位置指紋的採集工作

儘管和那些需要額外裝置的定位系統相比,WiFi位置指紋法的成本較低, 但是它也有需要付出的代價。大多數研究都假設位置指紋在虛擬的網格點上採集資料得到。比如,在一個100m*100m的區域,劃分成50*50個網格(每個網格2m*2m),每個網格中間採集一組指紋,每組指紋記錄的是這個網格點上接收到的包括了來自各個AP的RSS,5到15分鐘,有時可能還要使用不同的測量裝置(手機或者膝上型電腦)或者設定幾個不同的裝置方向。這樣的採集工作及其繁瑣,而且為了適應環境的變化需要週期性地更新。在上面這個例子中,使用單個裝置和固定的方向,整個採集過程需要2500*5=125000分鐘,接近9天。當然我們也可以並行地採集不同位置上的指紋,但是仍這然需要耗費很大的人力,下文我們將研究一些在減少離線階段資料採集量方面的方法和嘗試。

減少指紋採集的數量

如果所有采集到的資料有用,都能改善系統的效能,那麼這樣的時間和人力上的投資是有必要的。但實際常常很多資料並沒有那麼有用,Youssef et al. (2003)和Swangmuang and Krishnamurthy (2008b) 的工作證明了的確沒有必要如此。一個“好”的指紋不應該帶來定位上的錯誤,或者至少是”多半不會帶來錯誤“。從RSS指紋的角度來看,RSS的方差應該儘量小,在訊號空間中沒有其他的位置指紋距離它非常近。然而,有些指紋的實際位置並不接近,而在訊號空間中的歐氏距離卻比較小,這樣的指紋採集過來也許不會改善效能,反而會造成定位的時候額外的計算量。把這樣的指紋放入指紋庫中甚至會降低定位精度。

考慮一個簡單的例子,如圖6,一個50m*50m的正方形區域,資料採集的參考點如圖中所畫出的。我們使用路徑損耗模型IEEE 802.11n “D” ,發射功率為10dBm,兩個AP的位置分別為(0, 0, 10)和(50, 50, 10)。(Perahia and Stacey 2008)給出的路徑損耗模型的公式為:\[L_p = 20 \log_{10}(f) - 127.5 + 35 \log_{10} ( \frac{d}{d_{bk}} ) , d > d_{bk}\]其中,\(f\)是頻率,\(d_{bk}\)為斷點距離,10m。網格點如圖6中所示的規律性地分佈,這些網格點上的指紋在訊號空間中的分佈如圖7(在不同的網格大小的情況下)。顯然,每1m或2m採集指紋並沒有太大的意義,因為在訊號空間中很多已經很接近了。當移動裝置觀測到\(\mathbf{r}\)時,系統也許會把它匹配到最接近的指紋的時候犯錯誤,特別是當RSS方差比較大的時候。因此,網格大小設為4m或者8m都是合乎情理的,即使網格很小,準確度也不會改變很多。


圖6 資料採集工作量的簡單考慮,有用的位置指紋


圖7 網格劃分的區域中各個指紋在訊號空間中的表示

在Swangmuang and Krishnamurthy (2008a)的工作中,他們假設RSS高斯分佈,使用位置指紋被判定為距離測量RSS最近的概率來消除指紋庫中一些“壞”的指紋。結果顯示高達20%的指紋可以被去掉,同時並不影響定位精度。雖然這個過程中,“壞指紋”在採集資料建立完指紋庫後才被去除,但是作者也提出了一些減少部署工作量的定性的指導。

子區域定位

其他的一些減少離線採集工作量的方法中,有一種是線上測量APs之間的RSS,而不是像傳統那樣繁瑣地去標記指紋(比如Gwon and Jain 2004)。(Aksu and Krishnamurthy (2010))中的工作僅僅使用AP能不能檢測到移動裝置這一資訊,而不是使用細粒的位置指紋,也就是說,不用再記錄某個位置上RSS的平均值,而是僅僅記錄1或0來代表各個AP是不是能檢測到。比如,假設有4個AP,放置在正方形區域的四個角落,如果說我們能繪製出這些AP分別的的覆蓋範圍,那麼有13個獨特的子區域,這些子區域分別被這些AP的一個子集所覆蓋。這樣的話,使用這些資訊我們就能根據”是否檢測到“來判斷移動裝置在哪個子區域。這些AP的位置以及覆蓋範圍決定了各個子區域的大小,直接影響定位的精度和準確性。注意,在這個例子中有16個獨特的指紋,從\([0, 0, 0, 0]\)\([1, 1, 1, 1]\),但是並不是所有的組合都存在,這使得最大的獨特指紋的個數為13。這個個數也許會更小,比如,如果這4個AP都能覆蓋整個方形區域,那麼就只有一個指紋\([1, 1, 1, 1]\),這樣的定位結果只能告訴我們移動裝置在這個方向區域中。

指紋庫的有機構建

最近,有人開始提出採用基於使用者的RSS採集,來減少採集位置指紋的工作量。比如Park et al. 2010)的工作中,使用者被提示去提供指紋,但是這種增量式地構建指紋庫也存在很多挑戰。Park et al. (2010)使用聚類和Voronoi圖來有組織地發展這個指紋庫。他們把空間(比如一個房間)劃分成一些Voronoi圖,促進有組織的指紋庫的構建。

其他的一些問題

這部分我們簡單地考慮一些之前沒有談到的和WiFi位置指紋法相關的其他問題,包括減少能力消耗、吞吐量問題、延遲和安全。

多種技術的使用

隨著移動裝置(特別是智慧手機)越來越多地被安裝多種無線技術(比如,有些裝置同時有藍芽、RFID、近場通訊),使用多種技術來定位是合理和可行的。有一些文章考慮同時使用GSM和室內的WiFi,但在使用多種技術融合位置指紋定位中還沒有全面的研究。

減少能量損耗

通過有效的通訊協議來減少移動裝置通訊的能耗是這幾年的一個研究領域(Pahlavan and Krishnamurthy 2002)。因為GPS在手機上消耗了很多的能量,最近有一些工作試圖讓定位過程更加節能。Paek et al. (2010)提出了智慧手機的GPS速率自適應的定位,這裡的想法是通過減少GPS的忙閒度,這樣降低了定位準確性,但是能夠節省能耗。但是GPS並不能在各種地方都能定位準確(比如,在城市區域定位精度會降低),在室內可能根本不可用。系統通過檢測是否室內或城區,可以關掉GPS或者降低忙閒度來延長手機中電池的壽命。Lin et al. (2010)建議使用低能量的定位模式(比如使用WiFi而不是GPS)來減少能耗,但是同樣也可能會帶來準確度的降低。

吞吐量

當WiFi被用來定位的時候,移動裝置要花費很多時間來掃描WiFi訊號,這會暫時中斷資料的傳輸,從而影響吞吐量。King and Kjaergaard (2008)研究發現,在使用者沒有移動的時候減少掃描WiFi的週期,使得吞吐量增加到了122%,丟包率為原來的73%。將掃描速度與使用者是否移動聯絡起來,當檢測到使用者移動的時候,讓掃描速度增加,否則裝置就不掃描,因為我們假設沒有檢測到移動的時候使用者的位置不會改變。

延遲

當有很多的定位請求的時候,WiFi定位系統的容量和延遲也是一個需要考慮的問題,但目前這個方面似乎還沒有相關的研究工作。time-to-first-fix(首次定位時間)這樣的度量在WiFi指紋定位中不存在(GPS定位中,首次定位時間比較長)。當請求的數量較小的時候,WiFi中粗粒度的位置估計速度比GPS快很多,GPS通常需要幾秒有時甚至需要幾分鐘得到一個位置。

安全性

大量的裝置都支援WiFi,而且WiFi訊號的監控非常簡單,如果為了惡意目的而建立監控這些裝置的網路,則可以基於它們的MAC地址和RSS值來跟蹤大量裝置,這將導致嚴重的使用者隱私問題。Husted and Myers (2010)的工作中就嘗試了建立一個“惡意網路”來跟蹤移動裝置。

總結

本文提供了位置指紋法的概述,描述了這一領域的一些重要研究工作。考慮了用於定位的位置指紋的基本概念、使用位置指紋進行定位的演算法、定位效能分析,以及一些其他的方面。隨著室內導航和室內的其他應用越來越收到重視,WiFi位置指紋法將可能成為這些室內應用的基石。

WiFi幾乎無處不在的可用性使其稱為一個很有吸引力的定位方法(無需額外的硬體花費),基於時間和角度的定位方法不適用於WiFi訊號,使得位置指紋法成為定位主要的選擇。然而位置指紋法需要很繁瑣的資料採集工作,並且可能需要隨著環境的變化而經常更新。此外,由於無線電傳播的複雜多變,位置指紋的收集本身也不是容易的問題。一些測量、分析和模擬已經表明可以採取一些經驗的方法來減少指紋採集的工作量。如果對定位精度的要求不高,諸如子區域定位或位置指紋的有機構建等其他方法可以用來減少指紋採集的工作量。

儘管僅使用WiFi的位置指紋法已經被證明是室內精確定位的可行方案,但是隨著新技術的出現和具有附近感測能力的智慧手機的普及,最終的解決方案可能是使用多種定位技術進行融合的方案。在接下來的幾年中,可能可以使用近場通訊、智慧手機中的加速度計、以及可能的來自藍芽訊號,作為附加引數來改善定位精度,同時保持合理的成本。

參考文獻

Ahonen, S., and P. Eskelinen. 2003. Mobile terminal location for UMTS. IEEE Aerospace and Electronic Systems Magazine, vol.18, no. 2, pp. 23–27.
Aksu, A., and P. Krishnamurthy. 2010. Sub-area localization: A simple calibration free approach. ACM MSWiM’10.
Bahl, P., and V. N. Padmanabhan. 2000. Radar: An in-building RF based user location and tracking system. IEEE INFOCOM 2000, pp. 775–784.
Battiti, R., M. Brunato, and A. Villani. 2002. Statistical learning theory for location fingerprinting in wireless LANs. Technical Report (October 2002). http://rtm.science.unitn.it/ ~battiti/archive/86.pdf.
Gwon, Y., and R. Jain. 2004. Error characteristics and calibration-free techniques for wireless LAN-based location estimation. Proceedings of the Second International Workshop on Mobility Management & Wireless Access Protocols, October 1, Philadelphia, Pennsylvania.
Husted, N., and S. Myers. 2010. Mobile location tracking in metro areas: Malnets and others. ACM CCS.
Kaemarungsi, K. and P. Krishnamurthy. 2004a. Modeling of indoor positioning systems based on location fingerprinting. IEEE INFOCOM, Hong Kong, China.
Kaemarungsi, K., and P. Krishnamurthy. 2004b. Properties of indoor received signal strength for WLAN location fingerprinting. IEEE/ACM Mobiquitous.
Kaemarungsi, K., and P. Krishnamurthy. 2011. Analysis of WLAN’s received signal strength indication for indoor location fingerprinting. Pervasive and Mobile Computing, DOI: 10.10.16/j.pmcj.2011.09.003.
King, T., and M. B. Kjaergaard. 2008. Composcan: Adaptive scanning for efficient concurrent communications and positioning with 802.11. ACM Mobisys.
Lin, K., A. Kansal, D. Lymberopolous, and F. Zhao. 2010. Energy-accuracy aware localization for mobile devices. ACM Mobisys.
Paek, J., J. Kim, and R. Govindan. 2010. Energy-efficient rate-adaptive GPS-based positioning for smartphones. ACM Mobisys.
Pahlavan, K., and P. Krishnamurthy. 2002. Principles of Wireless Networks: A Unified Approach. Prentice Hall PTR.
Park, J.-G., B. Charrow, D. Curtis, et al. 2010. Growing an organic indoor location system. ACM Mobisys.
Perahia, E., and R. Stacey. 2008. Next Generation Wireless LANs. Cambridge University Press.
Swangmuang, N., and P. Krishnamurthy. 2008a. Location fingerprint analyses toward efficient indoor positioning. PerCom’08, IEEE, pp. 100–109.
Swangmuang, N., and P. Krishnamurthy. 2008b. On clustering RSS fingerprints for improving scalability of performance prediction of indoor positioning systems. ACM MELT.
Youssef, M. A., A. Agrawala, and A. U. Shankar. 2003. WLAN location determination via clustering and probability distributions. Proceedings of IEEE International Conference on Pervasive Computing and Communications (PerCom ’03), Dallas-Fort Worth, Texas, pp. 23–26.



作者:rubbninja
出處:http://www.cnblogs.com/rubbninja/
關於作者:目前主要研究領域為機器學習與無線定位技術,歡迎討論與指正!
版權宣告:本文版權歸作者和部落格園共有,轉載請註明出處。

相關推薦

室內定位系列——WiFi位置指紋

目錄 摘要 GPS難以解決室內環境下的一些定位問題,大部分室內環境下都存在WiFi,因此利用WiFi進行定位無需額外部署硬體裝置,是一個非常節省成本的方法。然而WiFi並不是專門為定位而設計的,傳統的基於時間和角度的定位方法並不適用於WiFi。近十年來,在室內WiFi場景下的定位中,位置指紋法被廣泛研究

室內定位系列——位置指紋法的實現KNN

位置指紋法中最常用的演算法是k最近鄰(kNN):選取與當前RSS最鄰近的k個指紋的位置估計當前位置,簡單直觀有效。本文介紹kNN用於定位的基本原理與具體實現(matlab、python)。 基本原理 位置指紋法可以看作是分類或迴歸問題(特徵是RSS向量,標籤是位置),監督式機器學習方法可以從資料中訓練出一

室內定位系列——位置指紋法的實現測試各種機器學習分類器

位置指紋法中最常用的演算法是k最近鄰(kNN)。本文的目的學習一下python機器學習scikit-learn的使用,嘗試了各種常見的機器學習分類器,比較它們在位置指紋法中的定位效果。 匯入資料 # 匯入資料 import numpy as np import scipy.io as scio offl

室內定位系列——目標跟蹤粒子濾波

進行目標跟蹤時,先驗知識告訴我們定位軌跡是平滑的,目標當前時刻的狀態與上一時刻的狀態有關,濾波方法可以將這些先驗知識考慮進來得到更準確的定位軌跡。本文簡單介紹粒子濾波及其使用,接著卡爾曼濾波寫,建議先閱讀室內定位系列(五)——目標跟蹤(卡爾曼濾波)。 原理 這裡跟卡爾曼濾波進行對比來理解粒子濾波。 目標

室內定位系列——模擬獲取RSS資料

很多情況下大家都採用實際測量的資料進行定位演算法的效能分析和驗證,但是實際測量的工作量太大、資料不全面、靈活性較小,採用模擬的方法獲取RSS資料是另一種可供選擇的方式。本文介紹射線跟蹤技術的基本原理,以及如何得到用於定位模擬的RSS資料。在此基礎上得到位置指紋庫與一組測試資料,用於以後定位演算法的驗證。(本

室內定位系列——目標跟蹤卡爾曼濾波

進行目標跟蹤時,先驗知識告訴我們定位軌跡是平滑的,目標當前時刻的狀態與上一時刻的狀態有關,濾波方法可以將這些先驗知識考慮進來得到更準確的定位軌跡。本文簡單介紹卡爾曼濾波及其使用。 原理 這裡僅從目標定位跟蹤的角度做一個簡化版的介紹。 定位跟蹤時,可以通過某種定位技術(比如位置指紋法)得到一個位置估計(

Silverlight & Blend動畫設計系列:沿路徑動畫Animation Along a Path

幀動畫 -- long png ref wid found 不用 system.in 原文:Silverlight & Blend動畫設計系列十一:沿路徑動畫(Animation Along a Path)  Silverlight 提供一個好的動畫基礎,但缺少一種

【NOIP模擬賽】收銀員道好的查分約束題

bsp max int printf out 以及 void def 判斷 /* s[]表示最優方案的序列中的前綴和,那麽s[23]就是最優方案 由題意我們可以列出這樣一些式子: s[i]+s[23]-s[16+i]>

字符驅動之按鍵:無腦輪詢法

des gpo first gist 結構體 字符 定義 char v_op 一、添加頭文件 二、構造fileoperation結構體 static struct fileoperations second_drv_fops = {   .o

微信小程序初探、簡單的數據請求

原來 需要 any 鏈接 flex 開發人員 環境 com 野心 微信小程序出來有一段時間了,之前沒看好小程序(覺得小程序體驗不咋好,內心對新事物有抵觸心裏,請原諒我的膚淺[捂臉][捂臉]),不過後來偶然之間玩過小程序的遊戲(跳一跳、球球大作戰、猜畫小歌 等),

機房---新增刪除使用者次判斷控制元件空值

新增部分的思路前面的流程圖基本適用就不附圖啦~主要聊一下怎麼一次判斷當前窗體是否存在空值,註冊篇有寫一次清空控制元件的,一次判斷當前窗體是否存在空值就是在其基礎上進行的改動 程式碼 For Each ctrl In Me.Controls If Type

遊戲製作之路-unity捕魚達人 開始以及載入介面的製作

Unity捕魚達人的製作 一、建立開始介面 根據上一篇我們所講的,很容易就能把開始介面做出來。 二、遊戲載入場景 遊戲載入條的製作,我是用到了unity中的slider UI元件,如圖 slider元件包括背景和填充區域,在這裡我把背景設為白色,填充區域為藍色。我們把fill下的fil

vmware horizon 6.0搭建-、各元件的簡單介紹

vmware horizon 6.0主要由以下幾個功能模組組成: 1.Microsoft Active Directory:對使用者進行身份驗證和管理。 2.Vmware Vcenter Server:對物理主機和虛擬機器進行管理。 3.Vmware Horizon view

LeetCode:538. Convert BST to Greater Tree棵樹上加入所有的節點

Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original BST is changed to the original key plus sum of all

######SQL多count查詢不用子查詢,條件加對了就行注意:條件位置可變化。》分析領導的實現過程。心得筆記。

===》分析領導的實現過程。心得筆記。 #業務場景:不同企業下有各自的角色。角色下有許可權(角色:許可權=多對多,有中間表)和使用者(角色:使用者=一對多,使用者表有個角色id) #表結構:看檔案。 #需求:登入使用者所屬企業id, #1 SELECT a.PB_R

Zabbix實戰篇步步帶你到郵件報警

zabbix純內網環境監控伺服器傳送郵件報警 尊敬的各位大佬,親愛的小白們,以及正在剛入門zabbix的精英們,你們好,本文章適讀範圍: 大佬:瞅一眼就行了。 小白:我去,這是啥有點看不太懂。 正在入門zabbix:這文章還可以,先存下來,說不定以後有用。 打醬油的

Kibana張圖片勝過千萬行日誌

轉自:https://www.cnblogs.com/cjsblog/p/9476813.html            https://www.cnblogs.com/cjsblog/p/9476813.html Kibana是一

遊戲製作之路-unity捕魚達人 開始以及載入介面的製作

Unity捕魚達人的製作 一、建立開始介面 根據上一篇我們所講的,很容易就能把開始介面做出來。 二、遊戲載入場景 遊戲載入條的製作,我是用到了unity中的slider UI元件,如圖 slider元件包括背景和填充區域,在這裡我把背景設為白色,填充區域為

Solidify實現一個智慧合約10維陣列和二維陣列

固定長度的陣列 固定長度型別陣列的宣告及其通過length方法獲取陣列長度求和。 pragma solidity ^0.4.4; /* 陣列一旦建立,長度不可變 但裡面的內容可變 */ contract Sz { //定義長為5的陣列,並對其初始化。 uint[

redis主從配置主兩從,三哨兵linux

下載redis-4.0.6.tar.gz(當前最新穩定版)地址:http://download.redis.io/releases/安裝目錄:usr/local/redis安裝包下載目錄:/opt/redis安裝命令如下mkdir /usr/local/rediscd /op