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