文獻標(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)確,。為了提高定位精度,文獻[9]提出了一種改進的加權(quán)質(zhì)心迭代算法,,將已定位節(jié)點升級為參考節(jié)點進行后續(xù)定位,,對不同類型的節(jié)點使用不同的權(quán)值,然后利用誤差修正因子對定位誤差進行校正,。文獻[10]在RSSI測距階段采取卡爾曼濾波平滑優(yōu)化,,之后對定位坐標(biāo)進行加權(quán)和補償。文獻[11]提出基于節(jié)點相關(guān)系數(shù)的RSSI定位算法,,利用約束條件選出相關(guān)系數(shù)較大的區(qū)域,,在區(qū)域內(nèi)估算RSSI值,同時修改權(quá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信號衰減嚴重,,導(dǎo)致測距模型計算的誤差加大,。RSSI理論值與實際值的對比數(shù)據(jù)如圖1所示。在0~15 m的測試區(qū)間內(nèi),,將發(fā)射端AP位置固定,,接收端從距離AP 1 m的地方向后移動,每隔任意距離(均小于1 m)測量10個數(shù)據(jù),,求出信號強度的平均值,。可以看到,,RSSI測距的實際測量值與理論值之間存在較大的誤差,。所以,本文直接選用實際測量值建立指紋數(shù)據(jù)庫,,避免因信號衰減嚴重而造成的理論誤差問題。
在室內(nèi)選擇N個位置布放參考節(jié)點,,距離每個參考節(jié)點每遠離相同的距離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é)點的最遠距離小于間距最大的相鄰兩參考節(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é)點的影響程度,從而達到提高定位精度的目的,,如式(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ì)心算法。
文獻[6]的定位算法也是基于RSSI的改進三角加權(quán)質(zhì)心算法,,實驗的環(huán)境與本文相似。為了進一步測試本文改進定位算法的性能,,將其與文獻[6]的定位算法進行測試對比,。本文的定位算法與文獻[6]算法的測試對比結(jié)果如圖8所示。
從圖8可以看出,,在多數(shù)點上本文的定位精度都是高于文獻[6],,僅在個別點上定位精度低于文獻[6],但是差別也很小,。所以本文算法的定位精度從總體上來說要高于文獻[6]的算法,。
4 結(jié)束語
本文提出了一種改進的基于指紋量化的三角加權(quán)質(zhì)心定位算法,采集實際測量值建立指紋數(shù)據(jù)庫,,在量化域內(nèi)對未知節(jié)點接收到的RSSI值進行量化獲得相應(yīng)量化距離及量化RSSI值,,同時考慮將量化距離及量化誤差作為權(quán)值參數(shù)。實驗結(jié)果表明,,該算法可以有效避免因信號衰減嚴重而造成的理論誤差問題,,提高了定位精度,有一定的實用價值,。
參考文獻
[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)