金施嘉珞,樂燕芬,許遠(yuǎn)航
(上海理工大學(xué)光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
蓬勃發(fā)展的移動通信技術(shù)、感知計(jì)算技術(shù)和無線網(wǎng)絡(luò)技術(shù)為實(shí)現(xiàn)物理世界與信息空間融合奠定了堅(jiān)實(shí)的基礎(chǔ),同時(shí)隨著人工智能和物聯(lián)網(wǎng)技術(shù)的不斷推廣,基于位置的服務(wù)(Location based service,LBS)[1]已經(jīng)成為人們工作生活的重要環(huán)節(jié)。在室外環(huán)境中,GPS 導(dǎo)航系統(tǒng)可以提供定位精度高、響應(yīng)速度快的室外定位導(dǎo)航服務(wù)。而在室內(nèi)環(huán)境中,由于GPS 信號在非視距條件下會發(fā)生嚴(yán)重衰落現(xiàn)象,使得現(xiàn)有GPS 定位技術(shù)難以滿足用戶的位置服務(wù)需求,因此室內(nèi)定位技術(shù)應(yīng)運(yùn)而生。
室內(nèi)定位算法主要分為兩類,(1)基于測距的定位算法(Range?based),主要有到達(dá)時(shí)間法(Time?of?arrival,TOA)[2]、到達(dá)時(shí)間差法(Time difference of arrival,TDOA)[3]、到達(dá)角度法(Angle?of?arrival,AOA)[4]等。(2)基于接受信號接收強(qiáng)度(Received signal strength indicator,RSSI)值匹配的指紋定位算法[5?7],最經(jīng)典的算法包括K近鄰算法(K?nearest neighbor,KNN)[8]、加權(quán)K近鄰算法(WeightK?nearest neighbor,WKNN)[9]。這類算法包括離線和在線兩個階段,離線階段在定位區(qū)域設(shè)置一定數(shù)量的位置參考點(diǎn)(Reference points,RP),并采集參考點(diǎn)的RSSI 信號特征,建立反映區(qū)域信號空間分布特征的位置指紋庫;在線階段基于目標(biāo)實(shí)時(shí)采集的RSSI 信號,從指紋庫中選取K個與其歐氏距離最小的參考點(diǎn),根據(jù)該K個參考點(diǎn)對應(yīng)坐標(biāo)的均值或加權(quán)平均值作為目標(biāo)的估計(jì)位置,實(shí)現(xiàn)定位。這類基于歐幾里得距離的算法適用性高、計(jì)算復(fù)雜度小且算法精度較高,但在離線指紋數(shù)據(jù)和在線RSSI 信號使用異構(gòu)設(shè)備采集時(shí),由于不同設(shè)備的天線設(shè)計(jì)、硬件設(shè)計(jì)、驅(qū)動程序和環(huán)境等都會影響RSSI 值[10],導(dǎo)致在線階段采集的RSSI 信號與所建立的位置指紋庫不能有效匹配,利用此類算法會導(dǎo)致較大的定位誤差,因此如何在使用異構(gòu)設(shè)備采集數(shù)據(jù)的情況下得到理想的定位精度成為了當(dāng)前的研究熱點(diǎn)之一。
目前解決設(shè)備異構(gòu)性問題的方法主要分為校準(zhǔn)法和免校準(zhǔn)法兩類。校準(zhǔn)法的原理是在離線階段構(gòu)建不同設(shè)備采集的RSSI 之間的關(guān)系模型,在線階段通過關(guān)系模型對目標(biāo)設(shè)備采集的RSSI 進(jìn)行轉(zhuǎn)換。Tao 等[11]利用獲取的在線設(shè)備和參考設(shè)備接收的RSSI 值的線性關(guān)系設(shè)計(jì)映射函數(shù),將RSSI 值從在線設(shè)備轉(zhuǎn)換為參考設(shè)備,來消除異構(gòu)設(shè)備引入的定位誤差。但是這種映射函數(shù)只表示特定的參考設(shè)備和在線設(shè)備的對應(yīng)關(guān)系,不具有普遍性,不適用于大規(guī)模應(yīng)用。文獻(xiàn)[12]使用支持向量回歸(Sup?port vactor regression,SVR)訓(xùn)練參考設(shè)備與在線設(shè)備之間的非線性關(guān)系模型,有效消除特定設(shè)備之間的異構(gòu)性問題。通常校準(zhǔn)法適用于固定參考設(shè)備和用戶終端設(shè)備的情況,因此難以滿足大規(guī)模異構(gòu)設(shè)備的實(shí)時(shí)應(yīng)用。免校準(zhǔn)方法的原理主要是將參考設(shè)備和用戶終端設(shè)備采集的RSSI 進(jìn)行統(tǒng)一處理形成規(guī)范性指紋。Mahtab 等[13]提出信號強(qiáng)度差(Signal strength difference,SSD)算法,使用不同Wi?Fi 無線接入點(diǎn)(Access point,AP)采集的RSSI 差值作為新特征來消除信號傳播模型中與硬件參數(shù)如天線增益有關(guān)的量,從而提高定位精度。但是文章假設(shè)定位區(qū)域內(nèi)所有的AP 都有相同的硬件屬性,使得該方法具有一定的局限性。劉勛[14]提出基于多維信息融合的位置指紋室內(nèi)定位算法,通過信號強(qiáng)度差結(jié)合雙曲線位置指紋(Hyperbolic location fingerprint,HLF)克服指紋的異構(gòu)性,利用指紋之間的互補(bǔ)性構(gòu)建復(fù)合指紋庫。梁溪[15]提出了基于SVR 的RSSI 擬合方法以補(bǔ)償終端的RSSI。Wei等[16]采用RSSI 比例法,計(jì)算一個接入點(diǎn)測量和每個其他接入點(diǎn)信號的比例;期望最大化(Expectation maximization,EM)[17]被用于聯(lián)合定位和信號校準(zhǔn),系統(tǒng)測量兩個設(shè)備的信號之間的偏移,然后通過迭代最小化指紋之間的歐幾里得距離的偏移來學(xué)習(xí)信號差異。
本文在對實(shí)際環(huán)境中多種異構(gòu)設(shè)備采集的RSSI 信號特性進(jìn)行分析的基礎(chǔ)上提出一種免校準(zhǔn)的信號處理流程與定位算法,能夠有效降低異構(gòu)設(shè)備性問題。首先考慮到實(shí)際樓宇內(nèi)存在大量AP 可能引入信息冗余并增大定位算法復(fù)雜度的問題,提出了一種基于標(biāo)準(zhǔn)偏差(Standard deviation,SD)的AP 選擇法,提取實(shí)驗(yàn)環(huán)境中相對穩(wěn)定的AP 信號構(gòu)建定位指紋庫,其次利用普氏分析法(Procrustes analysis,PA)來消除異構(gòu)設(shè)備帶來的RSSI 信號偏差,最后采用基于余弦相似度(Cosine similarity,CS)的WKNN 算法進(jìn)行定位。為驗(yàn)證所提算法的定位性能,在典型室內(nèi)辦公環(huán)境下采集、構(gòu)建了異構(gòu)指紋庫并進(jìn)行了定位實(shí)驗(yàn)。
采用不同設(shè)備在同一位置、同一時(shí)刻采集RSSI 信號時(shí)通常也存在較大的差異。這種設(shè)備的異構(gòu)性對所采集信號的影響主要是由于設(shè)備軟硬件的差異引起的[18]。本文利用近幾年發(fā)布的移動智能終端對設(shè)備異構(gòu)帶來的RSSI 信號的差異進(jìn)行研究。表1 列出了實(shí)驗(yàn)所用的4 種異構(gòu)設(shè)備包括iPhone 7p、iPhone XS Max、華為Mate30 和Mate30pro 的軟硬件等信息。
表1 RSSI 信號采集設(shè)備Table 1 Information of RSSI signal collection devices
由表1 可知,4 種異構(gòu)設(shè)備的軟硬件都存在一定的差異。本文首先利用4 種異構(gòu)設(shè)備在相同位置、同一時(shí)間采集不同AP 的RSSI 信號來研究異構(gòu)設(shè)備的RSSI 信號特征。RSSI 信號由本文自主開發(fā)的微信小程序進(jìn)行采集。圖1 給出了在某一個位置采集的不同AP 的RSSI 信號值。值得注意的是,小程序提供的API 接口對于IOS 系統(tǒng)和安卓系統(tǒng)操作原理不同,IOS 系統(tǒng)采集到的Wi?Fi 信號RSSI 的返回值取值范圍為0~1,而安卓系統(tǒng)的取值范圍為0~100。
圖1 4 種設(shè)備采集的RSSI 信號Fig.1 RSSI signals collected by four devices
從圖1(a)中可觀察到,iPhone 7p 設(shè)備采集的RSSI 值整體高于iPhone XS Max 設(shè)備,由圖1(b)可知即使設(shè)備型號相近,設(shè)備采集的RSSI 值仍有較大不同,這意味著即使采集信號的位置和時(shí)刻相同,不同手機(jī)采集的RSSI 值波動范圍也很大,這必然引起位置信息的模糊,從而影響定位性能。因此,如何消除設(shè)備異構(gòu)性引入的誤差成為了一個不可忽視的問題。
本文所提算法的框架如圖2 所示,命名為基于標(biāo)準(zhǔn)差和普氏分析法的余弦相似度算法(Cosinesimi?larity algorithm based on standard deviation and proctoranalysis),本文使用SD?PA?CS 表示。
圖2 SD-PA-CS 定位算法流程圖Fig.2 Flow chart of SD-PA-CS location algorithm
定位算法分為離線與在線2 個階段。離線階段,在每個參考點(diǎn)采集所有能接收到的Wi?Fi 的RSSI信號,結(jié)合對應(yīng)的位置坐標(biāo)構(gòu)成原始指紋數(shù)據(jù)庫。接著采用歸一化算法消除采集軟件帶來的量綱影響,保證了數(shù)據(jù)的可比較性;然后利用SD 算法進(jìn)行AP 選擇,提取監(jiān)測區(qū)域內(nèi)穩(wěn)定的AP 信號以減少數(shù)據(jù)維度來降低定位階段計(jì)算復(fù)雜度;最后進(jìn)行PA 標(biāo)準(zhǔn)化處理消除指紋數(shù)據(jù)對異構(gòu)設(shè)備的敏感性。在線階段,根據(jù)離線階段AP 選擇后的AP 序列對在線RSSI 信號進(jìn)行AP 同一性處理,經(jīng)PA 算法標(biāo)準(zhǔn)化后利用CS 算法確定目標(biāo)位置。
離線階段在定位區(qū)域設(shè)置R個參考點(diǎn),使用4 個異構(gòu)設(shè)備在每個參考點(diǎn)同時(shí)采集樓宇內(nèi)所有能接收到的Wi?Fi 信號,分別構(gòu)成4 個原始指紋庫。設(shè)共有M個AP 點(diǎn),D表示其中任一設(shè)備構(gòu)建的原始指紋庫,如式(1)所示。
式中xi,yi,i=1,2,…,R是第i個參考點(diǎn)的位置坐標(biāo);RSSIi,j,i=1,2,…,R;j=1,2,…,M,表示該設(shè)備在第i個參考點(diǎn)接收到第j個AP 的S個RSSI 信號采樣值的平均值。
2.1.1 基于SD 的AP 選擇算法
通常,在覆蓋有Wi?Fi 網(wǎng)絡(luò)的樓宇內(nèi)有大量的可檢測AP 點(diǎn),實(shí)驗(yàn)中也發(fā)現(xiàn)在一個樓層內(nèi)能檢測到超過200 個AP。在復(fù)雜的室內(nèi)環(huán)境下,較多的AP 能提供更豐富的指紋信息,但數(shù)量過多尤其是信號不穩(wěn)定的AP,不僅會引入無效和冗余信息,也會增加定位算法的計(jì)算復(fù)雜度[19]。
考慮到室內(nèi)環(huán)境中人員活動會引起RSSI 采樣值的變化?;赟D 的AP 選擇算法采用RSSI 的標(biāo)準(zhǔn)差反映接收到的RSSI 的變化情況,SD 值越小,從AP 點(diǎn)接收到的RSSI 信號更穩(wěn)定,對應(yīng)的AP 更適合進(jìn)行模式匹配[20]。具體過程如下:計(jì)算離線階段每個AP 在各參考點(diǎn)所采集的RSSI 信號的標(biāo)準(zhǔn)差SD,根據(jù)SD 值對所有AP 點(diǎn)進(jìn)行降序排列,選取前N個AP 點(diǎn)用于構(gòu)建指紋庫。SD 計(jì)算表示為
式中:RSSIi,j,s,i=1,2,…,R;j=1,2,…,M為在第i個RP 點(diǎn)接收到的來自第j個AP 的第s個采樣值,共有S個采樣值;SDi,j表示相應(yīng)的第j個AP 在第i個RP 的SD 值;RSSIi,j表示設(shè)備在第i個參考點(diǎn)接收到第j個AP 的所有RSSI 信號采樣值的平均值,如式(2)所示。
對每個AP 點(diǎn)取其最小的SD 值為
式中:SDj,j=1,2,…,M為第j個AP 點(diǎn)在所有參考點(diǎn)的RSSI 信號的SD 最小值。將SDj從小到大排列,選取前N個SD 值對應(yīng)的AP 點(diǎn)組成AP 集為{AP1,AP2,…,APN},并從原始指紋庫提取相應(yīng)的指紋。
2.1.2 Min?max 歸一化
由于微信小程序中所提供的API 接口對于IOS 系統(tǒng)和安卓系統(tǒng)操作原理不同,使得不同系統(tǒng)采集到Wi?Fi信號RSSI的返回值不同,因此本文采用Min?max 歸一化確保數(shù)據(jù)在同一數(shù)量級下進(jìn)行比較。給定設(shè)備接收到的RSSI信號經(jīng)AP 選擇后為fi=(RSSIi,1,RSSIi,2,…,RSSIi,N),i=1,2,…,R,計(jì)算公式為
式中:min(fi),max(fi)分別為第i個指紋中最小和最大的RSSI值,Pi=(pi,1,pi,2,…,pi,N),i=1,2,…,R為歸一化后的第i個RSSI值。圖3 給出了兩種設(shè)備采集的RSSI 信號歸一化前后的分布。
圖3 歸一化前后RSSI 分布圖Fig.3 RSSI distribution before and after normalization
2.1.3 PA 標(biāo)準(zhǔn)化
從圖1 中可觀察到由于采集設(shè)備軟硬件的不同,即使在實(shí)際環(huán)境中同一時(shí)間、同一位置采集的RS?SI 信號也會呈現(xiàn)不同的分布。因此本文使用PA[21]對指紋數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化操作,以消除異構(gòu)設(shè)備對信號采樣值的影響。PA 法是一種在形狀統(tǒng)計(jì)分析領(lǐng)域用來進(jìn)行圖形比較來尋找標(biāo)準(zhǔn)形狀的方法。該算法通過不斷迭代,尋找對給定對象最優(yōu)的平移,縮放和旋轉(zhuǎn),以便得到標(biāo)準(zhǔn)形狀,繼而尋找每個對象形狀到這個標(biāo)準(zhǔn)形狀的仿射變化方式。使用普氏分析法處理指紋庫,可以將RSSI 分布處理為標(biāo)準(zhǔn)正態(tài)分布,使異構(gòu)設(shè)備采集的RSSI 信號有相同分布,更接近一個標(biāo)準(zhǔn)信號。由于RSSI 信號為一維對象,只需要對其進(jìn)行平移和均勻縮放操作,就能得到接近標(biāo)準(zhǔn)的信號。
對歸一化后的每個RSSI 信號Pi作平移處理
式中:為設(shè)備在第i個參考點(diǎn)上的標(biāo)準(zhǔn)化RSSI 信號。對離線指紋庫每一參考點(diǎn)的RSSI 信號強(qiáng)度進(jìn)行上述處理,得到標(biāo)準(zhǔn)化數(shù)據(jù)庫N為第j個AP 經(jīng)過上述處理后的RSSI 值。同樣的,在線目標(biāo)采集的RSSI 信號也需要標(biāo)準(zhǔn)化處理。圖4 給出了4 種不同設(shè)備在隨機(jī)選擇的10 個位置點(diǎn)同時(shí)采集的RSSI 值PA 標(biāo)準(zhǔn)化前后的結(jié)果。
從圖4 中可知基于PA 的數(shù)據(jù)標(biāo)準(zhǔn)化算法可以使異構(gòu)設(shè)備的RSSI 分布近似趨于同一標(biāo)準(zhǔn),這能有效消除異構(gòu)設(shè)備帶來的影響,提高定位精度。
圖4 4 種設(shè)備的測試點(diǎn)序號與標(biāo)準(zhǔn)化RSSI 值曲線Fig.4 Test point serial number and standardized RSSI value curves of four kinds of equipments
在線定位階段首先將目標(biāo)點(diǎn)采集的RSSI 信號經(jīng)AP 篩選后做歸一化與標(biāo)準(zhǔn)化處理,再使用CS 算法對目標(biāo)點(diǎn)進(jìn)行位置估計(jì)。
WKNN 算法通常采用歐式距離來衡量兩個RSSI 向量間的差異度,距離越小表示兩個向量越相似,即RSSI 向量對應(yīng)的兩個位置在空間上鄰近。而實(shí)際室內(nèi)環(huán)境中每個AP 信號的覆蓋區(qū)域是很有限的。圖5 給出了從指紋庫中隨機(jī)抽取的2 個AP 在各RP 點(diǎn)的分布情況。從圖5 中可看出兩個AP 的覆蓋范圍不同,圓形所代表的AP1主要覆蓋區(qū)域?yàn)閅軸0~8 m,X軸20~60 m,而箭頭所代表的AP2則為Y軸4~12 m,X軸0~60 m,重合區(qū)域主要在中間部分,即定位區(qū)域中的大廳。
圖5 RSSI 分布情況Fig.5 RSSI distribution
因此目標(biāo)測試點(diǎn)實(shí)際采集的RSSI 信號中能接收到的AP 與指紋庫中各RP 能接收的AP 并不一致。大部分情況下兩者只有部分交集。為了減小未接收的AP(本采集系統(tǒng)中設(shè)為0 dBm)對兩個RSSI 向量相似度的影響,采用了余弦相似度來選取與目標(biāo)在線RSSI 距離最小的若干指紋。
計(jì)算公式為
圖6 基于歐式距離和余弦相似度的最近鄰比較Fig.6 Nearest neighbor comparison based on Euclidean distance and CS
得到RSSI 信號后,對所有參考點(diǎn)對應(yīng)的余弦相似度進(jìn)行降序排列,選取前L個參考點(diǎn),將選取的L個參考點(diǎn)對應(yīng)的位置坐標(biāo)作均值處理,估算出目標(biāo)點(diǎn)在待測區(qū)域的位置坐標(biāo),即
為了研究本文所提算法在真實(shí)環(huán)境中的定位性能,選擇了具有典型室內(nèi)環(huán)境布局的兩處實(shí)驗(yàn)地點(diǎn),分別為上海理工大學(xué)光電大樓的8 樓實(shí)驗(yàn)層和9 樓辦公層,記為區(qū)域A 和區(qū)域B。區(qū)域A 和區(qū)域B分別如圖7(a)和7(b)所示。
圖7 實(shí)驗(yàn)定位區(qū)域Fig.7 Experimental positioning area
定位區(qū)域A 選取8 樓的所有走廊,該區(qū)域人員眾多,走動頻繁,且存在較強(qiáng)環(huán)境因素干擾,如墻壁、不穩(wěn)定信號源等,使其能代表人員密集型的室內(nèi)環(huán)境,如超市、醫(yī)院等。定位區(qū)域B 選取9 樓辦公層的所有走廊及中間休息大廳,該區(qū)域人員數(shù)量適中、存在少量的人員走動,且包含有一塊環(huán)境因素干擾較小的區(qū)域,使其能代表人員相對稀疏的室內(nèi)環(huán)境,如辦公樓、體育館等。實(shí)驗(yàn)定位區(qū)域面積都為66.6 m×12.6 m。離線階段,區(qū)域A 與區(qū)域B 中每隔1.8 m 部署一個參考點(diǎn),分別設(shè)置了88 個和136 個參考點(diǎn)。
本文利用4 種異構(gòu)設(shè)備采集樓宇內(nèi)所有路由器發(fā)送的Wi?Fi 信號。由于API 接口對于IOS 系統(tǒng)和安卓系統(tǒng)操作原理不同,在實(shí)驗(yàn)后續(xù)操作階段,將無法接收到的Wi?Fi 信號RSSI 值設(shè)為0。在線階段,在區(qū)域A 和區(qū)域B 中每隔3.6 m 均勻部署36 個和44 個目標(biāo)點(diǎn),采集的RSSI 信號均值化后用于在線定位。
3.2.1 總體性能分析
首先,本文研究在區(qū)域A 和區(qū)域B 中采用相同或不同設(shè)備進(jìn)行實(shí)驗(yàn)時(shí)各算法的性能。同構(gòu)設(shè)備中,離線指紋庫和在線指紋均采用iPhone 7p 采集;異構(gòu)設(shè)備中,離線階段使用iPhone 7p 采集的指紋庫,在線階段使用Mate30 采集的在線指紋,其他設(shè)備組合將在下文討論。不同算法的性能結(jié)果如表2 所示。
表2 不同算法的性能比較Table 2 Performance comparison of different algorithms
表2 中PA?SD?CS為本文所提的定位算法,SD?WKNN為采用SD算法的WKNN定位算法,SSD?WKNN 為RSSI 信號強(qiáng)度差的WKNN 定位算法。在定位區(qū)域A 中,WKNN 及相關(guān)算法中K取3,CS 算法中的L取3,且因?yàn)榄h(huán)境因素干擾較強(qiáng),AP 選擇個數(shù)N設(shè)為80(共可采集到100~150 個AP 點(diǎn));在區(qū)域B 中,K取7,L取7,N設(shè)為90(共可采集到150~200 個AP 點(diǎn))。
由表2 可以看出,在同一定位區(qū)域,不管采用何種定位方法,與同構(gòu)設(shè)備相比較,采用異構(gòu)設(shè)備時(shí)定位精度均有不同程度的下降。但本文所提算法在區(qū)域A 和區(qū)域B 中的定位精度均最高,同構(gòu)設(shè)備下分別是2.34 m 和1.89 m,而WKNN 是2.75 m 和2.03 m,提高了14.9%和6.9%;異構(gòu)設(shè)備下分別為2.96 m和2.29 m,而WKNN 是3.76 m 和2.92 m,提高了21.3%和21.6%。并且區(qū)域A 中方差均小于4,區(qū)域B中均小于2,相較于其他算法,本算法方差最小,穩(wěn)定性最高。以上說明本文的定位算法可以有效提高定位的精度和魯棒性,適用于多種室內(nèi)環(huán)境。
3.2.2 AP 選擇個數(shù)對定位性能的影響
通常情況下,樓宇內(nèi)部署有大量發(fā)射Wi?Fi 信號的路由器,必定存在對定位性能提高幫助不大甚至降低定位性能的AP 點(diǎn)。因此本文在區(qū)域A 和區(qū)域B 中研究AP 選擇個數(shù)對定位性能的影響,各參數(shù)保持不變,實(shí)驗(yàn)結(jié)果如圖8 所示。圖8 為區(qū)域A 中平均定位誤差隨AP 數(shù)量變化分布圖,離線階段使用iPhone 7p 采集,在線階段使用Mate30 采集。可以看出,算法的平均定位誤差隨著AP 數(shù)量的增大總體趨勢逐漸減少,在AP 數(shù)量為90 個時(shí),PA?SD?CS、SSD?WKNN、SD?WKNN 及WKNN 的定位精度分別為2.66 m,3.5 m,3.47 m 和4.57 m。在區(qū)域B 中也可觀察到類似的結(jié)果,由此可知,本文所提的算法可以應(yīng)用于AP 點(diǎn)數(shù)量眾多的場合且有較高的定位精度。
圖8 平均定位誤差隨AP 數(shù)量變化分布Fig.8 Distribution of average positioning er?ror with the number of AP
3.2.3 離線階段指紋庫的稀疏性對定位性能的影響
離線指紋庫中參考點(diǎn)的分布密度決定了離線階段的人力成本,同時(shí)指紋庫的稀疏性也會影響到定位的精度,因此實(shí)驗(yàn)也研究了離線指紋庫網(wǎng)格大小對定位精度的影響,并使用平均定位誤差為參考標(biāo)準(zhǔn),如表3 所示。從表3 可以看出,隨著指紋庫網(wǎng)格的增大,各算法的平均定位誤差也隨之增大,并且在相同網(wǎng)格大小下,PA?SD?CS 的定位精度最高。同樣的,在達(dá)到相同的精度的情況下,PA?SD?CS 所需的網(wǎng)格密度更大。如區(qū)域B 中,達(dá)到3 m 左右的定位精度,PA?SD?CS只需5.4 m×1.8 m 的網(wǎng)格大小,而WKNN、SD?WKNN 都需要更密的3.6 m×1.8 m 網(wǎng)格。由此可見,本文所提算法可應(yīng)用于稀疏指紋庫的定位,且保持了較好的定位精度。
表3 網(wǎng)格大小對定位精度的影響(離線階段:iPhone 7p,在線階段:Mate30)Table 3 Influence of grid size on positioning accuracy(off?line:iPhone 7p,on?line:Mate30)
3.2.4 CS 算法選取最近鄰個數(shù)對定位性能的影響
CS 算法將L個選取出的參考點(diǎn)對應(yīng)坐標(biāo)的均值作為目標(biāo)點(diǎn)位置坐標(biāo),則選取個數(shù)L會影響定位性能。如圖9 所示,在區(qū)域A 與區(qū)域B 中,定位誤差隨最近鄰選取個數(shù)L的變化而改變。在區(qū)域A 中,L的選擇區(qū)間為3~4 時(shí)算法的定位性能相對更好,這可能與區(qū)域A 包含有狹長走廊的實(shí)驗(yàn)環(huán)境有關(guān);而在區(qū)域B 包含有走廊和大廳的實(shí)驗(yàn)環(huán)境中,L的選擇區(qū)間可為4~7 能保證良好的定位效果。
圖9 最近鄰個數(shù)對定位性能的影響Fig.9 Influence of the number of elements on positioning performance
3.2.5 不同異構(gòu)設(shè)備組合對定位性能的影響
上述實(shí)驗(yàn)中的離線參考指紋庫和在線指紋使用iPhone 7p 和Mate30 設(shè)備組合采集,但是不同異構(gòu)設(shè)備組合采集的RSSI 信號具有差異性,會在一定程度上影響定位性能,因此本文研究不同異構(gòu)設(shè)備組合對定位性能的影響。圖10 給出了各算法在不同異構(gòu)設(shè)備組合下的誤差累計(jì)分布函數(shù)(Cumulative distribution function,CDF),圖10(a)為離線指紋庫與在線信號分別由iPhone XS Max 和Mate30pro 設(shè)備組合(記為組合1)采集,圖10(b)則使用Mate30pro 和iPhone 7p 設(shè)備組合(記為組合2)采集。
圖10 不同異構(gòu)設(shè)備組合對定位性能的影響Fig.10 Influence of different heterogeneous device combinations on positioning performance
圖10(a,b)中,PA?SD?CS 算法在累積分布為50%時(shí),定位誤差分別為2.16 m 和1.92 m,WKNN 則分別為2.77 m 和2.39 m,分別提高了22%和19.7%。由此可知,在不同異構(gòu)設(shè)備組合下,相較于其他算法,本文算法都具有較高的定位精度,較為有效地解決了異構(gòu)設(shè)備引入的誤差,具有一定的普遍適用性。
本文針對離線階段和在線階段使用異構(gòu)設(shè)備采集RSSI 數(shù)據(jù)時(shí)引入的固有誤差的問題,提出了一種基于余弦相似度的數(shù)據(jù)處理算法。該方法在離線階段采用普氏分析法將異構(gòu)設(shè)備采集的數(shù)據(jù)標(biāo)準(zhǔn)化,形成標(biāo)準(zhǔn)化離線指紋庫。定位階段使用CS 算法,選取余弦相似度最大的前L個參考點(diǎn),將其對應(yīng)的坐標(biāo)均值作為目標(biāo)點(diǎn)的位置坐標(biāo)實(shí)現(xiàn)定位。本文研究兩個典型室內(nèi)環(huán)境下,AP 數(shù)量、離線指紋庫稀疏度等因素對算法性能的影響。實(shí)驗(yàn)結(jié)果表明,本文所提的算法在降低計(jì)算復(fù)雜度的同時(shí)能保持較高的定位精度,算法具有一定的魯棒性。后續(xù)工作可以集中在進(jìn)一步提高算法的定位精度。