文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190504
中文引用格式: 高媛,陽媛. 基于指紋量化的改進加權(quán)質(zhì)心定位算法[J].電子技術(shù)應(yīng)用,2019,45(9):77-80,84.
英文引用格式: Gao Yuan,Yang Yuan. An improved weighted centroid location algorithm based on fingerprint quantization[J]. Application of Electronic Technique,2019,45(9):77-80,84.
0 引言
在無線傳感器網(wǎng)絡(luò)[1]技術(shù)的應(yīng)用中,目標(biāo)定位至關(guān)重要。為了獲得更加精確的定位,國內(nèi)外研究人員提出了多種定位的算法[2-3],如基于測距的定位算法和基于非測距的定位算法[4-5]。目前研究最廣泛的算法是基于接收信號強度(Received Signal Strength Indication,RSSI)的測距算法,該類算法軟硬件實現(xiàn)起來簡單,功耗和成本都較低,很適合室內(nèi)的短距離無線定位[6]。將基于RSSI的測距算法與非測距定位算法中的質(zhì)心算法相結(jié)合進行目標(biāo)定位是目前研究的熱點,但RSSI受環(huán)境及節(jié)點間距的影響,測距誤差大[7-8],質(zhì)心定位算法受到測距誤差的影響,導(dǎo)致定位不準(zhǔn)確。為了提高定位精度,文獻(xiàn)[9]提出了一種改進的加權(quán)質(zhì)心迭代算法,將已定位節(jié)點升級為參考節(jié)點進行后續(xù)定位,對不同類型的節(jié)點使用不同的權(quán)值,然后利用誤差修正因子對定位誤差進行校正。文獻(xiàn)[10]在RSSI測距階段采取卡爾曼濾波平滑優(yōu)化,之后對定位坐標(biāo)進行加權(quán)和補償。文獻(xiàn)[11]提出基于節(jié)點相關(guān)系數(shù)的RSSI定位算法,利用約束條件選出相關(guān)系數(shù)較大的區(qū)域,在區(qū)域內(nèi)估算RSSI值,同時修改權(quán)值。文獻(xiàn)[12]以RSSI值解算的距離值的倒數(shù)和作為權(quán)重,同時通過實例得出權(quán)值修正系數(shù)n=6時定位精度最高的結(jié)論。
本文在上述算法的基礎(chǔ)上提出了基于指紋量化的改進加權(quán)質(zhì)心定位算法,在一跳范圍內(nèi)采集實際測量值建立指紋數(shù)據(jù)庫,避免信號強度衰減造成的測距誤差,然后將目標(biāo)定位時接收到的一跳范圍內(nèi)較大的3個信號強度值在指紋數(shù)據(jù)庫中進行比對,獲得量化距離及量化RSSI值,進一步利用改進的交集三角形加權(quán)質(zhì)心算法對未知節(jié)點進行定位,提高了定位的精度。
1 算法實現(xiàn)
指紋量化加權(quán)質(zhì)心定位算法的實現(xiàn)步驟如下:(1)指紋數(shù)據(jù)庫的建立,通過實際測試,選擇等間隔距離設(shè)置若干采樣點,采集適量樣本數(shù)據(jù),構(gòu)建指紋數(shù)據(jù)庫;(2)量化距離及量化RSSI值的確定:根據(jù)參考節(jié)點布放的間隔設(shè)定量化域,劃分若干量化區(qū)間,將指紋數(shù)據(jù)庫中的樣本數(shù)據(jù)作為量化區(qū)間的端點,目標(biāo)定位時,將未知節(jié)點接收到的RSSI值在量化域中進行比對,確定所在區(qū)間,選擇鄰近的量化區(qū)間端點,將該端點對應(yīng)的樣本距離作為未知節(jié)點到參考節(jié)點的量化距離,對應(yīng)的樣本RSSI值作為量化RSSI值;(3)交集三角形質(zhì)心定位算法改進:改進傳統(tǒng)加權(quán)質(zhì)心定位算法權(quán)值的選取方式,考慮量化誤差以及未知節(jié)點與參考節(jié)點的距離,以獲取更加合理有效的權(quán)值,提高定位精度。
1.1 指紋數(shù)據(jù)庫的建立
室內(nèi)環(huán)境下一般障礙物多,環(huán)境復(fù)雜,造成干擾因素多,RSSI信號衰減嚴(yán)重,導(dǎo)致測距模型計算的誤差加大。RSSI理論值與實際值的對比數(shù)據(jù)如圖1所示。在0~15 m的測試區(qū)間內(nèi),將發(fā)射端AP位置固定,接收端從距離AP 1 m的地方向后移動,每隔任意距離(均小于1 m)測量10個數(shù)據(jù),求出信號強度的平均值??梢钥吹剑琑SSI測距的實際測量值與理論值之間存在較大的誤差。所以,本文直接選用實際測量值建立指紋數(shù)據(jù)庫,避免因信號衰減嚴(yán)重而造成的理論誤差問題。
在室內(nèi)選擇N個位置布放參考節(jié)點,距離每個參考節(jié)點每遠(yuǎn)離相同的距離D,以參考節(jié)點為圓心,以逐漸增加的距離為半徑,在圓周上不同位置采集N′次RSSI值。為保證定位精度,D值應(yīng)小于0.5 m。計算N個位置處的以參考節(jié)點為圓心、半徑相同的圓周上的RSSI值的平均值作為各個采樣點的RSSI值,該RSSI值與采樣點距離參考節(jié)點的實際距離(即圓周的半徑)一起作為該采樣點的指紋樣本,如圖2所示。
設(shè)每個采樣點采集的RSSI數(shù)據(jù)和指紋樣本RSSI數(shù)據(jù)分別為RSi和RFi,兩者的關(guān)系如式(1)所示:
則確定該點的指紋樣本為(RFi,dFi)。
為保證定位精度,設(shè)定未知節(jié)點定位時僅選用一跳范圍內(nèi)的參考節(jié)點,室內(nèi)實際參考節(jié)點的布放保證未知節(jié)點可在一跳范圍內(nèi)至少接收到3個參考節(jié)點的信號。據(jù)統(tǒng)計分析,未知節(jié)點到可用參考節(jié)點的最遠(yuǎn)距離小于間距最大的相鄰兩參考節(jié)點間的距離,將相鄰兩參考節(jié)點間的最大間隔記為Smax,根據(jù)上述指紋樣本的確定原則,可得到指紋數(shù)據(jù)庫如式(2)所示:
1.2 量化距離及量化RSSI值的確定
在目標(biāo)定位時,未知節(jié)點與參考節(jié)點間的實際距離是任意數(shù)且有無窮多個取值。為快速獲取到兩者間的實際距離,本文采用數(shù)字通信技術(shù)中的量化思想[13],設(shè)定量化域,劃分量化區(qū)間,獲得量化距離。
將指紋數(shù)據(jù)庫中的指紋樣本數(shù)據(jù)(RF1,dF1)與(RFi,dFi)之間構(gòu)成整個量化域,在量化域中根據(jù)指紋樣本的數(shù)量劃分等量的量化區(qū)間,取指紋數(shù)據(jù)庫中各個指紋樣本(RFi,dFi)作為各量化區(qū)間的端點,樣本中的距離值dFi作為量化距離,RSSI值RFi作為量化RSSI值。dFi與dFi-1間的距離為D,RFi與RFi-1間的差值無規(guī)律,為任意量。量化的物理過程如圖3所示。
目標(biāo)定位時,將未知節(jié)點接收到的來自參考節(jié)點信號的RSSI平均值RA與指紋數(shù)據(jù)庫中的指紋樣本數(shù)據(jù)進行比較,當(dāng)RFi<RA<RFi+1時,RA落在(RFi,dFi)與(RFi+1,dFi+1)確定的量化區(qū)間內(nèi),此時比較RA分別與RFi、RFi+1的距離差,選擇差值小的指紋樣本數(shù)據(jù)并作記錄,將該指紋樣本數(shù)據(jù)中的指紋樣本距離作為此未知節(jié)點到參考節(jié)點的量化距離,指紋樣本RSSI值作為量化RSSI值。設(shè)RA與RFi、RFi+1的差的絕對值分別為RAFi與RAFi+1,計算公式如下:
比較RAFi與RAFi+1的大小,如果RAFi>RAFi+1,說明RA更接近于RFi+1的值,此時選擇指紋樣本(RFi+1,dFi+1);如果RAFi<RAFi+1,則選擇指紋樣本(RFi,dFi),未知節(jié)點到參考節(jié)點的量化距離以及量化RSSI值即可確定。
按照以上方法,未知節(jié)點到一跳范圍內(nèi)的3個參考節(jié)點AP1、AP2、AP3的量化距離都能確定,分別記作d1、d2、d3。
當(dāng)量化距離已確定,則通過交集三角形加權(quán)質(zhì)心算法確定目標(biāo)位置。
1.3 交集三角形質(zhì)心定位算法改進
在傳統(tǒng)質(zhì)心算法的基礎(chǔ)上,為提高定位精度,許多學(xué)者針對該算法的原理,對權(quán)值進行了改進,提出了一種加權(quán)質(zhì)心算法[14],將未知節(jié)點接收到的RSSI值作為權(quán)值,通過這種方式可以反映出參考節(jié)點對未知節(jié)點的影響程度,從而達(dá)到提高定位精度的目的,如式(6)所示:
其中,wi為權(quán)值,(x,y)為未知節(jié)點坐標(biāo),(xi,yi)為參考節(jié)點坐標(biāo)。在實際環(huán)境中,單純使用RSSI值作為權(quán)值可能會使定位誤差較大,RSSI值隨著距離的增大會不斷減小。
本文提出了一種改進的交集三角形加權(quán)質(zhì)心定位算法,如圖4所示。設(shè)參考節(jié)點AP1、AP2、AP3的坐標(biāo)為(xAP1,yAP1)、(xAP2,yAP2)、(xAP3,yAP3),分別以AP1、AP2、AP3為圓心,量化距離d1、d2、d3為半徑作圓,由式(7)計算3個圓相交的3個點B1、B2、B3的坐標(biāo)(xB1,yB1)、(xB2,yB2)、(xB3,yB3)。
同理可得B2、B3點的坐標(biāo)。
由于本文對未知節(jié)點到參考節(jié)點的實際距離進行了量化,一定會產(chǎn)生相應(yīng)的量化誤差,參考節(jié)點AP1、AP2、AP3與未知節(jié)點間的量化距離以及量化誤差的大小同時影響著未知節(jié)點的定位,本文對于權(quán)值的選擇有以下考慮:
(1)參考節(jié)點距離未知節(jié)點越近,對未知節(jié)點的定位影響越大,故選取作為權(quán)值的參數(shù);
(2)量化誤差越小,對應(yīng)的參考節(jié)點對未知節(jié)點的定位影響越大,將量化RSSI值和實際測得的RSSI均值間的差值記為ε,計算式如式(8)所示。
2 算法流程
算法流程如圖5所示。
3 實驗仿真
3.1 實驗環(huán)境
本文的實驗選擇在一個10 m×15 m的辦公環(huán)境內(nèi)進行,基于ZigBee定位系統(tǒng),硬件采用6個CC2530射頻芯片,其中4個作為參考節(jié)點,1個作為未知節(jié)點,1個作為網(wǎng)關(guān)。本文將參考節(jié)點位置固定,分別放置在(0.00,0.00)、(9.75,0.00)、(0.00,14.50)、(9.75,14.50),對未知節(jié)點隨機選擇20個位置進行實驗,如圖6所示。星形點“*”表示參考節(jié)點,空心圓“o”表示未知節(jié)點。
3.2 算法性能估計
3.3 仿真結(jié)果與分析
本文首先與基于RSSI的三角加權(quán)質(zhì)心算法進行對比,在相同的實驗環(huán)境及實驗參數(shù)下,測得數(shù)據(jù)擬合出兩種算法的誤差對比圖如圖7所示。
從圖6可以看出,三角加權(quán)質(zhì)心算法最大定位誤差為2.3 m,平均定位誤差Err=0.78 m,有40%的未知節(jié)點定位誤差在1 m以下,有15%的未知節(jié)點定位誤差在0.5 m以下;利用本文算法得到的最大定位誤差為1.6 m,平均定位誤差Err=0.68 m,有70%的點定位誤差在1 m以下,有45%的未知節(jié)點定位誤差在0.5 m以下。比較兩種算法,本文算法的定位精度大大高于三角加權(quán)質(zhì)心算法。
文獻(xiàn)[6]的定位算法也是基于RSSI的改進三角加權(quán)質(zhì)心算法,實驗的環(huán)境與本文相似。為了進一步測試本文改進定位算法的性能,將其與文獻(xiàn)[6]的定位算法進行測試對比。本文的定位算法與文獻(xiàn)[6]算法的測試對比結(jié)果如圖8所示。
從圖8可以看出,在多數(shù)點上本文的定位精度都是高于文獻(xiàn)[6],僅在個別點上定位精度低于文獻(xiàn)[6],但是差別也很小。所以本文算法的定位精度從總體上來說要高于文獻(xiàn)[6]的算法。
4 結(jié)束語
本文提出了一種改進的基于指紋量化的三角加權(quán)質(zhì)心定位算法,采集實際測量值建立指紋數(shù)據(jù)庫,在量化域內(nèi)對未知節(jié)點接收到的RSSI值進行量化獲得相應(yīng)量化距離及量化RSSI值,同時考慮將量化距離及量化誤差作為權(quán)值參數(shù)。實驗結(jié)果表明,該算法可以有效避免因信號衰減嚴(yán)重而造成的理論誤差問題,提高了定位精度,有一定的實用價值。
參考文獻(xiàn)
[1] 壽向晨,徐宏毅.無線傳感器網(wǎng)絡(luò)中RSSI定位算法的設(shè)計與實現(xiàn)[J].武漢大學(xué)學(xué)報(工學(xué)版),2015,48(2):284-288.
[2] 李銀,汪洋,陳冬明.基于RSSI的無線傳感器網(wǎng)絡(luò)定位系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2015,23(3):1061-1064.
[3] 胡斌斌,倪小軍.基于RSSI測距室內(nèi)定位改進質(zhì)心算法[J].計算機技術(shù)與發(fā)展,2017,27(8):133-136.
[4] 楊潤豐,駱春波.基于無線信號接收強度定位的無人機群避碰[J].電子技術(shù)應(yīng)用,2017,43(4):117-120.
[5] 孔范增,任修坤,鄭娜娥.基于GDOP權(quán)值交點的魯棒AOA定位算法[J].電子技術(shù)應(yīng)用,2016,42(9):107-110.
[6] 王亞民,王海英,何佩倫.基于RSSI的改進加權(quán)質(zhì)心定位算法[J].計算機工程與設(shè)計,2016(11):2865-2868.
[7] 王群,李宗骍,李千目,等.基于實時運動狀態(tài)的RSSI測距室內(nèi)定位算法[J].南京理工大學(xué)學(xué)報(自然科學(xué)版),2015,39(2):229-235.
[8] 羅健宇,張衛(wèi)強,徐艇.基于RSSI優(yōu)化模型的室內(nèi)定位系統(tǒng)[J].無線通信技術(shù),2018(3):25-30.
[9] 謝樺.基于RSSI的無線傳感網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[D].贛州:江西理工大學(xué),2017.
[10] 劉玉龍.基于RSSI的無線傳感器網(wǎng)絡(luò)定位算法的研究與實現(xiàn)[D].沈陽:沈陽航空航天大學(xué),2017.
[11] 王曉彬.基于多維標(biāo)度與RSSI的室內(nèi)定位算法研究[D].太原:太原理工大學(xué),2018.
[12] 路澤忠,盧小平,付睢寧.一種改進的RSSI加權(quán)質(zhì)心定位算法[J].測繪科學(xué),2019(1):26-31.
[13] 陳愛軍.深入淺出通信原理[M].北京:清華大學(xué)出版社,2018.
[14] Bai Yun,Li Chunming,Xue Yuan.A centroid localization algorithm for wireless sensor networks based on RSSI[C].Applied Mechanics and Materials,2013:197-200.
作者信息:
高 媛1,陽 媛2
(1.徐州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 徐州221000;2.東南大學(xué) 儀器科學(xué)與工程學(xué)院,江蘇 南京210096)