文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.12.016
中文引用格式: 田廣東,楊品章,王珊,等. 基于Kmeans聚類的CSI室內(nèi)定位[J].電子技術(shù)應(yīng)用,2016,42(12):62-64,68.
英文引用格式: Tian Guangdong,Yang Pinzhang,Wang Shan,et al. CSI indoor positioning based on Kmeans clustering[J].Application of Electronic Technique,2016,42(12):62-64,68.
0 引言
隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展,基于位置的服務(wù)得到了相應(yīng)的發(fā)展?;跓o線局域網(wǎng)(Wireless Local Area Network,WLAN)的室內(nèi)定位技術(shù)受到了廣泛關(guān)注,如今廣泛使用的基于接收信號(hào)強(qiáng)度指示(Received Signal Strength Indicator,RSSI)的定位方法精度不理想。在IEEE802.11n標(biāo)準(zhǔn)[1]中,支持信道狀態(tài)信息(Channel State Information,CSI)的反饋機(jī)制,通過修改無線網(wǎng)卡驅(qū)動(dòng)[2],可以獲取正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing,OFDM)子載波中30個(gè)子載波的CSI。CSI描述了信號(hào)從發(fā)端到收端的衰減因子,包括散射、反射、路徑衰落等。通過對(duì)CSI的統(tǒng)計(jì),其結(jié)果描述了空間相關(guān)性,可以作為基于指紋定位的指紋信息。
目前,基于CSI的室內(nèi)定位研究已經(jīng)取得了一定的成果[3],達(dá)到了米級(jí)甚至亞米級(jí)的定位精度。文獻(xiàn)[4]利用CSI的頻率差異性,建立了CSI衰落與距離的模型,使用三邊測距定位,由于受帶寬的限制,多徑區(qū)分能力有限,測距精度不高,從而影響定位精度。文獻(xiàn)[5]利用CSI的頻率差異性,將30個(gè)信道CSI合成為5個(gè)子信道,并將多個(gè)天線的CSI求平均值處理,建立起一個(gè)基于概率模型的指紋定位模型。文獻(xiàn)[6]利用CSI信道間的關(guān)系提取指紋,建立了一個(gè)基于歐式距離作為相似度比較的指紋模型。
以上基于指紋的研究在提取指紋時(shí)都是將多個(gè)數(shù)據(jù)包的CSI做均值處理作為指紋。由于室內(nèi)多徑效應(yīng),CSI存在成簇分布的狀況,采用取平均值的方法不能很好地反映位置的多徑傳播,從而影響了定位精度。本文通過采用Kmeans聚類算法,提取多條CSI向量作為指紋來描述位置特性。實(shí)驗(yàn)證明,對(duì)比文獻(xiàn)[6]的CSI-MIMO算法,定位精度得到提高。
1 指紋定位系統(tǒng)模型
基于指紋的定位模型分為離線訓(xùn)練階段和在線定位階段,模型如圖1所示。
離線訓(xùn)練階段的任務(wù)是建立一個(gè)位置指紋數(shù)據(jù)庫。首先要選擇參考點(diǎn)的位置,然后在每個(gè)參考點(diǎn)處測量來自信標(biāo)的信號(hào)特征,最后處理信號(hào)特征保存在數(shù)據(jù)庫中。這個(gè)數(shù)據(jù)庫也被稱為位置指紋地圖。
在線定位階段是指通過測量獲得未知位置的信號(hào)特征并加以處理,通過相應(yīng)的匹配算法,比較測量數(shù)據(jù)與離線訓(xùn)練建立的數(shù)據(jù)庫中的數(shù)據(jù),找出相似的數(shù)據(jù),作為位置的估計(jì)值。
2 基于Kmeans的聚類的CSI室內(nèi)定位算法
2.1 離線訓(xùn)練階段
在室內(nèi)定位區(qū)域選定L個(gè)參考點(diǎn),參考點(diǎn)位置已知,采用二維坐標(biāo)(x,y)表示。在每個(gè)參考點(diǎn)接收n個(gè)CSI數(shù)據(jù)包。每個(gè)數(shù)據(jù)包有一個(gè)p×q×30的復(fù)數(shù)矩陣HMIMO,其中p為發(fā)射天線數(shù),q為接收天線數(shù)。m=p×q為天線對(duì)個(gè)數(shù)。
無線信號(hào)在室內(nèi)環(huán)境中存在著多徑傳播的情況,CSI幅值也受此影響,存在著成簇分布的情況,如圖2所示,簇內(nèi)CSI幅值多徑傳播經(jīng)相似。通過Kmeans算法處理相同天線對(duì)中n個(gè)數(shù)據(jù)包的CSI幅值。Kmeans算法能夠使聚類域中的所有CSI幅值向量到聚類中心距離的平方和最小。其原理為:
輸入:聚類個(gè)數(shù)k,包含n個(gè)數(shù)據(jù)對(duì)象的數(shù)據(jù)集。
輸出:k個(gè)聚類。
(1)從n個(gè)數(shù)據(jù)對(duì)象中任意選取k個(gè)對(duì)象作為初始的聚類中心。
(2)分別計(jì)算每個(gè)對(duì)象到各個(gè)聚類中心的距離,再把對(duì)象分配到距離最近的聚類中。
(3)所有對(duì)象分配完成后,重新計(jì)算k個(gè)聚類的中心。
(4)與前一次得到的k個(gè)聚類中心比較,如果聚類中心未發(fā)生變化,進(jìn)行下一步,否則轉(zhuǎn)到步驟(2)。
(5)輸出聚類結(jié)果。
通過此算法,從n個(gè)數(shù)據(jù)包的值中得到k個(gè)具有代表性的CSI幅值向量作為位置指紋fin:
根據(jù)已有文獻(xiàn)的實(shí)驗(yàn)觀測表明[7],超過80%的CSI幅值向量只存在4個(gè)以內(nèi)的分簇,但是由于實(shí)際的測量過程中存在干擾,分簇?cái)?shù)目增加,所以本算法中設(shè)置分簇個(gè)數(shù)k=10。
對(duì)于單個(gè)天線對(duì)得到fin,對(duì)于m個(gè)天線的每個(gè)天線對(duì)使用Kmeans算法,得到訓(xùn)練向量:
2.2 在線定位階段
在線定位階段采用與離線訓(xùn)練階段相同的方法提取到m個(gè)天線對(duì)的指紋:
將提取到的指紋與訓(xùn)練階段建立的數(shù)據(jù)庫中的指紋作比較,即將獲取到的第i個(gè)天線對(duì)的指紋矩陣與數(shù)據(jù)庫中的第i個(gè)天線對(duì)的指紋矩陣,進(jìn)行兩個(gè)指紋矩陣中任意兩個(gè)CSI幅值向量i與j歐式距離的比較:
由于歐式距離反映了兩個(gè)向量之間的“不相關(guān)性”,即數(shù)值越大,相關(guān)性越低,數(shù)值越小,相關(guān)性越高。因此,關(guān)注這些距離中數(shù)值較小的作為測試點(diǎn)與訓(xùn)練點(diǎn)之間相似度比較的一個(gè)依據(jù)。所以不再考慮天線對(duì),將m個(gè)天線對(duì)的所有歐式距離從小到大排列,共有10×m個(gè)距離:
在得到測試點(diǎn)與所有訓(xùn)練點(diǎn)之間的距離之后,使用K近鄰算法,從中選出距離較小的K個(gè)位置坐標(biāo)平均作為位置估計(jì)坐標(biāo),本文中K=3。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)設(shè)置
為評(píng)估算法的定位精度,在家庭客廳及其走廊的環(huán)境下測試。共選有22個(gè)參考節(jié)點(diǎn),相鄰參考節(jié)點(diǎn)之間的距離為0.8 m,在參考節(jié)點(diǎn)之間有30個(gè)測試節(jié)點(diǎn)。實(shí)驗(yàn)中使用FAST無線AP作為發(fā)射端,使用裝配有Intel WiFi Link 5300網(wǎng)卡的ThinkPad R400作為接收端。接收端使用CSITOOL軟件接收CSI。訓(xùn)練階段,在訓(xùn)練節(jié)點(diǎn)接收1 000個(gè)數(shù)據(jù)包的CSI。定位階段,在測試節(jié)點(diǎn)接收數(shù)據(jù)包100個(gè)。如圖3所示,測試環(huán)境建立的二維坐標(biāo)系,其中“★”代表AP位置,“▲”代表參考點(diǎn)位置,“◆”代表測試點(diǎn)的位置。
將本算法與CSI-MIMO算法作比較,比較的性能由平均定位精度與累積誤差分布函數(shù)(Cumulative Distribution Function,CDF)圖來表示定位性能。
3.2 參數(shù)設(shè)置
采用不同的T值進(jìn)行試驗(yàn)評(píng)估,T值的選擇對(duì)于定位精度有一定的影響。試驗(yàn)分別從T值為10、20、30、40、50、60進(jìn)行測試,結(jié)果如圖4所示。當(dāng)T值為10時(shí),定位精度最高,平均定位精度為1.65 m。CSI-MIMO在同樣的測試環(huán)境下平均定位精度為2.18 m,提高了24%。
在T為10的情況下,對(duì)比本算法與CSI-MIMO的CDF,如圖5所示,50%的定位誤差都在1.34 m以內(nèi),優(yōu)于CSI-MIMO算法。
3.3 定位時(shí)間
定位時(shí)間分為數(shù)據(jù)包接收時(shí)間和程序處理時(shí)間。CSITOOl軟件每秒大約能接收20個(gè)數(shù)據(jù)包,接收100個(gè)數(shù)據(jù)包需要5 s。執(zhí)行定位程序的時(shí)間大約為0.5 s,所以完成一次定位的時(shí)間大約為5.5 s。
4 結(jié)論
本文提出了一種基于Kmeans聚類算法提取室內(nèi)環(huán)境多徑傳播特征的指紋算法,利用CSI的頻率特性與MIMO的空間特性,所獲取的指紋較以往算法有更好的空間區(qū)分性。由于CSI的測量值存在誤差,使用聚類算法生成的多個(gè)特征向量能夠在一定程度上減小測量誤差所帶來的影響,從而提高了定位精度。下一步準(zhǔn)備從匹配算法入手進(jìn)行改進(jìn),進(jìn)一步提高定位精度。
參考文獻(xiàn)
[1] IEEE Std 802.11n-2009.IEEE standard for information technology—Local and metropolitan area networks—Specific requirements—Part 11:Wireless LAN medium access control(MAC) and physical layer(PHY) specifications amendment 5:Enhancements for higher throughput[S].
[2] HALPERIN D,HU W,SHETH A,et al.Tool release:gathering 802.11n traces with channel state information[J].ACM Sigcomm Computer Communication Review,2011,41(1):53-53.
[3] YANG Z,ZHOU Z,LIU Y.From RSSI to CSI: Indoor localization via channel response[J].ACM Computing Surveys,2013,46(2):25.
[4] WU K,XIAO J,YI Y,et al.FILA:fine-grained indoor localization[J].Proceedings IEEE INFOCOM,2012,131(5):2210-2218.
[5] XIAO J,WU K,YI Y,et al.FIFS:fine-grained indoor fingerprinting system[C].International Conference on Computer Communications and Networks,2012:1-7.
[6] CHAPRE Y,IGNJATOVIC A,SENEVIRATNE A,et al.CSI-MIMO:an efficient Wi-Fi fingerprinting using channel state information with MIMO[J].Pervasive & Mobile Computing,2015,23:89-103.
[7] SEN S,CHOUDHURY R R,RADUNOVIC B,et al.Precise indoor localization using PHY layer information[C].Proceedings of the 10th ACM Workshop on Hot Topics in Networks,ACM,2011:1-6.