江小平,劉 鍵,丁 昊
(中南民族大學(xué) 電子信息工程學(xué)院,武漢 430074)
室內(nèi)位置服務(wù)(LBS)由于其社會(huì)價(jià)值和商業(yè)價(jià)值吸引了越來越多的關(guān)注.傳統(tǒng)的室內(nèi)位置技術(shù)包括視頻監(jiān)控、傳感器網(wǎng)絡(luò)、超聲波或聲音等[1],這些技術(shù)需要安裝特定裝置,成本高而且有一定盲區(qū),存在明顯缺陷. 隨著通信網(wǎng)絡(luò)理論和技術(shù)的進(jìn)步,包括Wi-Fi、藍(lán)牙、射頻識(shí)別(RFID)[2-4]、磁場等都被用于室內(nèi)定位. 上述技術(shù)中,基于Wi-Fi的方法以其無線覆蓋范圍廣、應(yīng)用普遍、成本較低而備受關(guān)注.目前根據(jù)被檢測目標(biāo)是否攜帶設(shè)備參與定位過程與否,將Wi-Fi的定位分為有源和無源兩種[5]. 傳統(tǒng)的無源定位方式大多采用接收信號(hào)強(qiáng)度(RSSI)作為定位指紋來確定位置和距離.杜克大學(xué)Sen等[6]設(shè)計(jì)的PinLoc系統(tǒng),在房間內(nèi)創(chuàng)建多個(gè)定位指紋,通過被檢測者的RSSI和構(gòu)建好的Wi-Fi指紋庫進(jìn)行匹配. 選擇單個(gè)地點(diǎn)區(qū)域內(nèi)4個(gè)不同位置的信道頻率響應(yīng)(CFR)作為該地點(diǎn)的候選指紋,由于接收到的RSSI僅表示接收數(shù)據(jù)包多路信號(hào)混合,具有很低的分辨率,定位精度差. 2009年的IEEE802.11n標(biāo)準(zhǔn)中,通過正交頻分復(fù)用技術(shù)(OFDM)能得到WLAN網(wǎng)絡(luò)的CSI[7].CSI與RSSI相比抗干擾能力強(qiáng),靜態(tài)時(shí)相對(duì)穩(wěn)定,動(dòng)態(tài)時(shí)通過2.4 GHz或5 GHz無線網(wǎng)絡(luò)詳細(xì)地描述了30個(gè)子載波幅度和相位信息,較為靈敏地反映了室內(nèi)無線環(huán)境的變化情況. Xiao等[8]實(shí)現(xiàn)了一個(gè)基于CSI設(shè)備無關(guān)的室內(nèi)運(yùn)動(dòng)檢測系統(tǒng)FIMD. FIMD提取CSI時(shí)間穩(wěn)定性較好的特征,利用基于密度的DBSCAN系統(tǒng)分類算法對(duì)信道鏈路狀態(tài)進(jìn)行分析,與基于RSSI的 RASID系統(tǒng)[9]相比,提高了識(shí)別準(zhǔn)確率. Li等[10]提出一種新的定位方法,在離線階段,收集所選參考點(diǎn)的CSI原始數(shù)據(jù)作為其精確位置的標(biāo)簽,然后在本地服務(wù)器上生成一個(gè)龐大的數(shù)據(jù)庫,使用數(shù)據(jù)庫實(shí)現(xiàn)數(shù)據(jù)預(yù)處理和加權(quán)訓(xùn)練. 定位的平均誤差在1.57 m. 但是由于環(huán)境的復(fù)雜性和信號(hào)的時(shí)變性,這些方法在穩(wěn)定性和精度方面仍有一定的提升空間[11].
本文設(shè)計(jì)了一種基于CSI的離散指紋的軌跡跟蹤方法. 與其他算法相比,同時(shí)利用CSI幅值和相位信息作為離散指紋特征值;考慮到子載波差異性,設(shè)計(jì)了基于子載波權(quán)重的定位算法保證CSI數(shù)據(jù)的可用性和定位的準(zhǔn)確率. 系統(tǒng)的硬件設(shè)備是Wi-Fi路由器的發(fā)射器和裝有5300網(wǎng)卡的電腦的接收器.通過漢佩爾濾波器和巴特沃斯低通濾波器對(duì)數(shù)據(jù)進(jìn)行處理,之后通過相位的矯正和協(xié)方差相關(guān)矩陣特征值法進(jìn)行特征提取,最后利用基于子載波權(quán)重的主成分分析算法進(jìn)行分類,創(chuàng)建指紋來進(jìn)行無源定位和軌跡跟蹤.
Wi-Fi采用OFDM調(diào)制技術(shù),獲取Wi-Fi信號(hào)每根天線的30個(gè)子載波的CSI信息.每路子載波兩兩正交,進(jìn)行獨(dú)立的自適應(yīng)多進(jìn)制調(diào)制[12].在OFDM系統(tǒng)中經(jīng)過多徑信道的接收信號(hào)為:
R=HX+N,
(1)
(1)式中R和X分別代表接收端和發(fā)送端的信號(hào)向量,H和N分別是信道矩陣和加性高斯白噪聲. 根據(jù)式(1)各個(gè)子載波的CSI可以估計(jì)為:
(2)
H(f)=[H(f1),H(f2),…,H(fn)].
(3)
在第N個(gè)子載波上,信道頻率響應(yīng)表示為:
H(fN)=|H(fN)|ejsin( (4) (4)式中H(fN)為復(fù)數(shù)值,表示每個(gè)子載波的幅值和相位. 由于儀器、溫度和房間擺設(shè)等因素的影響,未經(jīng)處理的CSI數(shù)據(jù)不能直接使用. 因此對(duì)原始數(shù)據(jù)去除異常值以保證數(shù)據(jù)的穩(wěn)定性,同時(shí)濾波以減少噪聲對(duì)CSI的影響. 漢佩爾濾波器屬于基于決策的濾波器,能找出數(shù)據(jù)序列中的異常數(shù)據(jù)點(diǎn),并以更有代表性的數(shù)值取代[13]. 接著采用巴特沃斯對(duì)幅值進(jìn)行預(yù)處理,幅值處理前后的結(jié)果如圖1所示. 圖1 3個(gè)子載波的幅值預(yù)處理前后結(jié)果Fig.1 The results of 3 subcarrier amplitude preprocessing before and after pretreatment 因?yàn)樯逃镁W(wǎng)卡的精度較差和噪聲等因素的影響,從數(shù)據(jù)包中得到的CSI相位信息雜亂無章,所以要對(duì)相位進(jìn)行處理.假設(shè)第n個(gè)子載波頻點(diǎn)fn,Wφfn為第n個(gè)子載波的真實(shí)相位,φfn為測量相位,N為每個(gè)子載波上的頻點(diǎn)數(shù),γ為接收機(jī)時(shí)間偏移,?為隨機(jī)相位,X為測量誤差. 有: (5) 對(duì)兩個(gè)不同的φfn做差值運(yùn)算結(jié)果如式(6): (6) (6)式中,Δ?和ΔX較小可以忽略,可簡化為: (7) (7)式可以化為: Δφfn=aΔfΔn+b,Δn=n-1, (8) 根據(jù)式(8),能化為y=ax+b的形式,采用線性回歸的算法,去擬合當(dāng)前的一系列樣本(x,y). 線性回歸有多種算法,本文采用基于均方誤差規(guī)則下最小二乘法求得a和b,得到線性回歸方程,從而去除了收發(fā)功率不穩(wěn)定和噪聲因素造成的相位誤差. 圖2是經(jīng)過相位處理后的3個(gè)連續(xù)時(shí)刻的天線相位圖.三根天線的變化情況不同,對(duì)于同一根接收天線,30個(gè)子載波經(jīng)過相位處理后由于多徑引起的相位跨度變化不大,相對(duì)比較穩(wěn)定. 圖2 3個(gè)連續(xù)時(shí)刻的相位處理圖Fig.2 Phase processing diagram of 3 consecutive moments 式(3)是CSI的頻域狀態(tài)響應(yīng)公式,對(duì)采集到的數(shù)據(jù)加窗處理,設(shè)滑動(dòng)窗口大小為w,窗口內(nèi)數(shù)據(jù)包為: H=[HN,HN+1,…,HN+w-1], (9) 其中HN為窗口內(nèi)CSI的起始數(shù)據(jù)包,基于子載波的維度為30,所以矩陣H的維度為w×30.根據(jù)式(9)計(jì)算矩陣H中各列數(shù)據(jù)的相關(guān)性: 其中cov(Hm,Hn)是矩陣Hm、Hn的協(xié)方差,D(Hm)、D(Hn)分別是矩陣Hm、Hn的方差.滑動(dòng)窗口內(nèi)的矩陣相關(guān)性如下: 將得到的相關(guān)矩陣記為X,對(duì)相關(guān)矩陣X進(jìn)行最大特征值處理如式(11): M=max(eig(cov(X))), (11) 以此類推,隨著窗口滑動(dòng),計(jì)算每個(gè)窗口的最大特征值. 圖3是3種不同情形下的特征提取結(jié)果.從圖中可以看出幅值的最大特征值呈現(xiàn)不同的聚類結(jié)果,靜態(tài)環(huán)境下得到的相位最大特征值波動(dòng)的范圍明顯小于其他兩種情況. 圖3 室內(nèi)不同場景的特征提取效果Fig.3 Feature extraction of different indoor scenes 從商用網(wǎng)卡收集到的CSI數(shù)據(jù)經(jīng)過以上的處理,發(fā)現(xiàn)在單位時(shí)間(一個(gè)數(shù)據(jù)包)內(nèi),每根天線的30個(gè)子載波之間對(duì)于環(huán)境感知敏感度差異較大,并影響了指紋定位的精度和準(zhǔn)確性. 在特征提取中選擇有代表性的CSI數(shù)據(jù)作為指紋信息,能更好地利用CSI子載波,增加準(zhǔn)確性,減少誤差率. 分類算法設(shè)計(jì)流程如下. 1)計(jì)算自相關(guān)矩陣. 輸入的數(shù)據(jù)為data=N×n的矩陣(N代表的是數(shù)據(jù)包數(shù)目,n=90是3根天線的共90個(gè)子載波)對(duì)列向量求相關(guān)性,形成一個(gè)A矩陣. 2)特征向量. 對(duì)A矩陣求特征值,([V,S]=eig(A),矩陣A的全部特征值構(gòu)成對(duì)角矩陣S,并求A的特征向量構(gòu)成V的列向量),根據(jù)特征值對(duì)特征向量進(jìn)行排序,并歸一化. 3)采用排序后的第一特征向量和第二特征向量作為主成分. 4)使用第一特征向量和第二特征向量投影數(shù)據(jù)到二維坐標(biāo)軸上(P=data×V其中data是輸入的數(shù)據(jù),V是形成的特征向量矩陣). 實(shí)驗(yàn)室面積約9.6×8.1 m2,在房間內(nèi)均勻布置9個(gè)指紋點(diǎn),指紋點(diǎn)相距約110 cm(圖4). 一臺(tái)裝有Intel 5300無線網(wǎng)卡(三根天線)的臺(tái)式機(jī)作為接收機(jī)(MP),三根天線平行分布,每根天線相距5 cm,臺(tái)式機(jī)安裝了Ubuntu11.04系統(tǒng),版本3.5.7的定制CSI-tool內(nèi)核,一臺(tái)TP-LINK的AC1200雙頻無線路由(AP)作為發(fā)射機(jī),在Ubuntu系統(tǒng)上通過CSI-tool工具收集CSI數(shù)據(jù)包,將得到的數(shù)據(jù)包進(jìn)行實(shí)驗(yàn)仿真.AP和MP的高度均為40 cm.無線AP基于802.11n協(xié)議,由于樓層中使用2.4 GHz Wi-Fi頻段的路由較多,為減少干擾,采用5 GHz的兩根天線固定信道發(fā)射無線信號(hào).整個(gè)收發(fā)器組成一個(gè)2×3的MIMO系統(tǒng). 圖4 實(shí)驗(yàn)室環(huán)境和平面圖Fig.4 Laboratory environment and planar graph 實(shí)驗(yàn)中在1~9的指紋點(diǎn),人體的朝向和姿勢(shì)保持一致. 每個(gè)點(diǎn)人站立時(shí)的采集時(shí)間為120 s. 靜態(tài)環(huán)境作為指紋10. 圖5是10個(gè)指紋點(diǎn)的幅值和能量圖,包括指紋點(diǎn)1~9和靜態(tài)環(huán)境采集的數(shù)據(jù)作為指紋點(diǎn)10,每個(gè)指紋點(diǎn)400個(gè)數(shù)據(jù)量(用虛線隔開)形成的90個(gè)子載波的幅值數(shù)據(jù).從圖中的幅值和能量看出了各指紋點(diǎn)由于位置的不同,幅值能量也各有差異.指紋點(diǎn)4、5、6由于在視距線(LOS)上,對(duì)CSI的感知較強(qiáng),引起的能量變化的波動(dòng)較大. 其他的點(diǎn)由于離LOS線距離遠(yuǎn),對(duì)環(huán)境變化所引起的幅值變化較小. 圖5 指紋點(diǎn)的幅值和能量圖Fig.5 The magnitude and energy diagram of fingerprint points 對(duì)聚類后的數(shù)據(jù)引入K近鄰法(KNN),取一半數(shù)據(jù)作為訓(xùn)練樣本,其余作為測試樣本. 采用式(12)來計(jì)算指紋點(diǎn)數(shù)據(jù)的分類正確率: (12) 其中T1為每個(gè)點(diǎn)分類正確的數(shù)據(jù),Q為每個(gè)點(diǎn)的總數(shù)據(jù). 在相對(duì)空曠無遮擋的室內(nèi)環(huán)境中實(shí)驗(yàn),減少了復(fù)雜環(huán)境中多徑效應(yīng)的影響;同時(shí)排布的指紋點(diǎn)位置不同,指紋點(diǎn)的定位準(zhǔn)確性也有差異. 表1是指紋數(shù)據(jù)點(diǎn)聚類后的分類結(jié)果,指紋8、指紋9由于靠近障礙物和墻壁,人體站立在這些位置時(shí),對(duì)環(huán)境改變所引起的信號(hào)影響較小,分類效果稍差;指紋點(diǎn)1、2、3因?yàn)槎鄰接绊戄^小,取得了預(yù)期的分類效果;指紋點(diǎn)4、5、6因?yàn)樘幱谝暰嗑€上,CSI對(duì)環(huán)境的變化較為敏感,分類的正確率較高,總體上分類算法對(duì)9個(gè)指紋點(diǎn)的準(zhǔn)確率較好. 本文設(shè)計(jì)的算法流程利用了不同子載波上的信息,起到了很好的分集定位效果,平均正確率在90%以上. 表1 不同指紋點(diǎn)數(shù)據(jù)的分類正確率Tab.1 Classification accuracy of different fingerprint point data 選取沿著指紋點(diǎn)4、5、6路徑所做的指紋軌跡進(jìn)行跟蹤檢測(圖6),一個(gè)指紋點(diǎn)采集400個(gè)數(shù)據(jù)包(包括有人站立和無人環(huán)境). 當(dāng)指紋點(diǎn)站人時(shí),由于室內(nèi)環(huán)境改變,會(huì)引起CSI幅值和相位的變化. 為了更好地觀察聚類的效果和軌跡的變化,把指紋點(diǎn)4、5、6采集的數(shù)據(jù)分為6部分(每部分包括200個(gè)數(shù)據(jù)包),每部分的數(shù)據(jù)包經(jīng)過算法流程后形成的聚類效果如圖6所示,從圖中數(shù)據(jù)的分類點(diǎn)軌跡的變化,可以檢測出人體在室內(nèi)指紋點(diǎn)的軌跡路線. 圖6 指紋點(diǎn)4、5、6的軌跡跟蹤Fig.6 Trajectory tracking of 4, 5, 6 fingerprint points 設(shè)計(jì)了一個(gè)完整的基于Wi-Fi的CSI離散指紋的軌跡跟蹤方案,不需攜帶任何特殊設(shè)備,成本較低,有利于普及.該系統(tǒng)采用了多種方法對(duì)幅值和相位數(shù)據(jù)進(jìn)行處理,減少了環(huán)境所造成的數(shù)據(jù)誤差. 采用協(xié)方差矩陣特征值法同時(shí)結(jié)合CSI所具有的特性對(duì)PCA算法改進(jìn),通過室內(nèi)指紋點(diǎn)的采集,證實(shí)了算法的可行性及分類的準(zhǔn)確性.指紋點(diǎn)定位準(zhǔn)確率在90%以上. 下一步將考慮增加指紋的密度,提高定位的準(zhǔn)確性.同時(shí)對(duì)指紋點(diǎn)路徑進(jìn)行跟蹤識(shí)別,會(huì)為未來深入研究多目標(biāo)運(yùn)動(dòng)檢測和路徑跟蹤,實(shí)現(xiàn)跟蹤動(dòng)態(tài)人員的目標(biāo)和位置提供基礎(chǔ).2 算法描述
2.1 幅值預(yù)處理
2.2 相位處理
2.3 特征提取
2.4 基于子載波權(quán)重的PCA算法
3 實(shí)驗(yàn)設(shè)計(jì)
3.1 實(shí)驗(yàn)方案
4 結(jié)語