孫沙沙,梁泉泉
(山東科技大學 電子通信與物理學院,山東 青島 266590)
室內定位是指利用無線通信、基站定位、慣性導航定位等多種技術,在某一時刻確定出人員/物體在室內的具體位置,是基于位置服務(LBS)領域的重要研究內容。室內定位因能完成人員/物體等在室內位置的精確感知,從而使其在醫療輔助、井下救援、智能家居和智能教學等眾多領域具有巨大的應用前景和經濟價值。
目前已被應用到室內定位中的技術和方法有很多,包括紅外線定位、RFID射頻識別、超聲波定位、藍牙定位技術、超寬帶(UWB)技術和傳感器定位等。這些傳統的室內定位方法普遍存在成本高、需攜帶專用設備、隱私安全易被入侵等限制性問題。而基于WiFi的室內定位具有無需攜帶設備、可穿墻掃描、保障個人隱私、成本低等優點,成為當前研究室內定位的重要方向。它通過已知無線接入點(AP)的位置坐標信息,根據理論經驗和構建信號傳播模型等對已連接的移動設備進行位置定位。
目前,基于WiFi的室內定位獲取的數據形式主要有接收信號強度(RSS)和信道狀態信息(CSI)兩種。RSS表示的只是一個疊加的信號強度值,很多有用信息如相位都被忽略,因此不能很好地反映信號在鏈路中的傳播特性。RSS很容易受環境變動的影響,即便在靜態環境中也會出現一定范圍的波動。因此,RSS僅在一些簡單環境中能達到理想的效果,而在傳統的室內環境中,CSI要比RSS更加穩定[1]。另外,CSI同時包含幅度和相位信息,比單值的RSS能提供更豐富的頻域信息。綜上,CSI相較于RSS具有更好的穩定性和位置敏感性,為實現更魯棒和靈活多變的環境感知應用提供了新機遇。
人員/物體在無線信號范圍內活動會對接收到的無線信號產生干擾。發送端發射的無線信號在傳輸過程中受物理空間環境或人的因素(位置、姿勢、動作)影響,形成直射、反射和散射等多條路徑傳播產生多徑效應。接收端接收到的信號反映了環境特征信息的多徑疊加特征[2]。當接收端檢測到信號發生變化時,可以推斷有某些因素導致信號波動。CSI考慮到天線數和子載波數,包括頻率域中每個子載波的信道狀態信息,一次可以獲得多個隨時間變化并保持相對穩定的CSI值。信道狀態的頻域模型[3]被描述為:

Y、X、H、N分別表示接收信號向量、發射信號向量、信道矩陣和高斯白噪聲。其中,信道矩陣代表維度為Nt(接收端的天線數)×Nr(發送端的天線數)×S(OFDM子載波數)的多個子載波信息。信道矩陣被描述為:

HNt×Nr代表每根天線每個子載波的振幅和相位矩陣。
信道矩陣描述了信號在每條傳輸路徑上的衰弱因子。信道矩陣[4]中每個元素的值都包含著信號散射、環境衰弱和距離衰減等信息。
由于CSI描述鏈路層信息,普通的WiFi硬件通常不會輸出該信息。為了獲得CSI值,一般采用以下幾種方式:
第一,構建軟件定義無線電硬件平臺[5](SDR platform),該方式所需成本較高。
第二,通過安裝Intel5300無線網卡并修改驅動固件方式[6],采集CSI數據。
第三:使用Atheros9390 NIC[7]采集CSI原始數據包。
基于CSI的室內指紋定位流程通常分為兩個階段:離線數據庫構建和在線定位匹配。在離線階段,首先使用裝有CSI Tool的Linux操作系統接收WiFi信號,獲取PHY層的CSI值。其次,對獲取的CSI數據進行去噪降維,然后進行幅度和相位處理,并提取可以代表位置的特征值構建指紋數據庫。在線定位階段將測試點的相位振幅信息處理后提取特征值,與指紋庫內信息進行比對得出測試點位置。針對以上工作過程,本文將分別從離線階段特征提取、在線階段位置定位兩方面分析一些算法,并在此基礎之上闡述目前該研究方向存在的難點問題和未來可能的發展方向。
不同位置的特征提取是基于CSI室內指紋定位的關鍵步驟,直接影響室內定位的魯棒性和定位精確度。特征提取到的指紋必須滿足穩定性和區分性兩個要求。穩定性即采集到的指紋不隨時間的變化發生明顯變化。區分性即在不同的位置指紋應該有較大的區別度。
原始的CSI數據并不能直接用于分類器,想要分辨不同位置,需要先從CSI數據包中提取代表該位置的有效特征。目前,提取特征值的方法主要包括深度學習法、PCA法等。
2006年以來,深度學習開始在人工智能領域嶄露頭角,尤其是在室內指紋定位的特征提取上得到了廣泛應用。它將特征學習和分類結合實現端到端的輸出,模型隱藏層數多、參數大,使其具有表示大規模數據的能力。尤其當數據特征不明顯時,深度學習能夠學習到更好的特征。在測量到豐富的CSI數據后,通過將數據作為輸入,層與層之間的權重系數作為輸出,可以將深度學習引入室內指紋定位的研究中,以提高定位精度。
深度學習算法主要通過組建含有很多個隱藏層的機器學習模型和大量的訓練數據來學習更有效的特征,不需要人工手動構造特征,解放了人力,節省了物力,提升了室內定位的精確度。通過深度學習法提取特征,更有利于能夠挖掘CSI數據豐富而全面的內在信息。但是,目前深度學習在特征提取上也要考慮以下局限性如深度不足、訓練完成后無法修正學習結果、除非重新訓練等。
主成分分析法(PCA)是起源于20世紀80年代的一種降維去噪方法,主要是將高維特征空間的數據利用最高方差通過線性變換投影到低維空間上,把多個指標通過少數幾個綜合指標來表示,達到降維的目的。PCA算法的本質是利用對角化協方差矩陣讓各個維度之間的相關性最小,保留下來的維度的能量最大。更具體地說,對高維度的數據集進行降維時,最大限度地保證原始數據不失真,并且盡可能去除冗余數據和干擾噪聲[8]。
將采集的CSI信號直接作為指紋特征,其數據的維數較高,參數估計的難度較大,計算量也大。因此,通過PCA算法進行主要特征提取,去除定位特征與分量之間的相關性,不僅可以對數據進行降維,減少數據量,還可以去除CSI信號中的噪聲,降低定位誤差。
在基于CSI的室內指紋定位研究中,在線定位階段是指在未知位置測量目標的信號特征,然后對特征進行處理,通過特定的匹配算法比較測量數據與離線訓練時建立的數據庫中的數據,找出或計算出相似的數據所對應的位置信息,作為位置的估計值。典型的指紋在線匹配算法大致可分為三大類:基于近鄰選擇的指紋定位算法、基于概率性算法以及基于機器學習算法。
基于近鄰選擇的指紋定位算法包括最近鄰法(NN)、K近鄰法(KNN)和K加權近鄰(WKNN)算法,基本思想是將與待定位節點特征值最相似的一個或者K個參考點的坐標進行平均或加權,最后計算出待測點的估計位置。
NN算法在室內定位過程中,接收端接收到 n個發射端的n維信號指紋,記為R=(R1,R2,…,Rn),然后將此信號指紋R與所有參考點的指紋數據F=(F1,F2,…,Fn)進行匹配。NN算法在匹配時需要計算定位目標指紋R與參考點指紋F之間的距離,距離計算公式為:

式中,當q=1時代表曼哈頓距離,當q=2時代表歐氏距離。NN算法選取與定位目標指紋R距離最小的指紋數據Fi的位置坐標(Xi,Yi)作為定位結果。
NN算法計算過程簡便,但是計算結果誤差較大,因為WiFi信號傳播時受環境影響嚴重,實際上計算的最近鄰與真正的最近鄰有誤差,且NN算法無法應用到連續參考點,只能定位離散的參考點。
3.1.2 K近鄰法(KNN)
K近鄰算法是NN算法的改進。KNN算法不是選擇與定位目標指紋R距離最近的參考點作為指紋Fi,而是獲取與R距離最近的前k(k≥2)個參考點的指紋,計算這k個參考點的坐標的平均值(X-,Y-)作為位置估計,定位公式為:

其中(Xi,Yi)是第i個參考點的坐標。
KNN算法通過測量不同特征之間的距離進行定位。該算法在使用時憑借簡單的思想、理論日益成熟、訓練時無需輸入數據假定等優勢得到了人們的青睞。缺點是K值需要人為預先設定,不能自適應找到最優參數,因此在線定位匹配過程中可能會因參數K值設定不準確而降低定位準確度。此外,當樣本數據很少時容易產生大誤差,而樣本數量太大時又容易導致計算復雜度很高。因此,可以通過優化K值提高定位效果。
3.1.3 加權K近鄰法(WKNN)
WKNN算法是在KNN算法上的一種改進算法。WKNN和KNN算法的不同在于確定k(k≥2)個指紋的參考點后,KNN算法求的是k個參考點坐標的均值,而WKNN是每個參考點的坐標值乘以一個加權系數,然后把參考點的位置坐標加權平均。對于定位接收端,WKNN定位公式為:

Di為接收端與第i個指紋數據之間的歐氏距離。因小為的為W正除K N常法N數公 算,式 法(中X的i,分Y定i)母 位是不 結第為 果i個。0,參所考以點把的坐ε看 標做,一個很
WKNN的定位精度比NN、KNN高,但實測中仍然存在定位精度有限的問題。目前的研究主要在于對WKNN提出一種自適應修正方案或者是把WKNN與極大似然法相結合。
概率性算法需要通過采集大量的樣本數據統計每個參考點上指紋特征的概率分布。常用的概率性算法是樸素貝葉斯概率法(Bayes)。
樸素貝葉斯算法屬于生成式模型,需要的參數非常少,對缺失數據問題不太敏感。它通過計算后驗概率大小進行定位,當樣本數據較少時具有較好的定位精度。缺點是該算法必須在假設目標特征之間相互獨立的基礎上進行分類。實際應用中,特征之間不可能絕對獨立,因此影響了實際的定位效果。此外,在室內指紋定位研究中的距離匹配方法中,為提高匹配效果,通常建立穩定的大容量位置數據庫,將導致其系統計算效率較低,且時間跨度的變化對其影響也較大。
總體來說,基于概率統計模型的方法具有更好的適用性,但是訓練樣本的容量帶來的復雜度問題也是未來研究中的難點。
基于機器學習的算法主要通過對采集的樣本數據和位置坐標進行離線訓練,找到特征值與坐標之間的函數關系,然后將采集的需要定位的信標節點的指紋特征輸入函數關系,進而計算最后的估計坐標。常用的方法支持向量機(SVM)。
SVM在1995年由Cortes和Vapnik首次提出,是一種基于統計學理論的VC維理論,目標是最小化結構風險[9]。SVM是一種判別式模型,在機器學習算法范疇內,是一個有監督的學習模型,可以根據有限的樣本信息,在模型復雜度和學習能力之間求得最佳折衷效果,是一種通過搜尋最大邊緣超平面來確定最優決策邊界的分類回歸算法。
SVM通過利用核函數將非線性問題映射到高維特征空間中進行線性分類,并用松弛系數或懲罰系數調整分類結果,因此在解決高維、非線性分類問題方面優勢明顯。可以將SVM良好的分類、回歸能力應用到室內定位,訓練速度快,并不要求大量的訓練數據集,但也帶來較大的分類計算成本,且訓練過程時間較長。
基于機器學習的定位算法除了支持向量回歸法,還有決策樹。決策樹(Decision Tree)是一個模擬樹結構形式構建的分類模型。用決策樹算法進行室內定位,先利用訓練數據構造一顆決策樹模型,再通過該模型對輸入的數據特征判別進行分類,依據分類結果確定目標的位置。通過決策樹算法進行定位,分類準確率較高,自上而下的建樹分類過程具有較好的可視化效果,易于理解。利用決策樹分類模型不需要太多訓練數據,算法計算成本較低,能耗較少,但建樹過深、分支過多時易發生過擬合問題和最優化問題。
目前,存在各種利用CSI進行室內指紋定位的文獻,運用各種方法能準確進行數據庫的構建和在線定位。但是,實際定位中仍然存在很多局限,也有很多急需發展的研究方向。
基于CSI的室內指紋定位的研究主要涉及CSI數據獲取、特征提取和表示以及在線匹配等階段。通過對文獻的詳細分析發現,基于CSI的室內定位存在的主要局限如下。
(1)未知環境的定位問題。目前,大多數指紋定位技術都基于受控的實驗環境,但實際應用場景并不都是熟悉環境,指紋受環境變化的影響很大。當環境改變時需要更新指紋數據庫,在一個未采集的區域將無法提供定位服務,因此指紋定位方法并不適合大范圍推廣。
(2)定位實時性限制。為了達到對室內環境的全覆蓋,需要多個AP作為信標。在定位中如果需要獲取多個AP的CSI,需要終端連接到每個AP后才能獲取CSI值,影響定位的實時性,降低了系統的魯棒性。
目前研究分析知,仍有以下問題需要解決。
(1)實現三維的空間定位。目前,WiFi室內定位還局限在平面內的位置估計,大多數實驗都是將AP和接收天線人為地盡量調整到同一高度。這與實際應用場景有一定出入,如在大型商場中,AP與接收天線往往不在同一水平面。如何實現該場景的WiFi室內定位值得未來進一步研究。
(2)實現算法在智能設備上的可視化應用。目前,只有部分無線網卡和智能手機能夠采集CSI信息,使得定位系統不具有商業普適性。因此,未來的工作可以考慮如何在移動設備上采集CSI信息,將室內定位算法實現實時可視化,從而推動基于CSI的室內定位技術的實際運用。
基于CSI的室內指紋定位一直是多年來的研究重點,是把WiFi信號運用于環境感知的重要應用。鑒于WiFi設備的大量普及,該領域研究將具有非常廣闊的應用前景。本文根據基于CSI的室內指紋定位的一般步驟,分析近幾年相關基于CSI的室內指紋定位研究中的離線階段特征提取和在線階段定位階段兩方面內容,并對目前研究的一些限制及未來發展方向進行討論。盡管在過去的幾年,利用CSI進行環境感知已取得較大進步,但基于CSI的環境感知技術仍處于萌芽階段,具有廣闊的應用前景,期待在不久的將來能涌現出更多的創新型研究及其應用。