張寶山 童紫原 唐守鋒 童敏明 徐朝亮
摘 要: 目前的室內(nèi)定位系統(tǒng)還存在很多問題,如:系統(tǒng)成本高、定位精度低、不能適應(yīng)室內(nèi)環(huán)境的多變性等,這些問題也成為了現(xiàn)階段室內(nèi)定位技術(shù)研究的熱點(diǎn)?;赗SSI的定位技術(shù)是解決這些問題的有效途徑之一。圍繞RSSI定位技術(shù),從RSSI的基本原理入手,分析了RSSI實(shí)現(xiàn)定位過程中所用的算法,比較它們的優(yōu)缺點(diǎn),并對現(xiàn)階段室內(nèi)定位技術(shù)所面臨的難點(diǎn)問題進(jìn)行分析總結(jié)。
關(guān)鍵詞: 無線傳感網(wǎng)絡(luò); RSSI; 室內(nèi)定位; 算法綜述; 研究熱點(diǎn)
中圖分類號:TP399 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2018)07-01-04
Abstract: The current indoor positioning system still exists many problems, such as high system cost, low precision, complex and changeable indoor environment, etc., these problems become the focus of indoor positioning technology research at present stage. RSSI based positioning technology is one of the effective ways to solve these problems. Based on RSSI localization technology, this paper starts with the basic principles of RSSI, analyzes the algorithms used in the localization process of RSSI, compares their advantages and disadvantages, and the problems of indoor positioning technology are analyzed and summarized.
Key words: wireless sensor network; RSSI; indoor positioning; algorithm overview; research hot spot
0 引言
對于室外環(huán)境,全球定位系統(tǒng)(GPS)能提供較高精度的定位服務(wù)。但對于室內(nèi)環(huán)境以及封閉環(huán)境來說,GPS信號就衰減嚴(yán)重,根本無法使用。而隨著無線傳感器網(wǎng)絡(luò)(WSN)的發(fā)展,這一問題可以得到有效的解決。1992年,英國劍橋的Active Badge系統(tǒng)是最早期的室內(nèi)定位系統(tǒng)之一;2002年,加利福尼亞大學(xué)的Calamari系統(tǒng)同時(shí)采用了TOA和RSSI兩種技術(shù)進(jìn)行定位;目前國內(nèi)對室內(nèi)無線定位系統(tǒng)十分重視,室內(nèi)定位技術(shù)與算法已經(jīng)是現(xiàn)階段研究的熱點(diǎn),而室內(nèi)定位的重點(diǎn)問題則是如何降低系統(tǒng)的成本,以及如何提高定位的精度。
室內(nèi)定位技術(shù)的算法分類有很多種方法。其中,根據(jù)是否測量節(jié)點(diǎn)間的實(shí)際距離,可分成基于測距定位算法和非測距定位算法。相較于非測距定位算法而言,基于測距定位算法的測量精度比較高,但它對于系統(tǒng)的硬件要求也比較高。具體來說,非測距定位算法主要分為三類,即近似三角形內(nèi)點(diǎn)測試法(APIT)[2]、DV-Hop算法[3]以及質(zhì)心法[4]等。這些算法可以利用估計(jì)距離來計(jì)算未知節(jié)點(diǎn)的位置,而基于測距定位算法有信號達(dá)到角度法(AOA)[5]、信號達(dá)到時(shí)間法(TOA)[6]、信號達(dá)到時(shí)間差法(TDOA)[7]、RSSI[8]等算法,這些算法需要測量節(jié)點(diǎn)間的實(shí)際距離。在這些定位算法中,對硬件要求都比較高,AOA算法要有感知信號方向的硬件設(shè)備,TOA算法對時(shí)鐘同步有嚴(yán)格要求,而TDOA算法要求節(jié)點(diǎn)配有超聲波。而基于RSSI的定位算法是一種低功耗且低成本的定位技術(shù),其系統(tǒng)的硬件節(jié)點(diǎn)基本可以利用射頻信號來實(shí)現(xiàn)無線通信功能,具有很好的應(yīng)用前景。本文主要對基于RSSI的一系列算法進(jìn)行詳細(xì)的闡述與分析。
1 RSSI處理
1.1 RSSI的獲取
RSSI(Received Signal Strength Indication)指的是接收信號強(qiáng)度指示,用來判定鏈接質(zhì)量以及是否增大廣播發(fā)送強(qiáng)度。通過檢測接收的RSSI信號強(qiáng)弱來估計(jì)信號發(fā)射點(diǎn)和接收點(diǎn)的距離,然后根據(jù)估計(jì)的距離來進(jìn)行計(jì)算,最終得到未知節(jié)點(diǎn)的位置。RSSI的獲取可以有多種方式,例如WIFI、藍(lán)牙、RFID、ZigBee等,它們的性能對比如表1所示。
距離估計(jì)法:首先通過信號的參數(shù)計(jì)算已知節(jié)點(diǎn)與未知節(jié)點(diǎn)的距離或者角度等信息,其次利用幾何方法計(jì)算未知節(jié)點(diǎn)的估計(jì)位置。
鄰近法:當(dāng)定位目標(biāo)進(jìn)入事先布置好的天線范圍內(nèi)時(shí),會(huì)被天線檢測到,從而可以知道物體的大致位置,此方法需在室內(nèi)布置密集的天線網(wǎng)格,容易實(shí)現(xiàn),但精度不高。
場景分析法:場景分析法又稱作位置指紋定位法。它主要分為兩個(gè)步驟:首先大量采集區(qū)域內(nèi)的環(huán)境信息;然后利用匹配測量值與采集好的指紋集來估計(jì)未知節(jié)點(diǎn)的位置。它主要分為K最近鄰(KNN)和概率統(tǒng)計(jì)法等。
1.2 室內(nèi)路徑損耗模型
根據(jù)研究表明,在實(shí)際應(yīng)用的環(huán)境中,信號強(qiáng)度會(huì)隨著傳輸距離的增加而衰減,所以不能用精確的關(guān)系式來表示,而信號強(qiáng)度和位置之間的近似關(guān)系通常可以用路徑損耗模型來表示:
式⑴中,d是發(fā)射源和接收方之間的距離;RSSIPL是經(jīng)過距離d后信號強(qiáng)度的衰減量;d0指參考距離,一般取1m;RSSI0和α是由校準(zhǔn)數(shù)據(jù)確定的常數(shù),它們主要依賴于周圍環(huán)境等不定因素,其中RSSI0為定位節(jié)點(diǎn)與參考節(jié)點(diǎn)之間的距離d=1m時(shí)測得的RSSI,α為信號衰減因子,一般設(shè)為2~4;誤差項(xiàng)e是指由多路徑傳播、反射、干涉等引起信號強(qiáng)度波動(dòng)的隨機(jī)變量,在實(shí)際應(yīng)用中一般不予考慮。簡化公式后得到式⑵。
1.3 RSSI濾波
由于在實(shí)際環(huán)境中存在著多徑效應(yīng)、非視距以及障礙物等多種隨機(jī)因素,會(huì)使得實(shí)際獲取的RSSI值有很大的波動(dòng)性,這為下一步的定位過程帶來了很大的麻煩,所以我們需要對測得的RSSI值進(jìn)行平滑濾波優(yōu)化處理[9]。比較常用的濾波算法有:均值濾波、遞推平均濾波、中值濾波、狄克遜檢驗(yàn)法濾波、高斯濾波、速度常量濾波以及卡爾曼濾波等等。下面介紹三種常用來平滑RSSI值的濾波方法:均值濾波、高斯濾波和卡爾曼濾波。
均值濾波:節(jié)點(diǎn)接收到另一節(jié)點(diǎn)的多組RSSI值之后,用下式⑶求出它們的幾何平均值,即為濾波后的結(jié)果。
高斯濾波:由于實(shí)際環(huán)境存在的各種干擾因素,會(huì)使未知節(jié)點(diǎn)接收到的多組RSSI值產(chǎn)生一些小概率誤差。通過高斯函數(shù)篩選高概率發(fā)生區(qū)的RSSI值作為的有效值,再求它們的算數(shù)平均值。這樣就能夠大幅度地降低小概率大干擾的RSSI值對整體測量數(shù)據(jù)的影響,從而一定程度上的提高了定位的精度。RSSI近似服從(μ,δ2)的高斯分布,其概率密度函數(shù)如公式⑷所示。
通過公式⑷和⑸可求出以及方差。為了減少小概率事件對RSSI的影響,根據(jù)高斯函數(shù)高概率發(fā)生區(qū)(選擇概率大于0.6的范圍),對公式⑷作以下限制:
然后將符合上式⑺的RSSI值放入數(shù)組中,最終可通過公式⑻得到RSSI信號的最終優(yōu)化值。
卡爾曼濾波:最初的經(jīng)典卡爾曼濾波只適用于線性系統(tǒng)的濾波,隨著算法研究的進(jìn)一步深入,適合非線性系統(tǒng)的卡爾曼濾波被提出,其中包括無跡卡爾曼濾波(UKF),擴(kuò)展卡爾曼濾波(EKF)等。本文主要介紹常規(guī)的線性卡爾曼濾波算法。卡爾曼濾波算法采用信號與噪聲的狀態(tài)空間模型,使用前一時(shí)刻的估計(jì)值以及當(dāng)前時(shí)刻的觀測值對狀態(tài)變量的估計(jì)進(jìn)行更新,以算得當(dāng)前時(shí)刻的估計(jì)值。它可以分為兩個(gè)階段:預(yù)測階段和校正階段。預(yù)測階段是根據(jù)上一時(shí)刻的狀態(tài)估計(jì)下一時(shí)刻的狀態(tài);校正階段則是利用當(dāng)前時(shí)刻的估計(jì)值與觀測值,估計(jì)出最優(yōu)的狀態(tài)。具體過程如下。
預(yù)測階段:狀態(tài)預(yù)測與誤差矩陣預(yù)測,分別以公式⑼和公式⑽表示。
校正階段:卡爾曼增益計(jì)算、狀態(tài)校正(其輸出就是最終濾波的結(jié)果)以及誤差矩陣更新,它們分別對應(yīng)公式⑾~⑿。
在上面各式中,Xk表示k時(shí)刻的RSSI值;A、B為系統(tǒng)參數(shù);Uk為k時(shí)刻外界對系統(tǒng)的作用;Q表示預(yù)測噪聲協(xié)方差矩陣;Pk為誤差矩陣;R為測量噪聲協(xié)方差矩陣;H為觀測矩陣;Kk表示k時(shí)刻卡爾曼增益;Zk為k時(shí)刻的觀測值。
總的來說,均值濾波算法簡單,易實(shí)現(xiàn),但精度不高,效果不是很理想。相比之下,高斯濾波算法效果很好,但算法復(fù)雜,計(jì)算量大。而卡爾曼濾波可以很好的去除噪聲,但它更適用于運(yùn)動(dòng)中的物體。在實(shí)際應(yīng)用中,我們可以根據(jù)實(shí)際情況,選擇合適的算法或混合多種算法,以達(dá)到理想的濾波效果。
2 定位算法
基于RSSI的定位算法很多,像三角/三邊質(zhì)心算法、加權(quán)質(zhì)心算法、最小二乘法[10]、雙曲線法、位置指紋算法、融合算法以及各種改進(jìn)衍生算法等等。下面就介紹幾種基于RSSI的基本或比較常用的算法。我們假設(shè)三個(gè)已知節(jié)點(diǎn)的坐標(biāo)分別為(x1,y1)、(x2,y2)、(x3,y3),未知節(jié)點(diǎn)的坐標(biāo)為(x,y),未知節(jié)點(diǎn)到已知節(jié)點(diǎn)的距離分別為d1、d2、d3。
2.1 三邊定位算法
在基于測距的算法中,三邊定位是最基礎(chǔ)、也是使用最多的算法之一。它的基本原理如下:假設(shè)在理想狀態(tài)下,利用已知節(jié)點(diǎn)收到的RSSI值,根據(jù)公式⑵,可以得到它與未知節(jié)點(diǎn)的距離d,則利用三個(gè)已知節(jié)點(diǎn)的d,相交于一點(diǎn)(如圖1),即未知節(jié)點(diǎn)的坐標(biāo)。
通過下式⑼可以求出未知節(jié)點(diǎn)的坐標(biāo)(x,y)。
但在實(shí)際應(yīng)用中,由于誤差的存在,會(huì)使三個(gè)圓交于一個(gè)區(qū)域(如圖2)。這樣的話,就需要一些算法進(jìn)行求解,常用的有:最小二乘估計(jì)法、三角形質(zhì)心法以及極大似然估計(jì)法等。
2.2 加權(quán)質(zhì)心算法
根據(jù)公式⑴可知,已知節(jié)點(diǎn)與未知節(jié)點(diǎn)的距離越大,RSSI變化越小,相應(yīng)的造成定位誤差也會(huì)變大。而加權(quán)質(zhì)心算法的基本思想就是用加權(quán)系數(shù)體現(xiàn)每個(gè)參考節(jié)點(diǎn)對質(zhì)心坐標(biāo)決定權(quán)的大小。通過未知節(jié)點(diǎn)到參考節(jié)點(diǎn)之間的RSSI值,計(jì)算出每個(gè)參考節(jié)點(diǎn)的權(quán)值,通過這種方法提高待求質(zhì)心位置的精度。根據(jù)傳統(tǒng)質(zhì)心算法可以得到:
k作為加權(quán)質(zhì)心定位算法的加權(quán)因子指數(shù),k不同,定位的精度自然也會(huì)發(fā)生改變。加權(quán)質(zhì)心算法相比三邊算法來說,精度提高了很多,但計(jì)算量也相應(yīng)地加大。
2.3 位置指紋定位算法
位置指紋定位的基本思想:根據(jù)所在位置和所有已觀測到的位置測量值(指紋集)相匹配,接著根據(jù)所比較的情況進(jìn)行定位。它是一種基于學(xué)習(xí)的模型,運(yùn)用模式識別,可以將信號的不確定性考慮在內(nèi),在定位效果方面令人滿意。我們在使用位置指紋算法來進(jìn)行定位時(shí),一般分兩個(gè)階段:離線階段與在線階段。離線階段需要進(jìn)行多次采集區(qū)域內(nèi)各位置上的“指紋”數(shù)據(jù)(RSSI),并構(gòu)建一個(gè)數(shù)據(jù)庫,即訓(xùn)練集;在線階段中,定位系統(tǒng)會(huì)根據(jù)未知節(jié)點(diǎn)接收的RSSI值來估計(jì)它所在的位置?;谖恢弥讣y的定位通常有兩種算法。一種是確定性的算法,比較信號特征和存在指紋庫中的預(yù)先計(jì)算出來的統(tǒng)計(jì)值;另一種是概率性的算法,即計(jì)算信號特征屬于某個(gè)分布的可能性。
位置指紋定位算法的定位精度較高,但是給未知環(huán)境建立定位模型與校準(zhǔn)的工作量相當(dāng)?shù)拇蟆3艘酝?,?dāng)實(shí)際環(huán)境改變后,需要確定新的定位模型,維護(hù)成本將提高。
2.4 融合定位算法
經(jīng)過研究表明,利用多數(shù)據(jù)進(jìn)行融合處理可以獲得比單個(gè)數(shù)據(jù)源更加準(zhǔn)確、可靠的估計(jì)和定位。在測距定位系統(tǒng)中,接收到的RSSI信號會(huì)由于室內(nèi)環(huán)境的不確定性或多徑效應(yīng)而出現(xiàn)隨機(jī)變化;而在行人航跡推算(PDR)定位系統(tǒng)中,長時(shí)間的漂移會(huì)產(chǎn)生誤差的累積效果。由此可以融合RSSI測距的室內(nèi)行人航跡推算算法[11],以卡爾曼濾波算法實(shí)現(xiàn)兩者定位信息的融合,這樣可以獲得系統(tǒng)的最優(yōu)定位結(jié)果。此外,還可以將TDOA/AOA、地磁、慣導(dǎo)[19]、地圖等技術(shù)與RSSI定位融合起來,進(jìn)行定位。
融合定位算法融合了多種傳感器的信息以及多種定位技術(shù)來進(jìn)行綜合定位,具有優(yōu)勢互補(bǔ)的特點(diǎn),從而提高了定位系統(tǒng)的精度以及健壯性,降低了室內(nèi)定位系統(tǒng)的成本,這種算法也是室內(nèi)定位的研究熱點(diǎn)之一。
3 結(jié)束語
本文主要介紹并比較了在室內(nèi)定位過程中所用到的一些濾波算法、定位算法等。目前室內(nèi)定位技術(shù)的精度不斷提高,但其尚未被廣泛地應(yīng)用,主要原因還是由于環(huán)境的復(fù)雜、定位精度與系統(tǒng)成本難以兼顧等等。故找出一套精度高、成本低、普適性強(qiáng)的技術(shù)方案是室內(nèi)定位技術(shù)未來的發(fā)展趨勢,同時(shí)綜合利用各種定位技術(shù)及信息的融合定位也將是解決目前室內(nèi)定位難點(diǎn)問題的可行性方案之一。而隨著物聯(lián)網(wǎng)、通信技術(shù),以及計(jì)算機(jī)視覺等技術(shù)的快速發(fā)展,未來的室內(nèi)定位技術(shù)也不斷朝著智能化、精準(zhǔn)化、網(wǎng)絡(luò)化的方向發(fā)展。
參考文獻(xiàn)(References):
[1] 孫利民,李建中,陳渝,朱紅松.無線傳感器網(wǎng)絡(luò)[M].清華大學(xué)出版社,2005.
[2] 苗少卿,高航,趙國安.無線傳感網(wǎng)絡(luò)APIT定位算法的研究與改進(jìn)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2015.15(7):38-41
[3] 劉三陽,胡亞靜,張朝輝.基于RSSI測距的DV-Hop算法[J].控制與決策,2017.32(10):1900-1904
[4] 劉政.權(quán)重和誤差雙修正的質(zhì)心定位算法[J].自動(dòng)化儀表,2014.35(7):14-17
[5] Niculescu D, Nath B. Ad hoc positioning system (APS) using AOA[J]. Proceedings-IEEE INFOCOM,2003.3(2):1734-1743
[6] Alavi B, Pahlavan K. Modeling of the TOA-based distancemeasurement error using UWB indoor radio measurements[J].IEEE Communications Letters,2006.10(4):275-277
[7] Ma W K, Vo B N, Singh S S, et al. Tracking an unknowntime-varying number of speakers using TDOA measurements: a random finite set approach[J]. IEEE Transactions on Signal Processing,2006.54(9):3291-3304
[8] 倪巍,王宗欣.基于接收信號強(qiáng)度測量的室內(nèi)定位算法[J].復(fù)旦學(xué)報(bào)(自然科學(xué)版),2004.43(1):72-76
[9] 張錚,饒志訓(xùn),黃志峰.無線傳感器網(wǎng)絡(luò)中RSSI濾波的若干處理方法[J].現(xiàn)代電子技術(shù),2013.20:4-6
[10] 陶為戈,朱昳華,賈子彥.基于RSSI混合濾波和最小二乘參數(shù)估計(jì)的測距算法[J].傳感技術(shù)學(xué)報(bào),2012.25(12):1748-1753
[11] 鄭學(xué)理,付敬奇.基于PDR和RSSI的室內(nèi)定位算法研究[J].儀器儀表學(xué)報(bào),2015.36(5):1177-1185