韓卓宜,王延昭,修春娣
(北京航空航天大學 電子信息工程學院,北京 100191)
據統計,人們80%的日常生活時間在室內度過,因此,室內環境下的位置服務需求日漸旺盛[1]。隨著4G移動通信技術及服務蓬勃發展,LTE網絡被廣泛部署于居民區、大型商場和飛機場等場所。LTE室內定位系統可以利用現有LTE 通信網絡設施,降低系統部署開銷和成本,因而成為室內定位的研究熱點[2-6]。
由于指紋定位算法受室內環境非視距(Non-Line of Sight,NLOS)傳播影響相對較小、定位準確度高,目前被廣泛使用[7-11]。然而,現有的指紋定位方法普遍采用接收信號強度 (Received Signal Strength,RSS) 作為特征指紋。由于RSS數據是多徑信號的疊加,無法反映信號瞬時變化,靈敏度不高,指紋數據之間的區分度不夠,導致單點指紋匹配時可能會出現匹配點偏離實際情況過遠,從而限制了指紋匹配算法的定位精度[12]。本文研究基于信道狀態信息(Channel State Information,CSI)指紋序列匹配的LTE室內定位方法。一方面利用CSI數據作為指紋,提升了指紋數據的靈敏度和穩定性;另一方面通過序列匹配算法降低了定位點出錯的概率,提升了LTE指紋定位性能。
LTE采用正交頻分復用(Orthogonal Frequency Division Multiplexing,OFDM)技術實現物理層的數據傳輸。隨著無線局域網技術的發展,IEEE802.11n及之后的標準采用信道狀態信息CSI來量化信道特征,以保證通信質量。CSI是物理層的一個細粒度值,描述了頻域內每個OFDM子載波上的幅值和相位。對CSI數據的采集可以一次性獲取所有子載波的CSI信息,每個子載波的CSI會沿著不同的衰落或散射路徑傳播,從而具有不同的幅值和相位。因此,CSI受多徑的影響較RSS更小,且表現更為穩定[13]。RSS與CSI特性對比如表1所示。

表1 RSS與CSI特性對比Tab.1 Features of RSS and CSI
在 OFDM 傳輸系統中,每個信道狀態的頻域模型可以表示為:
Y=HX+N,
式中,Y,X分別為接收和發送信號向量;H為信道信息矩陣;N為信道中的加性高斯白噪聲。
各個子載波的CSI可以表示為:
H=Y/X。
假設OFDM的子載波數量為m,則CSI矩陣H可以表示為:
H=[h0h1…hm-1]T,
則第i個子載波的CSI為:
hi=|hi|ej∠hi,
式中,|hi|,∠hi分別表示第i個子載波的幅值和相位[14]。
對于LTE系統,可以利用小區專用參考信號(Cell-specific Reference Signals,CRSs)進行CSI估計。將接收設備逐次放置在參考點上,估算出相應的下行CSI。在第p個參考點,從第b個發射天線到第r個接收天線的第k個CRS的信道頻率響應為:
式中,Lp,b,r為多徑分量(Multipath Components,MPC)的數量;ap,b,r,l,τp,b,r,l分別為第l個MPC的增益和傳播延遲;ωc為載波頻率;Δf為相鄰CRSs之間的頻率間隔。不同參考點和收發天線的Lp,b,r,ap,b,r,l,τp,b,r,l可能不同,但為了方便描述,下文中省略了參數的下標p,b,r。
然而,實際接收信號中可能存在同步誤差、采樣時鐘漂移、頻率偏移、相位噪聲和接收噪聲等諸多問題[15]。考慮到這些因素的影響,t時刻的hp,b,r,k估計值可以表示為:
nr,k(t)=
nr,k(t),
式中,ωd為載波頻率偏移;φ(t)為隨時間變化的相位噪聲;δ(t)包含了時變同步誤差和采樣時鐘漂移;nr,k(t)為接收到的噪聲。
由上文給出的信道估計表達式發現,相位失真會造成信道估計不準,導致建立指紋數據集的CSI與在線定位時的CSI不匹配,造成定位出錯。避免相位失真的手段有2種,一是只利用CSI幅值信息作為指紋;二是對CSI相位信息進行補償。
近年來,Intel和Atheros對幾款市場上常見的商用網卡驅動程序開源。CSI提取難度的降低和支持設備的增加,為其在室內定位等方向的研究和應用提供了基礎條件[16-18]。
本文利用配備了2個天線的LTE信號接收原型系統接收來自北京航空航天大學校園周邊中國聯通公共宏基站的LTE信號。原型系統的射頻部分在AD9361的評估板AD-FMCOMMS2上實現。射頻芯片AD9361的載波頻率70 MHz~6 GHz可調。在Xilinx全可編程SOC芯片Zynq-7020的評價板ZedBoard上實現基帶處理。Zynq-7020是一款基于Arm+FPGA平臺的開發板,支持Python編程,可以在芯片上實現基帶處理算法。為了降低實時處理的復雜度,在每個子幀中只對信道進行一次估計,因為室內用戶在一個子幀中(1 ms)的移動可以忽略不計。
現有的指紋匹配算法,如NN,KNN及貝葉斯分類等,都是依據單個數據點的指紋特征進行匹配定位。然而,用戶運動具有連續性,可以為目標位置的估計提供額外的信息,序列匹配算法可以結合運動前后位置的相關性,對定位結果進行修正,提高定位精度[19]。
本文研究基于CSI指紋的序列匹配算法。總體方案如圖1所示。離線階段包括CSI數據獲取、CSI原始數據處理、提取特征數據和CSI指紋庫構建;在線階段包括CSI實時數據采集和序列匹配定位。

圖1 算法總體方案Fig.1 Algorithm implementation scheme
首先由指紋點之間的位置關系構建相鄰矩陣M,若指紋點之間的空間距離小于1個間隔,則判斷2個指紋點具有臨近關系。計算任意指紋點之間的距離,完善相鄰矩陣M。
假設序列長度為L,通過相鄰矩陣M,構建指紋序列庫,具體方法如下:設序列起點為y0,根據相鄰矩陣M,y0可以和它的相鄰點形成一個長度為2的序列u,u=[y0,yi],其中yi為與y0相鄰的第i個指紋點。然后以yi為新的起始點,繼續擴充序列,直至序列達到指定長度L。重復該方法,得到序列長度L情況下的所有序列,結合對應指紋點的CSI信息,構建指紋序列庫UL。
序列匹配算法如圖2所示。在t1時刻,測試數據為x1,算法執行的是傳統的單點指紋匹配,通過K-近鄰算法得到的定位結果y1,1,作為初始定位結果輸出O1。t2時刻,新的輸入數據為x2,并與前一時刻的數據x1組成測試序列b2=[x1,x2],進行序列匹配,提取L=2時的序列庫U2,通過距離公式計算b2與u之間的距離:

圖2 序列匹配算法Fig.2 Sequence matching algorithm
(5)
計算得到歐式距離最小情況下的序列匹配結果ui=[yi,1,yi,2],通過yi,1對前一時刻的定位結果y1,1進行修正,并將yi,2作為t2時刻的定位結果輸出O2。
tn時刻輸入數據為xn,tn-1時刻的測試序列為bt-1=[x1,x2,…,xn-1],將xn加入序列末尾,此時若序列超過規定長度L則剔除首項,生成新的測試序列。提取序列長度為L時的序列庫UL,進行序列匹配,并將序列匹配結果的尾項yi,L作為tn時刻的輸出On。
在真實環境中進行數據采集,以驗證本文所提算法的定位性能。實驗環境為北京航空航天大學新主樓F座的室內走廊,選取了一個1 m×0.6 m的區域,并用77個均勻分布的參考點布滿實驗區域,垂直間距為0.1 m,水平間距為0.1 m。
實驗采用定位準確率來衡量定位結果,NN算法測試了500組數據;序列長度L=2測試了500組數據;L=3測試了500組數據;L=4測試了300組數據。由于實驗中參考點和測試點是相同的,所以KNN算法在k=1情況下的準確率遠大于其他取值,所以只列出NN定位結果。此外,算法比較了不同序列長度L的序列匹配定位結果,具體結果如表2所示。

表2 定位結果比較Tab.2 Positioning results of different methods
由實驗結果可見,序列匹配算法相對于NN在準確度方面有明顯提升。當L=3時,序列匹配已經得到了很好的定位性能;當L<3時,序列匹配算法的序列選擇范圍增大,點與點之間的約束增加,從而降低了定位誤差;當L>3時,算法定位準確度已經趨于穩定,反而因為序列選擇過多,增加了計算時間。
通過在LTE室內定位中引入CSI指紋和序列匹配算法,提升了指紋數據的靈敏度和穩定性,降低了定位出錯概率,從而提升了LTE的定位性能。由于序列匹配相對還是一個比較新的概念,國內外對于序列匹配的研究還不是很多[20-23]。現有的序列匹配算法都不夠完整,序列長度等關鍵參數的選取都缺乏依據,且定位耗時長。未來的研究工作可以從兩方面展開:特征指紋考慮CSI相位信息對定位準確率的影響;從序列庫建立的角度入手,降低序列庫的規模和算法的定位耗時。