陳 璇,董仕鵬
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
基于修正RSSI值的加權(quán)質(zhì)心定位算法
陳 璇,董仕鵬
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
針對(duì)利用接收信號(hào)強(qiáng)度指示(RSSI)進(jìn)行節(jié)點(diǎn)定位時(shí),RSSI值易受到環(huán)境因素的影響導(dǎo)致定位誤差。為減小定位誤差,在修正加權(quán)質(zhì)心定位算法的基礎(chǔ)上,使用卡爾曼濾波對(duì)連續(xù)采集到的RSSI值進(jìn)行最優(yōu)化處理,實(shí)現(xiàn)實(shí)時(shí)狀態(tài)的預(yù)測和估計(jì),使測距結(jié)果盡可能接近實(shí)際距離,為后續(xù)的定位提供更準(zhǔn)確的數(shù)據(jù)。仿真結(jié)果顯示,相比于之前的算法,改進(jìn)算法減小了定位誤差,提高了定位準(zhǔn)確度。
接收信號(hào)強(qiáng)度指示;節(jié)點(diǎn)定位;卡爾曼濾波;定位誤差
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSN)[1-3]是一種由成千上萬微傳感器構(gòu)成的具有動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)的自組織網(wǎng)絡(luò)。具有無線通信能力的傳感器節(jié)點(diǎn),被隨機(jī)拋灑在沒有基礎(chǔ)設(shè)施的無人區(qū)域,以協(xié)作的方式來感知、采集節(jié)點(diǎn)周圍環(huán)境中WSN部署者獲取所感興趣的信息。WSN被廣泛應(yīng)用于軍事、民用等領(lǐng)域[4-7]。
位置信息是傳感器節(jié)點(diǎn)采集數(shù)據(jù)中不可缺少的部分,沒有位置信息的檢測消息通常沒有意義。確定事件發(fā)生的位置或采集數(shù)據(jù)的節(jié)點(diǎn)位置是傳感器網(wǎng)絡(luò)最基本的功能之一。定位方法可以分為基于測距定位(Range-based)和無需測距定位(Range-free)兩類。測距技術(shù)有RSSI、TOA、TDOA等[8]。無需測距的定位算法有質(zhì)心算法[9]、APIT算法[10]、DV-Hop算法[11]和凸規(guī)劃算法[12]等。
本文在文獻(xiàn)[13]提出的修正加權(quán)質(zhì)心定位算法的基礎(chǔ)上,利用卡爾曼濾波[14-15]對(duì)RSSI值進(jìn)行去噪優(yōu)化處理,以期得到良好的定位精度。
1.1 RSSI測距
接收信號(hào)強(qiáng)度指示(RSSI)測距,通過測量發(fā)送功率與接收功率,計(jì)算傳播損耗,利用理論和經(jīng)驗(yàn)?zāi)P停瑢鞑p耗轉(zhuǎn)化為發(fā)送器與接收器的距離,最后采用定位技術(shù)估計(jì)未知節(jié)點(diǎn)的位置。
自由空間傳播模型:在無線信號(hào)傳播過程中,信號(hào)強(qiáng)度與傳輸距離之間存在一定關(guān)系,信號(hào)會(huì)產(chǎn)生一定的損耗和衰減,即信號(hào)傳播路徑損耗[16],其定義如下
Loss=32.44+10k×lg(d)+10k×lg(f)
(1)
式(1)中,Loss為路徑損耗;k為路徑衰減因子;d為與信源之間距離;f為信號(hào)的頻率。
(2)
式(2)中,PL(d)是路徑損耗;Xδ為環(huán)境參數(shù);d0是參考距離;PL(d0)為未知節(jié)點(diǎn)在距離d0處接受到的信號(hào)強(qiáng)度。節(jié)點(diǎn)接收到的RSSI值為
RSSI=Pt-PL(d)
(3)
式(3)中,Pt為發(fā)射信號(hào)強(qiáng)度;PL(d)為路徑損耗。未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)間的距離
(4)
式(4)中,A=Pt-PL(d0)。
1.2 基于RSSI的質(zhì)心定位算法
質(zhì)心算法的中心思想是,待定位節(jié)點(diǎn)以所有在其通信范圍內(nèi)的信標(biāo)節(jié)點(diǎn)的幾何質(zhì)心作為自己位置坐標(biāo)的估計(jì)值。對(duì)于未知節(jié)點(diǎn),其位置坐標(biāo)的估計(jì)值為
(5)
式(5)中,(xi1,yi1)…(xik,yik)為未知節(jié)點(diǎn)接收到的信標(biāo)節(jié)點(diǎn)位置坐標(biāo)。
基于RSSI的加權(quán)質(zhì)心定位算法基本原理是:估計(jì)傳感器節(jié)點(diǎn)的RSSI值,得到傳感器節(jié)點(diǎn)之間的距離,給每個(gè)節(jié)點(diǎn)一個(gè)權(quán)值,反應(yīng)不同信標(biāo)節(jié)點(diǎn)對(duì)未知節(jié)點(diǎn)的影響,因此未知節(jié)點(diǎn)的坐標(biāo)計(jì)算為
(6)
目前研究學(xué)者針對(duì)基于RSSI的質(zhì)心定位算法提出了各種改進(jìn)算法,例如,韓江洪等人提出了一種基于RSSI的極大似然與加權(quán)質(zhì)心混合定位算法,田曉燕等人提出了基于RSSI的三角形區(qū)域最小化的質(zhì)心定位算法等[17-19]。
采用RSSI測距時(shí)誤差波動(dòng)范圍比較集中,并且有時(shí)會(huì)有誤差峰值,使用卡爾曼濾波算法能夠很好的降低這種突然出現(xiàn)的誤差峰值,該算法通過對(duì)前一階段的數(shù)據(jù)統(tǒng)計(jì),從而估算出現(xiàn)在的數(shù)據(jù)發(fā)展趨勢,是最優(yōu)化的自回歸數(shù)據(jù)處理算法,且方法簡單、存貯量小。
卡爾曼濾波對(duì)RSSI測距方法修正:
(1)創(chuàng)建信號(hào)能量測距狀態(tài)模型
X(k)=AX(k-1)+BU(k)+W(k)
(7)
式(7)中,A為狀態(tài)轉(zhuǎn)移矩陣;BUk-1為預(yù)估的狀態(tài)控制量;Wk-1為預(yù)估的濾波噪聲。然后,針對(duì)特殊環(huán)境,采用自由空間模型與對(duì)數(shù)距離路徑損耗模型分析,建立觀察模型方程
Z(k)=HX(k)+V(k)
(8)
X(k)是k時(shí)刻的系統(tǒng)狀態(tài);U(k)為k時(shí)刻對(duì)系統(tǒng)的控制量;A和B是系統(tǒng)參數(shù);Z(k)是k時(shí)刻的測量值;H為測量系統(tǒng)參數(shù);W(k)和V(k)分別表示過程和測量的噪聲,一般被假設(shè)成高斯白噪聲,它們的Covariance分別為Q和R;
(2)卡爾曼濾波。濾波包括預(yù)測和修正,P(k|k-1)是在第k步之前狀態(tài)下對(duì)第k步的預(yù)測狀態(tài)的估計(jì),X(k|k-1)是已知Z(k)時(shí)第k步的修正狀態(tài)估計(jì)。
1)預(yù)測過程為
X(k|k-1)=AX(k-1|k-1)+BU(k)
(9)
式(9)中,X(k|k-1)為用上一狀態(tài)預(yù)測的結(jié)果;X(k-1|k-1)為上一狀態(tài)最優(yōu)的結(jié)果;U(k)為現(xiàn)在狀態(tài)的控制量。系統(tǒng)結(jié)果更新后再更新對(duì)應(yīng)的Covariance
P(k|k-1)=AP(k-1|k-1)AT+Q
(10)式(10)中,P(k|k-1)是X(k|k-1)對(duì)應(yīng)的Covariance;P(k-1|k-1)是X(k-1|k-1)對(duì)應(yīng)的Covariance;AT表示A的轉(zhuǎn)置矩陣;Q是系統(tǒng)過程的Covariance。
有了現(xiàn)在狀態(tài)的預(yù)測結(jié)果,再收集現(xiàn)在狀態(tài)的測量值,結(jié)合預(yù)測值和測量值,可以得到現(xiàn)在狀態(tài)的最優(yōu)化估算值X(k|k)。
2)修正過程為
K(k)=p(k|k1)HT/[HP(k|k-1)HT+R]-1
(11)
X(k|k)=X(k-1|k-1)+Kg(k)(Z(k)-HX)(k|k-1)
(12)
其中,Kg為卡爾曼增益(Kalman Gain)。
K(k)=P(k|k-1)HT/[HP(k|k-1)HT+R]-1
(13)
得到 狀態(tài)下最優(yōu)的估算值X(k|k),更新k狀態(tài)下X(k|k)的Covariance
p(k|k)=[l-K(k)H]p(k|k-1)
(14)
式(14)中,l為1的矩陣,對(duì)于單模型單測量,l=1。
對(duì)RSSI值進(jìn)行處理后,在文獻(xiàn)[13]提出的修正加權(quán)質(zhì)心定位算法的基礎(chǔ)上即可繼續(xù)進(jìn)行定位。算法步驟如下:
(1)信標(biāo)節(jié)點(diǎn)向相鄰的節(jié)點(diǎn)周期性地廣播自身的消息,消息中包含信標(biāo)節(jié)點(diǎn)的標(biāo)識(shí)編碼和位置數(shù)據(jù);
(2)未知節(jié)點(diǎn)接收到來自信標(biāo)節(jié)點(diǎn)的連續(xù)的RSSI值,利用卡爾曼濾波進(jìn)行優(yōu)化處理,得到優(yōu)化結(jié)果作為最后的RSSI值;
(3)未知節(jié)點(diǎn)接收到不同信標(biāo)節(jié)點(diǎn)的消息達(dá)到設(shè)定閾值時(shí),根據(jù)步驟(2)得到的RSSI值對(duì)相應(yīng)的信標(biāo)節(jié)點(diǎn)進(jìn)行從大到小的排列,建立信標(biāo)節(jié)點(diǎn)集合、信標(biāo)節(jié)點(diǎn)位置坐標(biāo)集合、未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)距離集合,即:信標(biāo)節(jié)點(diǎn)集合B={b1,b2,…,bk};信標(biāo)節(jié)點(diǎn)位置坐標(biāo)集合p={(x1,y1),(x2,y2),…,(xk,yk)};未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)距離集合D={d1,d2,…,dk};
(4)根據(jù)式(4)將RSSI值轉(zhuǎn)化為距離,并對(duì)距離進(jìn)行排序,并分為3組{d1,d2,d3},{d4,d5,d6},{d7,d8,d9};
(5)根據(jù)文獻(xiàn)[13]提出的修正加權(quán)質(zhì)心算法分別對(duì)3組數(shù)據(jù)進(jìn)行計(jì)算,得到3個(gè)頂點(diǎn)坐標(biāo),這3個(gè)頂點(diǎn)構(gòu)成一個(gè)三角形;
(6)未知節(jié)點(diǎn)的坐標(biāo)估計(jì)為這個(gè)三角形的質(zhì)心。
利用Matlab7.0進(jìn)行仿真,仿真區(qū)域的大小設(shè)為 8 m×8 m,信標(biāo)節(jié)點(diǎn)數(shù)為9,未知節(jié)點(diǎn)數(shù)設(shè)為20,節(jié)點(diǎn)通信半徑設(shè)為50 m,路徑衰減因子設(shè)為3,仿真實(shí)驗(yàn)環(huán)境中加入均值為0、標(biāo)準(zhǔn)差為5的高斯隨機(jī)噪聲,仿真實(shí)驗(yàn)共進(jìn)行500次,最后定位結(jié)果取其平均值
(15)
其中,(x,y)表示未知節(jié)點(diǎn)的實(shí)際坐標(biāo);(x′,y′)表示未知節(jié)點(diǎn)的估計(jì)坐標(biāo),仿真結(jié)果如下。
圖1 兩種算法的平均定位誤差曲線
圖2 n=5時(shí)兩種算法對(duì)應(yīng)未知節(jié)點(diǎn)的平均誤差曲線
從圖中可以看出,利用卡爾曼濾波對(duì)RSSI值進(jìn)行修正后再利用修正加權(quán)質(zhì)心定位算法,能在一定程度上減小定位誤差,提高定位效果。
改進(jìn)算法利用卡爾曼濾波對(duì)RSSI值進(jìn)行去噪優(yōu)化處理,減小了數(shù)據(jù)誤差。相比文獻(xiàn)[13]中的算法,在相同的前提條件下,對(duì)RSSI值進(jìn)行修正后再進(jìn)行定位,減小了平均定位誤差,提高了定位準(zhǔn)確度。本文針對(duì)小區(qū)域進(jìn)行仿真,在后續(xù)的研究中將針對(duì)大規(guī)模區(qū)域進(jìn)行研究仿真。
[1] 許毅.無線傳感器網(wǎng)絡(luò)原理及方法[M].北京:清華大學(xué)出版社,2012.
[2] 劉偉榮,何云.物聯(lián)網(wǎng)與無線傳感器網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2013.
[3] 孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[4] 美國國防部關(guān)鍵技術(shù)計(jì)劃編寫組.美國國防部關(guān)鍵技術(shù)計(jì)劃 [R].北京:國防科技信息中心, 1993.
[5] Johnson P.Remote continuous physiological monitoring in the home[J].Journan of Telemedicine and Telecare,1996,2(2):107-113.
[6] Schwiebert L,Gupta S K S,Weinmann J,et al.Research challenges in wireless networks of biomedical sensors[C].UT,USA:MOBIC,2001.
[7] Mainwaring A,Polastre J,Szeczyk R,et al.Wireless sensor networks for habitat monitoring[C]. Atlanta,Georgia:ACM WSNA02,2002.
[8] 葉阿勇.無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)安全定位[D]. 西安:西安電子科技大學(xué),2009.
[9] Bulusu N,Heidemann J,Estrin D.GPS-Less low cost outdoor localization for very mall devices[J].IEEE Personal Communications,2000,7(5):28-34.
[10] He T,Huang C D,Blum B M,et al.Range-free localization schemes in large scale sensor networks[C].San Diego:Proceeding of the 9th Annual International Conference on Mobile Computing and Networking,2003.
[11] Niculescu D,Nath B.DV based positioning in ad hoc networks[J].Journal of Telecommunication Systems,2003,22(1):267-280.
[12] Doherty L.Algorithms for position anda data recovery in wireless sensor networks[D].Berkeley:University of California,2000.
[13] 劉運(yùn)杰,金明錄,崔承毅.基于RSSI的無線傳感器網(wǎng)絡(luò)修正加權(quán)質(zhì)心定位算法[J].傳感技術(shù)學(xué)報(bào),2010(5):717-721.
[14] 彭丁聰.卡爾曼濾波的基本原理及應(yīng)用[J].軟件導(dǎo)刊,2009(11):32-34.
[15] 楊丹.卡爾曼濾波器設(shè)計(jì)及其應(yīng)用研究[D].湘潭:湘潭大學(xué),2014.
[16] Homayoun N,Homayoun H.Phase modeling of indoor radio propagation channels[J].IEEE Transactions on Vehicular Technology,2000,49(2)220-231.
[17] 韓江洪,祝滿拳,馬學(xué)森,等.基于RSSI的極大似然與加權(quán)質(zhì)心混合定位算法[J].電子測量與儀器學(xué)報(bào),2013(10):937-943.
[18] 田曉燕,閆斌,唐蕓蕓.基于RSSI的三角形區(qū)域最小化的質(zhì)心定位算法[J].計(jì)算機(jī)應(yīng)用與軟件,2014(7):112-115.
[19] 于慧霞.WSN中基于RSSI的加權(quán)質(zhì)心定位算法的改進(jìn)[J].電子測試,2012(1):28-32.
The Weighted Centroid Localization Algorithm Based on the Modified RSSI Values
CHEN Xuan,DONG Shipeng
(School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
When using the received signal strength indicator (RSSI) to locate, RSSI values are easily affected by environmental factors which will cause the localization error.In order to reduce the localization error, using Kalman filter to optimize successive RSSI values based on the modified weighted centroid localization algorithm,achiving real-time prediction and estimation for the purpose of making simulating results close as possible to actual distance so that provide more accurate datas for follow-up localization. Simulation results show that improved algorithm reduced the positioning error, improve the positioning accuracy compared with the former method.
RSSI;node location;Kalman filter;localization error
2016- 05- 24
陳璇(1991-),女,碩士研究生。研究方向:無線傳感器網(wǎng)絡(luò)。董仕鵬(1990-),男,碩士研究生。研究方向:DSP和無線傳感器網(wǎng)絡(luò)。
10.16180/j.cnki.issn1007-7820.2017.04.023
TN926
A
1007-7820(2017)04-092-03