張會清, 王宇桐
(1.北京工業(yè)大學(xué)信息學(xué)部, 北京 100124; 2.數(shù)字社區(qū)教育部工程研究中心, 北京 100124;3.城市軌道交通北京實驗室, 北京 100124)
通信技術(shù)的飛速發(fā)展與智能設(shè)備的普及,使基于位置的信息服務(wù)在現(xiàn)代社會中得到了進(jìn)一步推廣,隨之而來的是對定位服務(wù)準(zhǔn)確性與穩(wěn)定性的更高要求[1]. 在定位服務(wù)體系中,室外定位系統(tǒng)日臻成熟. 然而在植被、建筑外墻等障礙物的阻礙下,室內(nèi)接收機很難收到準(zhǔn)確可靠的衛(wèi)星信號,使得衛(wèi)星導(dǎo)航難以應(yīng)用于室內(nèi)位置服務(wù). 鑒于現(xiàn)代人生活平均有80%的時間處于室內(nèi)場景,在復(fù)雜室內(nèi)環(huán)境下準(zhǔn)確獲取位置信息具有廣闊應(yīng)用前景.
人們生活環(huán)境中Wi-Fi信號的覆蓋極廣,設(shè)備搭建簡易,成本低廉,因此,Wi-Fi室內(nèi)定位技術(shù)具有廣闊的發(fā)展前景[2]. 在IEEE 802.11n協(xié)議[3]下正交頻分復(fù)用(orthogonal frequency division multiplexing, OFDM)技術(shù)在頻域會將通信鏈路劃分為多個正交子信道,信號在發(fā)射端被分配到不同子載波上進(jìn)行疊加后并行傳輸,在接收端通過快速傅里葉變換解調(diào)復(fù)現(xiàn)[4-5]. 信道狀態(tài)信息(channel state information, CSI)是物理層通信鏈路屬性,本質(zhì)為每個載波上的衰弱因子,包含功率衰減、相位偏移等信息,記載了無線信號的多徑傳播過程,是對信號傳播過程的細(xì)粒度描述. 無線信號多徑結(jié)構(gòu)具有獨特性,因此,CSI可作為定位系統(tǒng)中描述不同物理位置的唯一標(biāo)簽[6]. 近年來,基于CSI的室內(nèi)定位技術(shù)越來越受到研究者重視,通過指紋匹配、測距建模等原理實現(xiàn)了一些定位系統(tǒng)[7-9]. 其中指紋匹配定位方案避免了復(fù)雜的傳播模型建模過程,一定程度上減少了非視距效應(yīng)的不良影響,逐漸成為研究熱點.
CSI指紋匹配定位技術(shù)包含離線建立指紋數(shù)據(jù)庫以及在線實時定位2個階段,離線階段需在不同參考點采集接入點(access point, AP)信號,結(jié)合當(dāng)前物理坐標(biāo)生成指紋數(shù)據(jù)存入數(shù)據(jù)庫. 在線階段通過預(yù)測算法對實時CSI完成位置估計. 即便CSI能夠作為更細(xì)粒度的信號指紋,現(xiàn)階段基于CSI的室內(nèi)定位方案仍存在缺陷:復(fù)雜環(huán)境下信道的不確定衰落影響了數(shù)據(jù)穩(wěn)定性;Wi-Fi多天線結(jié)構(gòu)使CSI數(shù)據(jù)維度高,占用存儲空間大;等等.
針對上述問題,Xiao等[10]使用各天線子載波上CSI的功率均值作為物理位置表示,建立定位指紋庫,減少了信號波動帶來的負(fù)面影響,實時定位階段通過概率模型完成定位;Chapre等[11]提出的CSI-MIMO利用信道時變性,在離線階段將CSI在子載波、收發(fā)天線維度的幅值相位信息進(jìn)行數(shù)據(jù)融合,使用融合數(shù)據(jù)的相對變化量作為定位依據(jù)建立新型指紋庫,在在線階段通過機器學(xué)習(xí)模型解算目標(biāo)位置;Wang等[12-13]提出的DeepFi、PhaseFi在離線階段分別解析了CSI的幅值數(shù)據(jù)與相位數(shù)據(jù). 首先,通過訓(xùn)練受限玻爾茲曼機(restricted Boltzmann machine,RBM)采集二分圖網(wǎng)絡(luò)權(quán)重并將其作為指紋數(shù)據(jù);然后,壓縮指紋庫體積,在在線階段使用實時數(shù)據(jù)訓(xùn)練RMB,獲取網(wǎng)絡(luò)權(quán)重;最后,通過貝葉斯分類器實現(xiàn)指紋匹配,進(jìn)一步提升了定位精度.
本文針對CSI數(shù)據(jù)室內(nèi)定位應(yīng)用中存在數(shù)據(jù)冗余大、解析復(fù)雜的問題,將表示學(xué)習(xí)引入指紋定位的特征提取任務(wù),提出了基于堆疊稀疏自動編碼器(stacked sparse auto-encoder, SSAE)[14]結(jié)合支持向量機(support vector machine, SVM)[15-16]的CSI室內(nèi)定位方法SSAE-SVM. 單AP采集的CSI經(jīng)預(yù)處理輸入SSAE后,取編碼網(wǎng)絡(luò)部分的輸出向量作為初始指紋的低維稀疏表示,建立稀疏特征指紋庫;將指紋庫作為模型訓(xùn)練集,通過SVM建立稀疏指紋與實際物理位置的映射關(guān)系. 該方案能夠在壓縮指紋庫體積的同時進(jìn)一步提升CSI室內(nèi)定位系統(tǒng)的運行效率與精確度.
本文提出的定位方法包括離線與在線2個階段. 離線階段需要對CSI指紋進(jìn)行采集與預(yù)處理,通過迭代訓(xùn)練更新SSAE特征提取網(wǎng)絡(luò)權(quán)值矩陣,建立稀疏特征指紋庫并訓(xùn)練SVM分類模型;在線階段需要對用戶實時采集的CSI流數(shù)據(jù)進(jìn)行預(yù)處理,然后使用離線階段保存的SSAE網(wǎng)絡(luò)模型與SVM分類器完成稀疏編碼、位置解算,最終輸出定位坐標(biāo). 具體定位系統(tǒng)結(jié)構(gòu)如圖1所示.
圖1 定位系統(tǒng)結(jié)構(gòu)Fig.1 Principle of positioning system
通過開源工具[17]修改網(wǎng)卡底層驅(qū)動,可通過支持IEEE 802.11n標(biāo)準(zhǔn)的商用無線網(wǎng)卡以數(shù)據(jù)包形式采集收發(fā)設(shè)備間CSI. 數(shù)據(jù)包內(nèi)為復(fù)數(shù)形式的CSI矩陣,可用于后續(xù)幅值、相位信息的解析. OFDM信道在頻域可近似建模為
Y=HX+n
(1)
Hi=|Hi|ej∠Hi
(2)
式中:Y表示接收信號向量;X為發(fā)射信號向量;H為CSI矩陣;n為高斯噪聲向量;i為子載波序號;幅值信息|Hi|為功率衰減的映射;相位信息∠Hi為相位偏移.
在環(huán)境干擾、設(shè)備不穩(wěn)定、信道不確定衰落等因素的影響下,直接提取的幅值與相位信息包含異常值,對定位精度有很大影響.本文采用Hampel濾波器[18]對CSI幅值信息進(jìn)行濾波處理,計算表達(dá)式為
(3)
并對初始CSI數(shù)據(jù)以一定間隔劃分滑動窗口.式中:ai,j為第i個滑動窗口的第j個幅值數(shù)據(jù);mi為第i個滑動窗口的中位數(shù);e為可調(diào)節(jié)的權(quán)重因數(shù);Di為中值絕對誤差(median absolute deviation, MAD),是第i個窗口中各數(shù)據(jù)對mi差值的中位數(shù).圖2為濾波前后位置不變情況下某天線對不間斷采集50個數(shù)據(jù)包解析出的載波幅值的疊加圖形.圖中橫軸為子載波序號,20 MHz頻寬下OFDM系統(tǒng)中信道被劃分為30個子載波;縱軸為不同數(shù)據(jù)包的載波幅值.可見該算法能夠?qū)崿F(xiàn)對異常值的準(zhǔn)確識別,同時具有比例不變性,能夠為數(shù)據(jù)質(zhì)量帶來有效提升.
圖2 濾波前后幅值波形Fig.2 Amplitude waveform before and after filtering
由于收發(fā)設(shè)備存在時鐘同步誤差,中心頻率不一致,不同周期載波相位存在重疊現(xiàn)象,導(dǎo)致CSI相位測量值與真實值存在殘差[19].假設(shè)第i個子載波的采集相位為i,則有
(4)
(5)
某天線對原始相位、線性變換校正后的相位波形對比如圖3所示.
圖3 校正前后數(shù)據(jù)相位波形Fig.3 Phase waveform before and after correction
鑒于CSI中幅值與相位信息量綱不一致,若同時提升神經(jīng)網(wǎng)絡(luò)收斂效率,則初始位置指紋需要進(jìn)行歸一化
(6)
式中:fi,j為第j個指紋特征的第i個數(shù)據(jù)點;max(fj)、min(fj)分別為第j個指紋特征的全局最大、最小值.歸一化后的CSI指紋聯(lián)立生成初始指紋數(shù)據(jù)庫,準(zhǔn)備進(jìn)一步進(jìn)行特征提取.
為滿足實際需求,需對CSI數(shù)據(jù)進(jìn)行特征選擇. CSI數(shù)據(jù)在特征空間呈非線性,不適合采用主成分分析法(principle component analysis, PCA)等線性降維方法[21]. 針對上述問題,設(shè)計搭建了基于堆疊稀疏自編碼器(sparse auto-encoder, SAE)結(jié)構(gòu)的深層編碼網(wǎng)絡(luò)SSAE作為特征提取算法. 每個離線指紋庫中的指紋數(shù)據(jù)作為樣本輸入特征提取網(wǎng)絡(luò),通過迭代訓(xùn)練優(yōu)化樣本的重構(gòu)誤差,最終取SSAE網(wǎng)絡(luò)輸出的稀疏向量作為實際使用的定位指紋. SSAE算法本身魯棒性強,提取的定位指紋具有低維稀疏性,能夠在凝練有效特征的同時兼具低空間占用.
自動編碼器(auto-encode, AE)的基本結(jié)構(gòu)為3層對稱神經(jīng)網(wǎng)絡(luò),如圖4所示. 設(shè)初始CSI指紋為n維向量x,編碼輸出為d維向量h,解碼輸出為n維向量y.編碼輸出h為
圖4 自動編碼器基本結(jié)構(gòu)Fig.4 Basic structure of auto-encoder
h=g(Wx+b1)
(7)
得到編碼壓縮輸出h后,解碼輸出y為
y=g(Vh+b2)
(8)
式中:函數(shù)g為激活函數(shù);W、V分別為編碼器與解碼器的權(quán)重矩陣;b1與b2為兩者偏置向量.在上述基礎(chǔ)上,通過在代價函數(shù)中增加KL(Kullback-Leibler)散度[22]引導(dǎo)輸出向量稀疏獲得稀疏自動編碼器.KL散度計算公式為
(9)
對初始指紋數(shù)據(jù)集X中的指紋x,設(shè)p(x)為期望稀疏指紋分布,q(x)為初始指紋真實分布,兩分布的匹配程度與KL散度輸出值成正相關(guān).SAE網(wǎng)絡(luò)收斂期望解碼輸出變量能夠盡量無損地重構(gòu)輸入樣本,代價函數(shù)通過重構(gòu)誤差結(jié)合期望分布與樣本分布KL散度計算得來,公式為
(10)
式中:x(i)為第i個訓(xùn)練樣本;y(i)為第i個解碼輸出;m為指紋樣本總數(shù);β為稀疏項系數(shù);p為稀疏常數(shù),用于代表期望的稀疏分布;qj表示編碼器輸出值中第j個特征的平均激活度.訓(xùn)練階段通過反向傳播迭代更新權(quán)值矩陣.當(dāng)最終重構(gòu)誤差達(dá)到全局最小值時,認(rèn)為輸出的稀疏編碼為原始樣本的潛在空間表示.
SSAE編碼網(wǎng)絡(luò)層與層之間的映射關(guān)系由多個SAE編碼部分組成,下層網(wǎng)絡(luò)映射對象為上層SAE的編碼輸出. 解碼網(wǎng)絡(luò)結(jié)構(gòu)與編碼網(wǎng)絡(luò)結(jié)構(gòu)成鏡像對稱,最終輸出重構(gòu)樣本. SSAE具有深度網(wǎng)絡(luò)的強擬合能力,將特征提取轉(zhuǎn)換為逐層遞進(jìn)過程,逐步逼近低維編碼表示的最優(yōu)解. SSAE基本網(wǎng)絡(luò)結(jié)構(gòu)見圖5.
圖5 SSAE網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.5 Basic structure of SSAE network
本文特征提取網(wǎng)絡(luò)SSAE的訓(xùn)練主要分為以下2個過程.
1) 貪心逐層預(yù)訓(xùn)練.
每次針對一個SAE進(jìn)行迭代訓(xùn)練,取得網(wǎng)絡(luò)參數(shù)后保存,輸出向量作為下組SAE的輸入,進(jìn)而建立深度網(wǎng)絡(luò). 預(yù)訓(xùn)練目的為最小化每個編碼層對上層輸出的重構(gòu)誤差,降低每個編碼層輸出對原始指紋樣本的信息損耗.
2) 微調(diào).
建立與編碼網(wǎng)絡(luò)結(jié)構(gòu)成鏡像對稱的解碼網(wǎng)絡(luò),然后直接對整體深度網(wǎng)絡(luò)進(jìn)行反向傳播迭代訓(xùn)練,并對網(wǎng)絡(luò)參數(shù)進(jìn)行進(jìn)一步優(yōu)化調(diào)整,最小化解碼復(fù)現(xiàn)數(shù)據(jù)與原始數(shù)據(jù)的重構(gòu)誤差.
逐層預(yù)訓(xùn)練與微調(diào)激勵了每個隱層輸出對原始數(shù)據(jù)的關(guān)系,弱化了冗余特征與噪聲影響,使編碼網(wǎng)絡(luò)尾層輸出成為原始指紋數(shù)據(jù)的低維稀疏表示[23]. SSAE稀疏特征提取與建庫的具體流程如下所述.
步驟1確定學(xué)習(xí)率、各隱含層層數(shù)、各層神經(jīng)元個數(shù)等參數(shù). 設(shè)置各層預(yù)訓(xùn)練迭代次數(shù)Ep、微調(diào)迭代次數(shù)Ef等網(wǎng)絡(luò)參數(shù),搭建SSAE網(wǎng)絡(luò).
轉(zhuǎn)發(fā)錦鯉的背后,是人們對吉祥歡樂、好運的向往,盡管只有千萬分之幾乃至更低的中獎幾率,這種人性的需求是不會過時的。此外,轉(zhuǎn)發(fā)一條企業(yè)的相關(guān)微博,并不需要很高的成本,也不需要花費很多的時間成本,因此即便是小概率的中獎幾率,加上錦鯉的寓意以及吸引力極強的禮單,使得人們都抱有試一試的心態(tài),是一種“高投機性行為”。
步驟2輸入初始CSI指紋數(shù)據(jù),為當(dāng)前隱層建立編碼- 解碼結(jié)構(gòu),生成臨時SAE. 設(shè)置編碼器激活函數(shù)為sigmoid函數(shù),對輸入指紋z的輸出為
(11)
解碼器同樣使用sigmoid函數(shù)作為激活函數(shù).
步驟3結(jié)構(gòu)確定后開始進(jìn)行無監(jiān)督預(yù)訓(xùn)練,更新層間權(quán)值、偏置矩陣.網(wǎng)絡(luò)權(quán)值更新采用反向傳播法,更新表達(dá)式為
(12)
(13)
步驟4進(jìn)入下一隱層,重復(fù)步驟2、3,直到所有隱層對應(yīng)SAE全部訓(xùn)練完畢.
步驟5將已生成網(wǎng)絡(luò)的權(quán)重矩陣作為初始化值,在網(wǎng)絡(luò)末尾添加相反結(jié)構(gòu)的解碼網(wǎng)絡(luò),權(quán)值矩陣為編碼網(wǎng)絡(luò)的轉(zhuǎn)置,重新訓(xùn)練深度網(wǎng)絡(luò)并對網(wǎng)絡(luò)整體進(jìn)行權(quán)值微調(diào),迭代次數(shù)為Ef.
步驟6舍棄解碼網(wǎng)絡(luò),保存編碼網(wǎng)絡(luò)模型. 取編碼網(wǎng)絡(luò)尾層輸出數(shù)據(jù)作為最終CSI指紋,生成稀疏特征指紋庫.
wTφ(x)+b=0
(14)
(15)
式中:ξi為松弛變量;C為懲罰因子.采用拉格朗日乘子法求解二次規(guī)劃問題,得
(16)
式中λi、μi為拉格朗日乘子.新目標(biāo)函數(shù)對(w,b,ξi)是無約束問題,使其目標(biāo)函數(shù)對變量(w,b,ξi)導(dǎo)函數(shù)為0并帶回原函數(shù).至此最優(yōu)化問題化簡為
(17)
目標(biāo)函數(shù)通過核函數(shù)k代替內(nèi)積運算過程.選擇核函數(shù)為徑向基函數(shù)(radial basis function, RBF),映射方程為
(18)
式中參數(shù)γ為自由參數(shù),用于控制單個訓(xùn)練樣本在目標(biāo)函數(shù)求解過程中的影響程度.核函數(shù)方法既為SVM分類器提升了非線性擬合能力,同時避免了在高維特征空間計算內(nèi)積消耗大量的運算資源的問題.最終結(jié)合最優(yōu)超平面函數(shù)與符號函數(shù)sign得到分類判別函數(shù)
(19)
在線定位階段,SVM模型的輸入為CSI實時稀疏編碼,最終定位結(jié)果取為SVM輸出定位結(jié)果的加權(quán)均值.假設(shè)分類器在某參考點共輸出N個分類結(jié)果,每個分類器輸出為(xl,yl),l∈[1,N],則最終定位結(jié)果計算方式為
(20)
為驗證本文提出方法的有效性,選擇了北京工業(yè)大學(xué)科學(xué)樓1021實驗室作為實際實驗場景,實驗面積16 m×6 m. 該場景下布置有較多的桌椅、書柜、隔斷板等物品. 平面圖如圖6所示,在定位區(qū)域以1 m為間隔共設(shè)置了56個參考點建立初始指紋庫,用作定位算法的初始訓(xùn)練集與驗證集. 圖中黑色星型為視距(line of sight,LOS)指紋測試點,白色星型為非視距(non line of sight,NLOS)指紋測試點,每個參考點處以100 ms的采集間隔采集500個數(shù)據(jù)包. 同時在該覆蓋范圍內(nèi)隨機設(shè)置29個額外參考點采集測試數(shù)據(jù),LOS參考點17個,NLOS參考點12個. 每個額外參考點以100 ms為采集間隔采集200個數(shù)據(jù)包. 其中,定位性能綜合評價標(biāo)準(zhǔn)為平均定位誤差以及誤差的累計分布函數(shù)(cumulative distribution function,CDF).
圖6 實驗區(qū)域平面Fig.6 Plan of experimental area
實驗設(shè)備采用裝有三天線Intel 5300 AGN無線網(wǎng)卡的個人電腦,信號發(fā)射端為TP-LINK三天線無線路由器,經(jīng)開源工具CSI TOOL修改網(wǎng)卡驅(qū)動后進(jìn)行CSI數(shù)據(jù)采集. 定位算法通過Pytorch深度學(xué)習(xí)工具庫結(jié)合Libsvm工具包開發(fā)實現(xiàn). 確定網(wǎng)絡(luò)深度后,使用粒子群優(yōu)化算法確定各層神經(jīng)元個數(shù),設(shè)置初始離散種群粒子數(shù)為60,加速常數(shù)c1=c2=1.5,慣性因子0.85,粒子最大飛翔速度0.20,最大迭代次數(shù)為200,適應(yīng)度函數(shù)設(shè)置為樣本重構(gòu)誤差,粒子收斂后獲得SSAE網(wǎng)絡(luò)結(jié)構(gòu). 參與對比實驗的SVM分類器均通過十折交叉驗證與網(wǎng)格搜索確定最優(yōu)參數(shù). 經(jīng)調(diào)優(yōu)驗證,設(shè)置SSAE網(wǎng)絡(luò)隱層l=2,網(wǎng)絡(luò)結(jié)構(gòu)為540-269-113-40,指紋維度為40,預(yù)訓(xùn)練每輪編碼層迭代次數(shù)為150,整體微調(diào)迭代次數(shù)為200. 設(shè)置SVM懲罰因子C=0.9,核函數(shù)k為RBF函數(shù),核函數(shù)中自由參數(shù)γ=0.001. 最終采用的稀疏指紋集較原始CSI所占空間下降92.6%.
為驗證不同自動編碼器結(jié)構(gòu)提取的稀疏特征對定位精度影響,搭建了不同結(jié)構(gòu)的特征提取網(wǎng)絡(luò)進(jìn)行定位誤差對比實驗. 如表1所示,對照實驗定位算法分別選取未進(jìn)行特征提取、經(jīng)AE單層網(wǎng)絡(luò)特征提取、經(jīng)SAE單層網(wǎng)絡(luò)稀疏特征提取、經(jīng)SSAE深層網(wǎng)絡(luò)稀疏特征提取的CSI指紋庫與SVM分類器結(jié)合,進(jìn)行誤差對比與分析. 由實驗結(jié)果可見,經(jīng)過自編碼器特征提取后的定位系統(tǒng)取得了更好的定位效果. SAE、SSAE提取的指紋特征平均定位誤差較AE分別提升了31.7%與42.5%. SSAE平均定位誤差達(dá)到1.205 m,在不同規(guī)模測試樣本集中均獲得了最優(yōu)定位精度. 這一結(jié)果的出現(xiàn)是由于深層神經(jīng)網(wǎng)絡(luò)具有更強的數(shù)據(jù)擬合能力,在此基礎(chǔ)上SSAE的稀疏性使新指紋空間內(nèi)局部特征表征能力增強,提升了特征學(xué)習(xí)與分類器效率.
表1 不同結(jié)構(gòu)自編碼器結(jié)合SVM的定位誤差對比Table 1 Comparison of positioning errors between different auto-encoders and SVM m
SSAE指紋提取后的特征維度數(shù)對定位精度同樣有較大影響. 設(shè)SSAE輸出指紋空間維度為k,取值范圍設(shè)置為10~100. 如圖7所示,定位誤差首先隨著k的增大逐漸減小,在k=40處出現(xiàn)拐點,此時定位誤差為1.205 m;隨后定位誤差呈類似階梯形式的上升. 可見定位誤差與k無線性關(guān)系,這一現(xiàn)象是由于特征過少使編碼過程更容易損失有效信息,過高的維度則易引入噪聲特征,降低分類器效率.
圖7 不同k值設(shè)置對應(yīng)的平均定位誤差Fig.7 Change of the average positioning error with the change of k
SVM核函數(shù)為分類器帶來區(qū)分線性不可分?jǐn)?shù)據(jù)的能力,因此,核函數(shù)的選擇對SVM準(zhǔn)確率、時間消耗具有較大影響. 鑒于指紋數(shù)據(jù)集具有高維線性不可分性,同時Wi-Fi信號在穩(wěn)定環(huán)境下的陰影效應(yīng)遵循正態(tài)分布,本文選擇RBF作為SVM的核函數(shù). 為證明其有效性,本實驗將其與常用核函數(shù):Linear、Sigmoid、Poly進(jìn)行對比. 對比結(jié)果如表2所示,RBF核SVM得到了最小的平均定位誤差.
表2 不同核函數(shù)SVM定位誤差與定位耗時對比Table 2 Comparison of positioning error and positioning time between different kernel functions
Linear核SVM盡管能夠在極短時間內(nèi)實現(xiàn)定位,但會將平均定位誤差提升0.319 m,定位效果差.
2.3.1 不同特征提取算法效果對比
本文將SSAE定位方法與傳統(tǒng)線性特征提取算法PCA和奇異值分解(singular value decomposition,SVD)、非線性特征提取算法核主成分分析(kernel principle component analysis,KPCA)進(jìn)行了性能對比. 對比算法均通過交叉驗證與網(wǎng)格搜索在解空間調(diào)整為最優(yōu)參數(shù),其中KPCA、PCA均將指紋空間壓縮至35維,SVD壓縮至45維,KPCA核函數(shù)為RBF. 如圖8所示,實驗結(jié)果表明本文方法的定位誤差范圍與精度均優(yōu)于其他算法. 由于PCA與SVD均為線性非監(jiān)督降維模型,在CSI指紋數(shù)據(jù)上表現(xiàn)相近且效果不佳. SSAE與KPCA均具有非線性擬合能力,更適用本文采用的數(shù)據(jù)集,但KPCA本質(zhì)是使用核矩陣代替內(nèi)積矩陣的PCA算法,核函數(shù)映射能力帶來的效果提升有限,導(dǎo)致最終定位效果雖優(yōu)于線性降維模型但仍造成較大的累積誤差.
圖8 不同特征提取算法累積概率分布Fig.8 Different feature extraction algorithms cumulative probability distribution
2.3.2 不同分類器定位性能對比
在稀疏特征指紋庫的基礎(chǔ)上,將本文算法與多種分類器算法進(jìn)行比較. 對照算法包含決策樹(decision-making tree, DT)、隨機森林(random forest, RF)、梯度提升樹(gradient boosted decision tree, GBDT),各算法均經(jīng)過網(wǎng)格搜索調(diào)優(yōu)參數(shù)設(shè)置. 如圖9與表3所示,可以看出SVM在稀疏指紋集上能實現(xiàn)更為準(zhǔn)確的定位. 本文算法較GBDT將定位誤差下降約34.3%,較KNN下降約17.4%. 實驗中DT模型普遍定位精度較低,部分測試點出現(xiàn)了嚴(yán)重誤判. 這是由于在稀疏指紋集中,DT模型基于信息熵的貪心節(jié)點分裂策略具有誤導(dǎo)性,破壞局部特征關(guān)聯(lián).
圖9 不同定位算法在SSAE稀疏指紋集上的累積概率分布Fig.9 Cumulative probability distributions of different localization algorithms on SSAE sparse fingerprint sets
表3 不同算法在SSAE稀疏指紋集上的定位誤差對比Table 3 Comparison of positioning errors between different algorithms on SSAE sparse fingerprint sets
表3給出了相同測試環(huán)境下各算法的單點平均定位耗時. 本文實驗的采集設(shè)備為DELL個人電腦,實驗環(huán)境為Ubuntu 12.04LTS系統(tǒng),硬件配置采用Intel Core i5 3210M CPU,主頻2.5 GHz,內(nèi)存8 GB. 本實驗中KNN定位算法的單點定位耗時最高,這是由于KNN在定位階段會將實時指紋與指紋庫內(nèi)指紋進(jìn)行了全量的距離運算,導(dǎo)致定位效率低下. 實驗中其他的定位算法耗時較為相似,盡管結(jié)構(gòu)相對簡單的DT模型定位耗時較少,但其定位精度難以滿足應(yīng)用場景的定位需要. 本文定位算法位置解算平均耗時0.695 s,能夠在常見室內(nèi)場景下兼顧實時性與高精確度.
2.3.3 LOS、NLOS定位效果分析
表4給出了LOS與NLOS測試點下本文方法定位效果,并與CSI-MIMO[11]指紋提取方案結(jié)合KNN與SVM定位算法的效果比較. 實驗表明,LOS環(huán)境下各算法均能達(dá)到比NLOS環(huán)境更好的定位效果. 由于CSI-MIMO特征提取依據(jù)為相鄰采集數(shù)據(jù)包間信道幅值、相位信息的變化情況,NLOS下CSI隨機衰落較為明顯,導(dǎo)致該算法定位精度較差. 本文方法在LOS與NLOS環(huán)境中定位誤差均低于CSI-MIMO,在LOS環(huán)境中平均定位誤差比CSI-MIMO結(jié)合SVM的定位方案降低0.492 m,比NLOS環(huán)境下降低1.071 m,綜合平均定位誤差降低約37.4%.
表4 本文方法與其他定位方法的定位誤差對比Table 4 Comparison of positioning errors of the proposed method and other positioning methods m
1) 設(shè)計搭建了基于SSAE的CSI指紋特征提取算法,提取到的稀疏特征指紋通過SVM分類器完成坐標(biāo)解算. 該算法具有高定位精度且實時性能夠滿足日常室內(nèi)定位需求.
2) 建立稀疏特征指紋庫,大幅降低CSI指紋所需的存儲開銷及定位系統(tǒng)效率.
3) 后續(xù)工作中,為實現(xiàn)對更大范圍室內(nèi)環(huán)境與場景切換時的精確定位,在多AP環(huán)境背景下開展稀疏編碼對更高維度指紋集的解析方法研究.