文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.180768
中文引用格式: 王培良,張婷,肖英杰. 改進(jìn)指紋庫精度下的室內(nèi)定位算法研究[J].電子技術(shù)應(yīng)用,2018,44(10):97-101,105.
英文引用格式: Wang Peiliang,Zhang Ting,Xiao Yingjie. Research on indoor positioning algorithm based on improved fingerprint library accuracy[J]. Application of Electronic Technique,2018,44(10):97-101,105.
0 引言
隨著無線傳感器網(wǎng)絡(luò)(WSN)技術(shù)的不斷發(fā)展,基于位置感知的服務(wù)和計算在實際中得到廣泛使用。目前,室內(nèi)定位技術(shù)主要有:超聲波[1]、紅外線、RFID[2]、WiFi、UWB[3]等技術(shù)。本文使用成本低、功耗低、復(fù)雜度低的德州儀器公司CC2530芯片基于ZigBee協(xié)議進(jìn)行研究,通過節(jié)點間的接收信號強(qiáng)度指示(Received Signal Strength Indication,RSSI)值進(jìn)行室內(nèi)定位。依據(jù)定位算法過程中是否使用節(jié)點間距離,定位方式分為基于測距和非測距方式兩種,本文使用的指紋數(shù)據(jù)庫即為非測距方式。
指紋數(shù)據(jù)庫定位需經(jīng)歷兩個階段:離線建庫階段和在線定位階段[4-5],其原理如圖1所示。在離線建庫階段,通過采集預(yù)設(shè)定的接入點(Access Point,AP)與各參考節(jié)點(Reference Point,RP)之間的RSSI值來建立原始指紋庫[6-8]。文獻(xiàn)[9]通過使用K-Means聚類算法,實現(xiàn)眾包指紋庫建模。本文在采集原始數(shù)據(jù)的基礎(chǔ)上,通過離群點檢測發(fā)現(xiàn)其與大部分?jǐn)?shù)據(jù)存在顯著差別的數(shù)據(jù)對象,將其視為噪聲而丟棄,然后使用雙閾值濾波處理得到最終的高精度指紋數(shù)據(jù)庫。
在線定位階段,通過將實時采集到的待測點RSSI值與指紋數(shù)據(jù)庫中的數(shù)據(jù)集進(jìn)行比對,計算得到待測節(jié)點的位置坐標(biāo)。廣泛使用的典型定位算法主要包括核函數(shù)法、最近鄰法、最大似然概率法以及樸素貝葉斯法。文獻(xiàn)[10]-[12]通過研究提出增強(qiáng)型的聚類策略、權(quán)值算法以及優(yōu)化質(zhì)心等,可顯著提升定位速度和精度。上述研究方法通常易受待測點RSSI值波動的影響,同時在計算速度和精度上難以滿足要求。本文通過使用FCM算法將待測節(jié)點的RSSI值進(jìn)行聚類,從而剔除跳變點,然后使用基于頻率因子的加權(quán)K最鄰近算法(Weighting K-Nearest Neighbor,WKNN),計算得到待測點的位置,并且給出“備用位置”。
1 理論與方法
1.1 離線建庫階段
高精度指紋數(shù)據(jù)庫的建立是提高定位準(zhǔn)確度的前提條件[13]。由于在AP點進(jìn)行信息采集時,其數(shù)據(jù)存在大量噪聲影響指紋庫的精度,因此本文使用下述方法提高建庫精度。
假定定位區(qū)域網(wǎng)格化后有m個AP和n個RP,其分別記為集合{AP1,AP2,…,APm}、{RP1,RP2,…,RPn},其中m值亦為每個AP點的標(biāo)簽,且每個AP接收到s組數(shù)據(jù),記為:
1.1.1 離群點檢測方法
本文首先使用基于聚類分析的離群點檢測算法將原始數(shù)據(jù)中噪聲去除,其步驟:
(1)選擇合適的聚類算法對RSSIn進(jìn)行聚類分析,本文使用K-Means算法。
(2)計算RSSIn中各點與最近質(zhì)心的歐式距離,公式為:
其中,Z表示各類質(zhì)心的坐標(biāo)。
(3)與給定的閾值η1進(jìn)行比較,若Di>η1,則該RSSIi視為離群點,并將該點從源數(shù)據(jù)中剔除。
1.1.2 雙閾值濾波方法
在進(jìn)行離群點檢測時,某些離群點可能形成小簇從而逃避檢測,因此需要使用雙閾值濾波對其進(jìn)一步處理。首先對數(shù)據(jù)進(jìn)行數(shù)據(jù)頻率閾值濾波,設(shè)頻率閾值為:
1.2 在線定位階段
為剔除待測節(jié)點RSSI值的噪聲,同時為增大數(shù)據(jù)有效性,本文在在線定位階段使用基于FCM與WKNN相結(jié)合的方法對數(shù)據(jù)進(jìn)行處理。
1.2.1 FCM算法論述
具體過程如下:首先用加權(quán)指數(shù)m和分類數(shù)c初始化隸屬度矩陣,然后重復(fù)迭代使用式(7)、式(8)求解聚類中心和新的隸屬度矩陣并將結(jié)果待入式(6),直到Jm(U,V)小于給定的正數(shù)ε或者達(dá)到最大迭代步長,則聚類過程結(jié)束,得到待測節(jié)點數(shù)據(jù)集X={x1,x2,…,xi},其中i∈(1,l)表示聚類之后的數(shù)據(jù)量。
1.2.2 WKNN算法論述
最鄰近定位算法通過計算待測節(jié)點的RSSI實時測量值與指紋庫中各對應(yīng)指紋數(shù)據(jù)之間的歐式距離,從中搜尋距離最小的指紋點,然后將各個指紋數(shù)據(jù)通過平均或加權(quán)平均作為待測目標(biāo)的位置。歐式距離計算公式如下:
其中,Ij表示距離最近的前K個AP節(jié)點所分別對應(yīng)的標(biāo)簽值。
為防止出現(xiàn)小概率性的錯誤定位問題,本文同時給出待測節(jié)點的“備用位置”作為參考。其原理為使用上述加權(quán)K最鄰近定位算法迭代計算出與待測節(jié)點相近的多個節(jié)點并進(jìn)行排序(其中Lc計算出的位置節(jié)點除外),選擇前2~4位節(jié)點作為待測節(jié)點的方向估計,第1位節(jié)點作為待測節(jié)點的“備用位置”估計。
2 實驗結(jié)果及分析
本文選用信號干擾強(qiáng)、設(shè)備多、使用環(huán)境復(fù)雜的校園多媒體教室進(jìn)行實驗,選定其中20 m×20 m的為本次實驗區(qū)域。
在本實驗的離線建庫階段,共設(shè)置100個AP節(jié)點,每個AP節(jié)點連續(xù)采集120 s的信號強(qiáng)度值數(shù)據(jù),然后對本段時間內(nèi)的數(shù)據(jù)進(jìn)行處理從而建立指紋庫。下面選取第4個AP節(jié)點數(shù)據(jù)進(jìn)行分析,其原始數(shù)據(jù)如圖2所示。
為清晰表達(dá)算法處理過程,后續(xù)處理時以本節(jié)點的REF1參考節(jié)點數(shù)據(jù)值為對象,且RSSI值繪圖時使用其絕對值表示。
2.1 指紋庫建立
首先對數(shù)據(jù)值進(jìn)行離群點檢測,其中設(shè)定離散點閾值為0.7,最大迭代次數(shù)設(shè)置為500,則處理結(jié)果如圖3所示。
從圖3可知,距離誤差超過閾值的所有點,均視為離群點,應(yīng)從數(shù)據(jù)集中剔除,以免影響后續(xù)數(shù)據(jù)處理過程。
離群點剔除后對數(shù)據(jù)集進(jìn)行雙閾值濾波處理,其結(jié)果如圖4所示。
分析圖4可知,數(shù)據(jù)經(jīng)過雙閾值濾波后,能夠進(jìn)一步抑制噪聲的干擾,并且可降低后續(xù)指紋數(shù)據(jù)庫建立的復(fù)雜度。
同理,將此AP點接收的其他REF數(shù)據(jù)進(jìn)行上述處理,從而得到最終的該AP點對應(yīng)于每個RP點的指紋數(shù)據(jù),并建立數(shù)據(jù)庫。
2.2 定位結(jié)果
在實驗區(qū)域內(nèi),共設(shè)置10個待測節(jié)點,每個節(jié)點連續(xù)采集信號時間亦均為120 s,現(xiàn)選取任意待測點數(shù)據(jù)進(jìn)行分析,其原始數(shù)據(jù)如圖5所示。
在使用算法對待測節(jié)點數(shù)據(jù)進(jìn)行分析前,需將其每次接收到的不同RP點的RSSI值進(jìn)行統(tǒng)一化處理,并將其作為待測節(jié)點數(shù)據(jù)集中的一個觀測值(行屬性),其統(tǒng)計結(jié)果如圖6所示。
然后使用FCM算法對此數(shù)據(jù)集進(jìn)行處理,其目標(biāo)函數(shù)中隸屬度冪指數(shù)為3,最大迭代次數(shù)為200,目標(biāo)函數(shù)的終止容限位1×10-6。經(jīng)反復(fù)試驗,最終本文選用分類數(shù)為2,不同分類數(shù)結(jié)果如圖7所示。
對圖7趨勢分析可知,針對本次研究數(shù)據(jù),當(dāng)分類數(shù)為2時,處理效果優(yōu)于其他分類數(shù)。
最后使用基于頻率因子的WKNN算法對上述分類后的數(shù)據(jù)進(jìn)行計算,得到待測節(jié)點位置,其定位誤差為1.85 m,備用位置的定位誤差為2.13 m。同理,可得其余待測節(jié)點的位置誤差。通過對比本文研究方法與傳統(tǒng)原始定位方法(未濾波指紋數(shù)據(jù)庫定位和未優(yōu)化FCM+WKNN定位算法),可明顯看出其定位精度的提升,結(jié)果如表1所示。
3 結(jié)論
本文首先通過離群點檢測與雙閾值濾波結(jié)合的方式對不同AP點采集的原始RSSI值數(shù)據(jù)進(jìn)行處理,建立高精度指紋數(shù)據(jù)庫,然后使用FCM算法對待測節(jié)點的RSSI值進(jìn)行分類,最后使用WKNN算法計算出待測節(jié)點的位置信息。經(jīng)過實驗證明,本文的研究方法相比于未濾波數(shù)據(jù)庫和未優(yōu)化算法等方式,在定位精度上有明顯提高,并能給出“備用位置”信息。
參考文獻(xiàn)
[1] 葉寶玉,王欽若,熊建斌,等.基于超聲波的模型船舶室內(nèi)定位系統(tǒng)研究[J].計算機(jī)工程,2012,38(19):258-260,265.
[2] 馬卜林,楊帆.煤礦井下WiFi人員定位GIS系統(tǒng)設(shè)計與實現(xiàn)[J].西安科技大學(xué)學(xué)報,2012,32(3):301-305.
[3] 肖竹,王勇超,田斌,等.超寬帶定位研究與應(yīng)用:回顧和展望[J].電子學(xué)報,2011,39(1):133-141.
[4] 張翔,熊劍,武和雷,等.基于MNN改進(jìn)粒子濾波的指紋庫定位算法研究[J].計算機(jī)工程與設(shè)計,2014,35(7):2283-2288.
[5] 方爽,郭杭,洪海斌,等.一種虛擬空間劃分的室內(nèi)指紋庫定位方法[J].測繪科學(xué),2015,40(1):93-97.
[6] 劉小康,郭杭.基于Zigbee室內(nèi)定位系統(tǒng)的指紋庫優(yōu)化算法[J].計算機(jī)工程,2014,40(2):193-198.
[7] HOU Y,SUM G,F(xiàn)AN B.The indoor wireless location technology research based on WiFi[C].International Conference on Natural Computation.IEEE,2014:1044-1049.
[8] GUO S,ZHONG Z,HE T.FIND:faulty node detection for wireless sensor networks[C].ACM Conference on Embedded Networked Sensor Systems.ACM,2009:253-266.
[9] ZHOU M,TIAN Z,XU K,et al.SCaNME: Location tracking system in large-scale campus Wi-Fi environment using unlabeled mobility map[J].Expert Systems with Applications,2014,41(7):3429-3443.
[10] 霍歡,楊滬滬,鄭德原,等.一種改進(jìn)的RSSI指紋庫定位算法[J].計算機(jī)應(yīng)用研究,2017,34(9):2786-2790.
[11] 戴國華,易靈芝,王根平.一種新的基于ZigBee技術(shù)定位算法[J].計算機(jī)測量與控制,2012,20(4):1105-1107.
[12] 趙山,彭力.基于ZigBee網(wǎng)絡(luò)的移動節(jié)點定位技術(shù)研究[J].測控技術(shù),2014,33(10):51-55.
[13] 王頂,馬娟,趙頤軒.基于RSS空時處理的指紋定位算法[J].計算機(jī)應(yīng)用研究,2012,29(12):4726-4728.
作者信息:
王培良1,2,張 婷3,肖英杰1
(1.上海海事大學(xué) 商船學(xué)院,航運仿真技術(shù)教育部工程研究中心,上海201306;
2.濰坊科技學(xué)院,山東 濰坊262700;3.山東交通職業(yè)學(xué)院,山東 濰坊261206)