文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.190504
中文引用格式: 高媛,陽(yáng)媛. 基于指紋量化的改進(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ú)線傳感器網(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)起來(lái)簡(jiǎn)單,功耗和成本都較低,很適合室內(nèi)的短距離無(wú)線定位[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ù)庫(kù),避免信號(hào)強(qiáng)度衰減造成的測(cè)距誤差,然后將目標(biāo)定位時(shí)接收到的一跳范圍內(nèi)較大的3個(gè)信號(hào)強(qiáng)度值在指紋數(shù)據(jù)庫(kù)中進(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ù)庫(kù)的建立,通過實(shí)際測(cè)試,選擇等間隔距離設(shè)置若干采樣點(diǎn),采集適量樣本數(shù)據(jù),構(gòu)建指紋數(shù)據(jù)庫(kù);(2)量化距離及量化RSSI值的確定:根據(jù)參考節(jié)點(diǎn)布放的間隔設(shè)定量化域,劃分若干量化區(qū)間,將指紋數(shù)據(jù)庫(kù)中的樣本數(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ù)庫(kù)的建立
室內(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ù)庫(kù),避免因信號(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ù)庫(kù)如式(2)所示:
1.2 量化距離及量化RSSI值的確定
在目標(biāo)定位時(shí),未知節(jié)點(diǎn)與參考節(jié)點(diǎn)間的實(shí)際距離是任意數(shù)且有無(wú)窮多個(gè)取值。為快速獲取到兩者間的實(shí)際距離,本文采用數(shù)字通信技術(shù)中的量化思想[13],設(shè)定量化域,劃分量化區(qū)間,獲得量化距離。
將指紋數(shù)據(jù)庫(kù)中的指紋樣本數(shù)據(jù)(RF1,dF1)與(RFi,dFi)之間構(gòu)成整個(gè)量化域,在量化域中根據(jù)指紋樣本的數(shù)量劃分等量的量化區(qū)間,取指紋數(shù)據(jù)庫(kù)中各個(gè)指紋樣本(RFi,dFi)作為各量化區(qū)間的端點(diǎn),樣本中的距離值dFi作為量化距離,RSSI值RFi作為量化RSSI值。dFi與dFi-1間的距離為D,RFi與RFi-1間的差值無(wú)規(guī)律,為任意量。量化的物理過程如圖3所示。
目標(biāo)定位時(shí),將未知節(jié)點(diǎn)接收到的來(lái)自參考節(jié)點(diǎn)信號(hào)的RSSI平均值RA與指紋數(shù)據(jù)庫(kù)中的指紋樣本數(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,說(shuō)明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],但是差別也很小。所以本文算法的定位精度從總體上來(lái)說(shuō)要高于文獻(xiàn)[6]的算法。
4 結(jié)束語(yǔ)
本文提出了一種改進(jìn)的基于指紋量化的三角加權(quán)質(zhì)心定位算法,采集實(shí)際測(cè)量值建立指紋數(shù)據(jù)庫(kù),在量化域內(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ú)線傳感器網(wǎng)絡(luò)中RSSI定位算法的設(shè)計(jì)與實(shí)現(xiàn)[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2015,48(2):284-288.
[2] 李銀,汪洋,陳冬明.基于RSSI的無(wú)線傳感器網(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)豐,駱春波.基于無(wú)線信號(hào)接收強(qiáng)度定位的無(wú)人機(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].無(wú)線通信技術(shù),2018(3):25-30.
[9] 謝樺.基于RSSI的無(wú)線傳感網(wǎng)絡(luò)加權(quán)質(zhì)心定位算法[D].贛州:江西理工大學(xué),2017.
[10] 劉玉龍.基于RSSI的無(wú)線傳感器網(wǎng)絡(luò)定位算法的研究與實(shí)現(xiàn)[D].沈陽(yáng):沈陽(yáng)航空航天大學(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,陽(yáng) 媛2
(1.徐州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 徐州221000;2.東南大學(xué) 儀器科學(xué)與工程學(xué)院,江蘇 南京210096)