王旭東 劉 帥 吳 楠
(大連海事大學(xué)信息科學(xué)技術(shù)學(xué)院 大連 116000)
隨著智能移動設(shè)備的快速發(fā)展,物聯(lián)網(wǎng)時代的到來,使得人們對于定位服務(wù)的需求日益強(qiáng)烈[1–3],例如醫(yī)療保健和災(zāi)害管理中的室內(nèi)導(dǎo)航、位置追蹤等[4–7]。目前存在的室內(nèi)定位技術(shù)主要有藍(lán)牙、Wi-Fi、超帶寬、射頻識別和可見光等[8–12],其中Wi-Fi由于成本低、部署方便、覆蓋范圍廣等特點(diǎn),在室內(nèi)定位中得到了廣泛的應(yīng)用[13,14]。
Wi-Fi指紋室內(nèi)定位系統(tǒng)采用接收信號強(qiáng)度(Received Signal Strength, RSS)作為指紋最為廣泛,因?yàn)镽SS獲取簡單,硬件實(shí)現(xiàn)復(fù)雜度較低[15,16]。文獻(xiàn)[17]提出了第1個采用RSS作為指紋的RADAR室內(nèi)定位系統(tǒng),通過建立信號傳播模型實(shí)現(xiàn)定位估計。為了進(jìn)一步提高定位精度,文獻(xiàn)[18]提出了Horus系統(tǒng),定位時使用了概率方法,每個候選位置坐標(biāo)被視為一個類別,較RADAR獲得了更好的定位效果。上述文獻(xiàn)所采用的定位方法均為傳統(tǒng)的匹配算法。與此同時,深度學(xué)習(xí)技術(shù)的發(fā)展,為利用神經(jīng)網(wǎng)絡(luò)提取指紋信息特征提供了有效途徑。文獻(xiàn)[19]將運(yùn)動軌跡與RSS結(jié)合,通過長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)提取運(yùn)動軌跡中RSS的變化特征,取得了0.75 m的平均誤差,但需要利用6個接入節(jié)點(diǎn)(Access Point, AP)進(jìn)行數(shù)據(jù)接收。采用RSS作為指紋雖然有獲取簡單的優(yōu)點(diǎn),但無法進(jìn)一步提高定位的精準(zhǔn)度。一方面是由于RSS在復(fù)雜的室內(nèi)環(huán)境中波動起伏較為嚴(yán)重,通常對于連續(xù)的接收數(shù)據(jù)包,RSS是不穩(wěn)定的。另一方面,RSS對于每個AP只能提供一個粗略的信號強(qiáng)度值[20]。
近年來,得益于Wi-Fi無線網(wǎng)卡Intel 5300[21]和Atheros AR9580[22]的驅(qū)動開源,從而使得提取信道狀態(tài)信息(Channel State Information, CSI)成為可能。和RSS相比,CSI具備以下優(yōu)點(diǎn):(1)對于一個接收數(shù)據(jù)包,CSI可以得到無線信道中30個子載波的信道頻率響應(yīng)(Channel Frequency Response,CFR),即CSI是一種細(xì)粒度的信息;(2)CSI對于環(huán)境變動更加敏感,作為位置指紋來分辨位置特征更加有效;(3)對于固定位置,CSI的分組接收數(shù)據(jù)包比RSS更加穩(wěn)定[23]。文獻(xiàn)[24]提出了DeepFi系統(tǒng),通過提取3個天線90個子載波的幅度信息作為指紋,然后利用受限玻爾茲曼機(jī)(Restricted Boltzmann Machine, RBM)來為每個參考點(diǎn)訓(xùn)練指紋特征,定位時采用基于徑向基函數(shù)(Radial Basic Function,RBF)的概率算法來估計位置坐標(biāo)。DeepFi系統(tǒng)只采用了CSI的幅度信息作為指紋,且需要為每個參考位置單獨(dú)訓(xùn)練一組權(quán)重,因此在定位精準(zhǔn)度和計算復(fù)雜度上都有待改進(jìn)。文獻(xiàn)[25]提出了CiFi系統(tǒng),通過提取5 GHz頻段3個天線的相位信息,然后計算相鄰天線的相位差并估計到達(dá)角度(Arrival Of Angle, AOA),將AOA重構(gòu)為60×60的圖片來作為指紋數(shù)據(jù),利用CNN來進(jìn)行訓(xùn)練,取得了比DeepFi更好的定位效果,但是CiFi沒有充分利用CSI的幅度信息,60×60的指紋構(gòu)成方法在實(shí)時定位的時效性上有待改進(jìn)。文獻(xiàn)[26]提取CSI的幅度與校準(zhǔn)相位信息進(jìn)行融合,利用全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取和室內(nèi)被動定位,在CSI指紋穩(wěn)定性與神經(jīng)網(wǎng)絡(luò)特征提取能力方面有待提高。文獻(xiàn)[27]在CiFi的基礎(chǔ)上聯(lián)合CSI的相位差和幅度信息作為指紋,將指紋構(gòu)建為3維度矩陣,前兩個維度用114個子載波的相位差填充,第3個維度采用幅度填充,每個維度均為114×114的矩陣,同樣在定位的時效性上有待提高。為了降低指紋復(fù)雜度,提高定位的時效性,文獻(xiàn)[28]采用主成分分析法(Principal Component Analys, PCA)對CSI進(jìn)行降維處理。
本文在上述文獻(xiàn)的研究基礎(chǔ)上,提出CSI幅度差和相位差聯(lián)合作為指紋進(jìn)行室內(nèi)定位的思想,利用CNN強(qiáng)大的特征提取能力對所有參考位置的指紋數(shù)據(jù)進(jìn)行訓(xùn)練,并引入概率索引優(yōu)化指紋匹配算法,獲得了良好的定位效果,本文將該方法命名為CNNFi。此外,為了提高定位的時效性,可以通過對CSI進(jìn)行子載波降維處理,本文采用卷積自編碼器(Convolutional AutoEncoder, CAE)對構(gòu)建的指紋數(shù)據(jù)進(jìn)行降維重構(gòu)。離線階段將接收天線的子載波進(jìn)行拼接作為CAE的訓(xùn)練數(shù)據(jù),得到CAE的編碼器用于在線階段的CSI降維重構(gòu)。通過針對不同室內(nèi)場景下的定位實(shí)驗(yàn),驗(yàn)證了提出方法的有效性。
信道狀態(tài)信息是通信鏈路的信道屬性,描述了信號在每個傳輸路徑上的衰減因子。信道頻率響應(yīng)可表示為
其中,Hi,j表示第i個接收天線的第j個子載波的CSI,雖然IEEE 802.11n接收器實(shí)現(xiàn)具有56個子載波的OFDM系統(tǒng),但是Intel 5300網(wǎng)卡只對其3個接收天線中的每一個設(shè)備驅(qū)動程序采樣30次,即提取出30個子載波的CSI,因此Nc=30。
CSI的幅度信息是應(yīng)用最為廣泛的位置指紋,為了增強(qiáng)CSI幅度信息的魯棒性,本文采用相鄰天線的幅度差來作為指紋,即采用1個發(fā)射天線、3個接收天線在5 GHz頻段下采集CSI信息。對于每個數(shù)據(jù)包,第i個接收天線上第j個子載波的幅度信息如式(3)所示
同CSI幅度信息相比,CSI相位信息具備更加穩(wěn)定的指紋特征,CSI的原始相位由于存在未知相位偏移而無法直接用作指紋[20]。采用文獻(xiàn)[25]的方法,通過對3個接收天線的相位作差,可消除未知相位偏移。
對于每個數(shù)據(jù)包,第i個接收天線的第j個子載波的相位信息可表示為
CNNFi系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 CNNFi系統(tǒng)結(jié)構(gòu)
離線訓(xùn)練階段將CSI的幅度差信息和相位差信息聯(lián)合構(gòu)建為類似于RGB三通道的圖片格式進(jìn)行訓(xùn)練,CNN網(wǎng)絡(luò)由輸入層、4個卷積層、兩個全連接層和輸出層構(gòu)成,輸入層為維度為30×30×3的相位差與幅度差矩陣,輸出層為對應(yīng)的one-hot訓(xùn)練標(biāo)簽,維度為Nrp×1,Nrp為參考點(diǎn)個數(shù)。同時為每個卷積層和全連接層都進(jìn)行BatchNormalization加速誤差收斂。每層網(wǎng)絡(luò)的具體參數(shù)如表1所示。
表1中參數(shù)Conv 2D表示所采用的卷積類型為2維卷積; fs表示卷積核的維度;s表示卷積運(yùn)算的步長;K表示全連接層神經(jīng)元個數(shù);m表示訓(xùn)練數(shù)據(jù)的個數(shù)。此外,初始學(xué)習(xí)率為0.001,同時采用學(xué)習(xí)率逐漸下降的訓(xùn)練方法,對CNN進(jìn)行訓(xùn)練。訓(xùn)練結(jié)果如圖2所示。
圖2 CNNFi誤差收斂情況
表1 CNN網(wǎng)絡(luò)參數(shù)
圖1中,epoch為神經(jīng)網(wǎng)絡(luò)迭代的次數(shù),loss為損失函數(shù)的誤差。兩種場景下,訓(xùn)練集誤差曲線在前5代快速收斂,訓(xùn)練過程中加入Dropout,防止網(wǎng)絡(luò)過擬合。通過學(xué)習(xí)率逐漸下降的訓(xùn)練方法,微調(diào)網(wǎng)絡(luò)權(quán)重,從而避免網(wǎng)絡(luò)陷入局部最優(yōu)。驗(yàn)證集誤差在訓(xùn)練前期波動較大,但總體呈現(xiàn)下降趨勢,表明神經(jīng)網(wǎng)絡(luò)正在學(xué)習(xí)指紋特征;當(dāng)epoch為15時,訓(xùn)練集和驗(yàn)證集誤差均趨于穩(wěn)定,不再下降,驗(yàn)證集誤差的收斂表明網(wǎng)絡(luò)已經(jīng)較好地學(xué)習(xí)到了每個位置的指紋特征。
在線測試階段,分別在每個測試點(diǎn)收集CSI數(shù)據(jù)并進(jìn)行指紋構(gòu)建,由于CSI的幅度差信息在復(fù)雜的室內(nèi)環(huán)境中波動較大,采用幅、相加權(quán),令幅度差測試數(shù)據(jù)占較小權(quán)重,相位差測試數(shù)據(jù)占較大權(quán)重,既可以保留一定幅度差信息的定位效果,又不會較多地引入由幅度差信息波動所帶來的誤差,本文令測試數(shù)據(jù)幅度差權(quán)重比為0.3。
定位算法方面,本文引入了一種概率索引優(yōu)化處理思想,令測試時Softmax函數(shù)的輸出表示為
其中,index(·)表示返回索引值運(yùn)算,max(·)表示求取最大值,count(·)表示統(tǒng)計每個元素出現(xiàn)的次數(shù)。idi即為第i個測試數(shù)據(jù)所得到的概率值中最大概率的索引值,然后選取出現(xiàn)次數(shù)最多的索引值C所對應(yīng)的概率值,記為Xout,并對其取列均值,得到概率P,如式(10)所示
如上述研究方法,當(dāng)前CSI室內(nèi)定位精度較高的方法采用CNN進(jìn)行特征提取,通常將指紋構(gòu)建為3維矩陣。雖然該方法可以得到較高的定位精度,但是存在兩個明顯的問題:
(1)計算量及內(nèi)存空間消耗大。由于采用Intel 5300提取的CSI每個天線的子載波數(shù)為30,根據(jù)當(dāng)前主流的卷積神經(jīng)CSI室內(nèi)定位方法,需要提取與子載波數(shù)相同的數(shù)據(jù)包數(shù),依靠3個接收天線,使訓(xùn)練數(shù)據(jù)的維度滿足子載波數(shù)(30)×數(shù)據(jù)包數(shù)(30)×天線數(shù)(3)。測試階段,基于本文的定位算法,測試數(shù)據(jù)包的個數(shù)影響著定位精度。而上述方法,提取R個測試數(shù)據(jù),需要消耗R×30個數(shù)據(jù)包,定位階段,會帶來較大的計算量與內(nèi)存空間消耗,不利于實(shí)時定位。
(2)模型訓(xùn)練參數(shù)維度大。采用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行定位測試數(shù)據(jù)特征提取時,CNN網(wǎng)絡(luò)模型的復(fù)雜度也是影響定位速度的主要因素,其中CNN輸入數(shù)據(jù)的維度,是決定網(wǎng)絡(luò)訓(xùn)練參數(shù)大小的指標(biāo)之一。根據(jù)本文采用的CNN網(wǎng)絡(luò)模型,同等網(wǎng)絡(luò)參數(shù)條件下,輸入維度為30×30×3的訓(xùn)練參數(shù)是輸入維度為10×10×3的訓(xùn)練參數(shù)的8倍。
針對上面這兩種問題,可以發(fā)現(xiàn)降低CSI的子載波維度是降低定位復(fù)雜度、提高定位實(shí)時性的關(guān)鍵。目前常用的降維手段為PCA技術(shù)。
本文重點(diǎn)對基于自編碼器的CSI降維進(jìn)行研究,通過實(shí)驗(yàn)驗(yàn)證發(fā)現(xiàn),利用卷積自編碼器可以實(shí)現(xiàn)CSI數(shù)據(jù)的降維與恢復(fù),同時利用訓(xùn)練好的卷積自編碼降維,在定位性能上,要優(yōu)于PCA。接下來將通過實(shí)驗(yàn)驗(yàn)證卷積自編碼器降維的定位精度與定位復(fù)雜度。
自編碼器是一種旨在輸出端恢復(fù)輸入端數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),因此自編碼器的訓(xùn)練數(shù)據(jù)和標(biāo)簽均為輸入數(shù)據(jù)。通常自編碼器通過將輸入信息壓縮成一種隱藏空間表示,從而實(shí)現(xiàn)數(shù)據(jù)的降維。
自編碼器由兩部分構(gòu)成,分別稱為編碼器與解碼器,圖3為本文所采用的自編碼網(wǎng)絡(luò)結(jié)構(gòu)圖。編碼器一端,通過輸入數(shù)據(jù)Xin在網(wǎng)絡(luò)中傳遞,最終得到壓縮的數(shù)據(jù)Xcpr,解碼器一端,將Xcpr作為輸入數(shù)據(jù),試圖通過輸出Xout重構(gòu)輸入數(shù)據(jù),則誤差e定義為e=Xin–Xout。為了實(shí)現(xiàn)這一目標(biāo),網(wǎng)絡(luò)采用最小均方誤差(Mean Square Error, MSE)作為損失函數(shù)進(jìn)行訓(xùn)練。
為了提高特征提取能力,本文采用1維卷積自編碼器對CSI數(shù)據(jù)進(jìn)行降維,卷積自編碼器的訓(xùn)練數(shù)據(jù)構(gòu)建步驟如下:
步驟1 將3個接收天線的信道狀態(tài)信息分別記作X1,X2,X3,維度均為30×pt,pt為提取的訓(xùn)練數(shù)據(jù)包數(shù)。實(shí)驗(yàn)發(fā)現(xiàn),歸一化之后的CSI通過自編碼器降維,定位精度要小于非歸一化,因此將原始數(shù)據(jù)作為自編碼器的訓(xùn)練數(shù)據(jù)。卷積自編碼器的輸入信息Xin由式(13)所示
步驟2 將每個參考位置的幅度差信息和相位差信息按照式(13)進(jìn)行處理并組合在一起,得到卷積自編碼的訓(xùn)練數(shù)據(jù)train_X,因?yàn)樽跃幋a器的特點(diǎn),訓(xùn)練標(biāo)簽同樣為train_X。
采用的1維卷積自編碼器如圖3所示。輸入數(shù)據(jù)為90×1的原始幅度差與相位差信息,通過卷積核分別為64, 32, 23, 12和10的1維卷積層,即編碼器端,實(shí)現(xiàn)CSI信息的維度削減。解碼器一端采用對稱的網(wǎng)絡(luò)結(jié)構(gòu),在輸出端重新恢復(fù)原始信息。利用Adam優(yōu)化算法與MSE損失函數(shù),對自編碼器網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終得到理想的CSI降維編碼器網(wǎng)絡(luò)結(jié)構(gòu)。
圖3 卷積自編碼網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)的具體參數(shù)如表2所示。
表2中參數(shù)Conv1D表示所采用的卷積類型為1維卷積;Maxpool1D表示1維池化層;Upsampool1D表示1維上采樣層;fs表示卷積核的維度;s表示卷積運(yùn)算的步長;padding參數(shù)為same表示卷積運(yùn)算后的維度不變,即進(jìn)行補(bǔ)0運(yùn)算,valid不進(jìn)行補(bǔ)0運(yùn)算;size表示上采樣后維度擴(kuò)充的倍數(shù);m表示訓(xùn)練數(shù)據(jù)的個數(shù)。輸出層采用的激活函數(shù)為linear,其余卷積層所采用的激活函數(shù)均為RelU,將輸入層–1維卷積層 5視為編碼器,1維卷積層5–輸出層視為解碼器。
表2 CAE網(wǎng)絡(luò)參數(shù)
訓(xùn)練階段,將構(gòu)建的CSI幅度差信息和相位差信息統(tǒng)一輸入到自編碼器,訓(xùn)練結(jié)束后,將編碼器一端的網(wǎng)絡(luò)模型保存,用于降維處理。將加入自編碼器降維后的系統(tǒng)命名為CAEFi,其結(jié)構(gòu)如圖4所示。
圖4 CAEFi系統(tǒng)結(jié)構(gòu)
如圖4所示,離線階段,在Nrp個參考點(diǎn)處分別收集CSI信息并提取幅度差與相位差信息,通過CAE實(shí)現(xiàn)幅度差與相位差降維,然后利用CNN進(jìn)行CSI信息與參考位置的映射,訓(xùn)練結(jié)束后,保存CNN模型。在線階段,根據(jù)在參考點(diǎn)Ni處采集的CSI信息,首先提取幅度差與相位差,經(jīng)過CAE降維后,利用CNNFi提出的幅相加權(quán)構(gòu)建定位測試數(shù)據(jù),每個測試數(shù)據(jù)的維度滿足10×10×1,通過CNN后得到Softmax函數(shù)的輸出概率,利用概率索引優(yōu)化算法去除無關(guān)概率信息,得到每個參考位置的概率值,最終將概率值與每個參考位置的坐標(biāo)進(jìn)行加權(quán)求和,實(shí)現(xiàn)位置估計。
為了驗(yàn)證CAEFi系統(tǒng)采用CAE降維后的定位性能,考慮CNN網(wǎng)絡(luò)采用常規(guī)PCA和子載波采樣兩種降維方法得到的定位性能參與對比。PCA方法包含兩個階段:離線階段利用PCA對訓(xùn)練數(shù)據(jù)實(shí)現(xiàn)降維,用于CNN訓(xùn)練;在線階段,測試數(shù)據(jù)首先經(jīng)過PCA處理,然后利用CNN估計定位點(diǎn)坐標(biāo)。子載波采樣方法即對30個子載波進(jìn)行采樣,通過調(diào)整采樣的步長,獲得更低維度的子載波CSI。為了均衡定位性能與時效性,3種方法降維后的維度Nn均為10,其中CAEFi通過編碼器可以將單個數(shù)據(jù)包的訓(xùn)練數(shù)據(jù)維度重構(gòu)為10×10×1,PCA將3個接收天線的90個子載波降維到10,訓(xùn)練數(shù)據(jù)維度亦為10(數(shù)據(jù)包)×10(子載波)×1,子載波采樣通過將每個天線的30個子載波采樣為10,最終的訓(xùn)練數(shù)據(jù)維度亦為10(數(shù)據(jù)包)×10(子載波)×3(接收天線)。
選擇具有代表性的兩個場景進(jìn)行了實(shí)驗(yàn),如圖5、圖6所示,分別為空曠的廊廳和放置了若干計算機(jī)以及隔斷書桌的實(shí)驗(yàn)室,分別可以視為視距(Line Of Sight, LOS)與非視距(None Line Of Sight, NLOS)區(qū)域,相鄰參考點(diǎn)之間的距離均為1.2 m。
圖5 廊廳場景
圖6 實(shí)驗(yàn)室場景
采用monitor模式接收Wi-Fi AP無線信道數(shù)據(jù),用兩臺配備了Intel 5300網(wǎng)卡的筆記本電腦分別作為發(fā)射端和接收端,選擇165號信道,即5 GHz頻段,信道帶寬為20 MHz,接收包間隔時間為1 ms。對于每個參考位置,在該位置的附近分別接收10次數(shù)據(jù),每次數(shù)據(jù)收集4000個數(shù)據(jù)包,選擇其中的5次數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),另外5次作為測試數(shù)據(jù)。首先考慮不采用降維方法,訓(xùn)練數(shù)據(jù)采用所有數(shù)據(jù)包,測試時由于不同方法指紋構(gòu)成的不同,無法保證使用相同的數(shù)據(jù)包,但可以選擇采用相同個數(shù)的測試數(shù)據(jù),本文選擇40個測試數(shù)據(jù)。為了驗(yàn)證所提出方法的性能,將文獻(xiàn)[22,24,25,27]的指紋定位方法分別用相同的訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)進(jìn)行比較,從而保證實(shí)驗(yàn)結(jié)果的公平性。文獻(xiàn)[24,25]在第1節(jié)已經(jīng)介紹,文獻(xiàn)[22]采用線性變換對相位進(jìn)行校準(zhǔn),文獻(xiàn)[27]的指紋構(gòu)建思想與本文類似,區(qū)別在于其將前兩個維度用相位差填充,最后一個維度用幅度填充。但文獻(xiàn)[27]由于采用Atheros無線網(wǎng)卡,能夠提取114個子載波,而CSI Tool只能提取30個子載波,因此定位實(shí)驗(yàn)僅引用其指紋構(gòu)建思想,并采用本文的CNN對其進(jìn)行訓(xùn)練與學(xué)習(xí)。
實(shí)驗(yàn)1 不同定位方法性能比較。CNNFi同每個定位系統(tǒng)的定位誤差累積分布圖分別如圖7、圖8所示。平均定位誤差和標(biāo)準(zhǔn)差如表3、表4所示。
圖7和圖8中對于DeepFi的定位方法,在神經(jīng)網(wǎng)絡(luò)方面,采用DNN代替受限玻爾茲曼機(jī),從而避免為每個參考點(diǎn)單獨(dú)訓(xùn)練一組權(quán)重,降低了計算復(fù)雜度。和傳統(tǒng)的定位測試方法(CNNFisingle,DeepFi, CiFi, PhaseFi)不同,考慮在實(shí)際定位中,人體是運(yùn)動的,且CSI monitor收數(shù)模式收集數(shù)據(jù)包的速度是可調(diào)的,因此可以在短時內(nèi)在參考點(diǎn)附近采樣兩次CSI,從而增加數(shù)據(jù)的多樣性,即CNNFi combine。
由表3和圖7可知,在廊廳區(qū)域,CNNFi在combine模式下可以達(dá)到0.25 m和0.58 m的平均誤差和標(biāo)準(zhǔn)差,均優(yōu)于其他定位方法。本文采用的方法在single模式下,大約80%的測試點(diǎn)的平均誤差在1 m之內(nèi),定位性能要優(yōu)于其他定位方法。當(dāng)采用combine模式時,大約95%的測試點(diǎn)的平均誤差在1 m之內(nèi),定位性能相比于single模式要更加出色。
表3 廊廳定位誤差
圖7 廊廳誤差累計分布圖
由表4和圖8可知,在實(shí)驗(yàn)室區(qū)域,存在嚴(yán)重的多徑效應(yīng),為了進(jìn)一步提升實(shí)驗(yàn)室場景下的定位性能,考慮到如今室內(nèi)通常配置了多個Wi-Fi接入點(diǎn),因此在上述定位方法的基礎(chǔ)上,采用雙AP聯(lián)合定位。CNNFi在combine模式、雙AP下可以達(dá)到0.48 m和0.86 m的平均誤差和標(biāo)準(zhǔn)差,同樣優(yōu)于其他定位方法。CNNFi在single模式、單AP下,大約70%的測試點(diǎn)的平均誤差在2 m之內(nèi),在combine模式時,大約85%的測試點(diǎn)的平均誤差在2 m之內(nèi)。采用雙AP后,約85%的參考點(diǎn)平均誤差在1 m以內(nèi),定位性能顯著提升。同時可以發(fā)現(xiàn),在實(shí)驗(yàn)室的NLOS區(qū)域,校準(zhǔn)相位精度損失較相位差更加嚴(yán)重,而ImageFi[27]將相位差與幅度構(gòu)建為一個3維矩陣,事實(shí)上并不利于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí),這是因?yàn)榉扰c相位差在數(shù)據(jù)大小方面相差較大,所以本文選擇分別構(gòu)建幅度差與相位差信息矩陣進(jìn)行訓(xùn)練。
圖8 實(shí)驗(yàn)室誤差累計分布圖
表4 實(shí)驗(yàn)室定位誤差
實(shí)驗(yàn)2 幅度差定位性能比較。采用幅度差代替幅度作為指紋,利用相鄰子載波之間幅度的差值,可以降低幅度信息的浮動程度,從而加速神經(jīng)網(wǎng)絡(luò)的收斂速度,提高神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力。在兩個實(shí)驗(yàn)場景下的定位誤差如圖9所示。
實(shí)驗(yàn)3 自編碼器學(xué)習(xí)效果。利用非視距(NLOS)場景下的CSI信息進(jìn)行定位實(shí)驗(yàn),取前5次測量數(shù)據(jù)作為自編碼器訓(xùn)練信息,后5次測量數(shù)據(jù)作為自編碼器學(xué)習(xí)效果的測試信息。以相位差為例,圖9為兩個不同位置的相位差原始信息與卷積自編碼器恢復(fù)之后信息的差值對比圖以及不同位置間的差值對比圖。選擇數(shù)據(jù)包個數(shù)為500,則每個相位差由90×500的矩陣形式表示,差值即為兩個矩陣之間求歐氏距離并求和,如式(14)所示
圖9 幅度與幅度差的平均定位誤差
其中,Diff為相位差的差值,Diff1與Diff2分別代表位置1和位置2的相位差矩陣,pdiff為選擇的數(shù)據(jù)包個數(shù),即為500個,sum(·)表示對矩陣求和,abs(·)表示絕對值運(yùn)算。測試效果如圖10所示。
圖10中,位置1和位置2為該位置處原始相位差與卷積自編碼器輸出的相位差的差值,位置1和2表示兩個位置原始相位差的差值。由圖可知,卷積自編碼器良好地學(xué)習(xí)到了重構(gòu)CSI信息的能力,因此,在選擇編碼器進(jìn)行降維時,編碼器的輸出端信息能夠有效表達(dá)3個天線的整體信息。
圖10 相位差的差值對比圖
實(shí)驗(yàn)4 CSI降維定位性能比較。針對第2節(jié)的原始定位方法CNNFi、第3節(jié)的PCA降維、子載波采樣降維以及卷積自編碼器降維方法CAEFi,采用40個測試數(shù)據(jù),兩種實(shí)驗(yàn)場景下的平均定位誤差條形圖如圖11所示。
由圖11可知,兩種實(shí)驗(yàn)場景下,PCA降維方法相較于原始定位方法,精度較差;子載波采樣降維由于損失了部分子載波信息,且不存在任何信息的轉(zhuǎn)換,同樣損失了較大的定位精度。而卷積自編碼器對于拼接后的CSI信息實(shí)現(xiàn)了降維,且定位精度要優(yōu)于PCA,與原始定位方法性能接近。特別地,CNNFi如前文所述,每個測試數(shù)據(jù)需要消耗30個數(shù)據(jù)包,若M=40,則需要1200個數(shù)據(jù)包,同樣,對于PCA,則需要400個數(shù)據(jù)包。而CAEFi可以將單個數(shù)據(jù)包的CSI信息構(gòu)建為10×10×1,僅需40個數(shù)據(jù)包就可以得到40個測試數(shù)據(jù),與CNNFi測試方法相比,測試數(shù)據(jù)量為其1/30,極大地降低了測試數(shù)據(jù)的復(fù)雜度,同時獲得了較高的定位精度。
圖11 CSI降維平均定位誤差
實(shí)驗(yàn)5 不同降維維度的定位性能比較。為了找到合適的降維維度,本文比較了維度Nn為30, 20,10和5這4種情況下的定位平均誤差,如圖12所示。由圖12可知,維度30為原始定位方法,維度Nn由30降低到20和10,精度損失比較小,但當(dāng)維度降低到5時,精度損失較大,這是因?yàn)榫矸e層無法充分提取有效的信息,從而導(dǎo)致學(xué)習(xí)能力下降,定位精度降低。綜合考慮定位時效性與定位精度下,本文采用Nn=10。
圖12 不同維度的平均定位誤差
實(shí)驗(yàn)6 不同測試數(shù)據(jù)個數(shù)的定位性能比較。以CAEFi方法為例,取測試數(shù)據(jù)個數(shù)分別為20, 40,60, 80和100,平均定位誤差如圖13所示。由圖13可知,測試數(shù)據(jù)個數(shù)為40時可以取得較好的定位精度,當(dāng)測試數(shù)據(jù)個數(shù)逐漸增加時,平均定位誤差呈現(xiàn)波動趨勢,這是因?yàn)殡S著測試數(shù)據(jù)個數(shù)的增加,幅度差數(shù)據(jù)逐漸增多,所以對定位精度提升效果并不明顯。同時考慮到定位的時效性,遵循盡可能取較少的測試數(shù)據(jù)個數(shù),因此本文選擇測試數(shù)據(jù)個數(shù)為40。
圖13 不同測試數(shù)據(jù)個數(shù)的平均定位誤差
實(shí)驗(yàn)7 定位時效性對比。雖然CAEFi實(shí)現(xiàn)了數(shù)據(jù)維度的削減,但同時引入了一個自編碼器網(wǎng)絡(luò)模型,因此需要綜合考慮定位時效性。表5為CNNFi,CAE的編碼器Auto Encoder和降維后卷積神經(jīng)網(wǎng)絡(luò)CAE-CNN的訓(xùn)練總參數(shù)。
由表5可知,雖然引入了一個卷積自編碼器神經(jīng)網(wǎng)絡(luò),但相比于訓(xùn)練階段的卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練參數(shù)量相對較小。且Auto Encoder和降維后的CNN網(wǎng)絡(luò)參數(shù)相加,約為原始CNN網(wǎng)絡(luò)的1/15,遠(yuǎn)遠(yuǎn)小于CNNFi的網(wǎng)絡(luò)參數(shù)。
表5 3種神經(jīng)網(wǎng)絡(luò)的訓(xùn)練參數(shù)
考慮到CSI信息的實(shí)驗(yàn)處理平臺為Matlab,而在線測試階段的實(shí)驗(yàn)平臺為Python,因此為了比較在線定位的時效性,本文在采用相同的實(shí)驗(yàn)設(shè)備前提下,以40個測試數(shù)據(jù)為標(biāo)準(zhǔn),分別測量Matlab指紋構(gòu)建與Python在線定位的時間,在時間指標(biāo)上分析定位時效性。此外,由于需要保存訓(xùn)練好的網(wǎng)絡(luò)模型用于在線測試,在內(nèi)存大小上分析兩種方法的網(wǎng)絡(luò)模型資源占用情況。表6為上文采用的幾種定位方法的在線定位時間和網(wǎng)絡(luò)模型內(nèi)存大小。
表6 兩種定位方法的在線定位時間與內(nèi)存大小
由表6可知,在Matlab構(gòu)建測試數(shù)據(jù)階段,以40個測試數(shù)據(jù)為標(biāo)準(zhǔn),CNNFi需要消耗1200個數(shù)據(jù)包,而CAEFi僅需要40個數(shù)據(jù)包,因此時間處理上CNNFi約為CAEFi的20倍。Python在線定位階段,雖然CAEFi的指紋信息需要依次通過兩個網(wǎng)絡(luò)模型得到估計坐標(biāo),但由于兩個網(wǎng)絡(luò)模型結(jié)構(gòu)相對簡單,且所需的指紋數(shù)據(jù)量較小,因此在時間上與CNNFi接近。網(wǎng)絡(luò)模型內(nèi)存消耗方面,CAEFi的內(nèi)存消耗為Auto Encoder和CNN兩個模型內(nèi)存之和,大小分別為92 kB和5.7 MB,兩者之和約為CNNFi的1/15,當(dāng)定位區(qū)域增大,即需要增加室內(nèi)參考點(diǎn)個數(shù),搭建更為復(fù)雜的神經(jīng)網(wǎng)絡(luò)時,該優(yōu)勢將更加突出。綜合上述實(shí)驗(yàn)結(jié)果,采用自編碼器降維,與原始方法相比,能夠在保證精度接近的前提下,使定位時間提高40%,同時內(nèi)存消耗方面約為原始方法的1/15。
本文提出一種利用卷積自編碼器對CSI降維重構(gòu)的指紋室內(nèi)定位方法。通過CNNFi在兩種場景(LOS, NLOS)下的定位測試實(shí)驗(yàn),分別獲得了25 cm和48 cm的平均定位誤差。在此基礎(chǔ)上為了提高定位時效性,在保證原始定位精度的前提下,采用卷積自編碼器對CSI進(jìn)行維度壓縮與重構(gòu),與原始方法相比,定位時間提高了40%,同時內(nèi)存消耗方面約為原始方法的1/15。實(shí)驗(yàn)結(jié)果表明本文所采用的方法可以實(shí)現(xiàn)較好的定位效果與定位時效性。