文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.180466
中文引用格式: 高金輝,劉宏杰,吳雪冰. 基于RSSI的差分定位模型在糧庫(kù)測(cè)溫中的應(yīng)用[J].電子技術(shù)應(yīng)用,2018,44(5):9-12.
英文引用格式: Gao Jinhui,Liu Hongjie,Wu Xuebing. Application of RSSI-based differential location model of temperature mea-
surement in grain depot[J]. Application of Electronic Technique,2018,44(5):9-12.
0 引言
糧食安全問(wèn)題是國(guó)家長(zhǎng)遠(yuǎn)發(fā)展戰(zhàn)略,而糧食儲(chǔ)存是糧食安全的關(guān)鍵因素之一。安全儲(chǔ)糧主要通過(guò)監(jiān)測(cè)糧庫(kù)內(nèi)部糧堆的溫度和濕度,當(dāng)監(jiān)測(cè)到某區(qū)域溫度升高時(shí)采取相應(yīng)降低措施[1-2]。目前糧庫(kù)測(cè)溫設(shè)備在每次糧食入庫(kù)后人工手動(dòng)編號(hào)來(lái)識(shí)別位置,需要大量人力、物力,且可靠性較低。
近些年隨著無(wú)線傳感器網(wǎng)絡(luò)技術(shù)的快速發(fā)展,越來(lái)越多的研究者開(kāi)始關(guān)注室內(nèi)定位的研究。室內(nèi)定位主要分為兩類(lèi),一類(lèi)為基于測(cè)距的定位模型:例如到達(dá)時(shí)間,到達(dá)時(shí)間差,到達(dá)角度,RSSI等;另一類(lèi)為非測(cè)距定位模型,例如DV-Hop,質(zhì)心算法等模型[3-6]。其中測(cè)距定位模型的定位精度要高于非測(cè)距定位模型,在測(cè)距定位模型中除RSSI外大多數(shù)測(cè)距定位模型都需要額外的硬件。
根據(jù)糧庫(kù)測(cè)溫節(jié)點(diǎn)的低功耗、低成本和高定位精度的要求,本文采用RSSI的定位模型。在無(wú)線傳感網(wǎng)絡(luò)硬件基礎(chǔ)上,對(duì)RSSI的距離衰減曲線分析,通過(guò)動(dòng)態(tài)信標(biāo)節(jié)點(diǎn)來(lái)提高測(cè)距模型的精度,采用差分定位模型降低環(huán)境誤差。通過(guò)對(duì)比實(shí)驗(yàn)驗(yàn)證了在實(shí)驗(yàn)環(huán)境下差分定位算法僅需一個(gè)輔助信標(biāo)節(jié)點(diǎn)就可以達(dá)到傳統(tǒng)測(cè)距定位模型在13個(gè)信標(biāo)節(jié)點(diǎn)時(shí)的精度[7]。
1 糧庫(kù)無(wú)線測(cè)溫節(jié)點(diǎn)設(shè)計(jì)
糧庫(kù)滿倉(cāng)時(shí)糧食的厚度為5~7 m,在糧食上平面每隔4~5 m等間距放置節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)采集上下4個(gè)位置的溫度。本文采用CC1101微功耗無(wú)線收發(fā)模塊,在通信過(guò)程中直接讀取RSSI值。測(cè)溫采用DS18b20單總線數(shù)字溫度傳感器,每個(gè)節(jié)點(diǎn)配置4個(gè)DS18b20,上下等間距分布。所有測(cè)溫節(jié)點(diǎn)采用鋰電池供電,可獨(dú)立移動(dòng),相互替換。
2 算法模型
2.1 無(wú)線電傳播路徑損耗模型
基于RSSI測(cè)距的模型主要通過(guò)發(fā)射和接收信號(hào)強(qiáng)度來(lái)計(jì)算信號(hào)傳播損耗而定位,信號(hào)傳波損耗值在相同傳播環(huán)境下隨傳播距離增大而增大,通過(guò)信號(hào)傳播路徑損耗模型可以將信號(hào)傳播損耗值轉(zhuǎn)換成距離值。RSSI衰減模型通常采用的常態(tài)分布模型:
從式(5)可知,RSSI值與A、n、d和Xδ有關(guān),其中A和n受環(huán)境因素影響較大,傳統(tǒng)方法采用固定A和n來(lái)建立求距離d的模型的方式與實(shí)際環(huán)境不符合,因此造成的距離模型誤差較大,同時(shí)受高斯隨機(jī)誤差Xδ的干擾。為了減少以上因素帶來(lái)的誤差,對(duì)得到的RSSI值進(jìn)行卡爾曼濾波,然后采用差分定位的方式減少環(huán)境因素的干擾,得到目標(biāo)節(jié)點(diǎn)的精確位置。
2.2 RSSI的處理
RSSI是接收信號(hào)強(qiáng)度指示根據(jù)無(wú)線電在自由空間中傳播的路徑損耗而建立的模型,其值大小與電波傳播距離成反比。本文實(shí)驗(yàn)節(jié)點(diǎn)采用TI公司的CC1101微功耗模塊搭建,從模塊內(nèi)部寄存器可直接讀取通信過(guò)程中的rssidev值,其取值范圍是0-255,從參考文獻(xiàn)[8]可知rssidbm與rssidev有如下關(guān)系:
其中rssidev為CC1101內(nèi)部寄存器讀取的16進(jìn)制數(shù),rssidbm為轉(zhuǎn)換后的十進(jìn)制信號(hào)接收強(qiáng)度值,rssioff取值為74。為了方便模型的建立及求解,將rssidbm做以下處理:
通過(guò)以上處理得到RSSI值,其取值范圍是0-255具有比RSSI更高的分辨率。
2.3 差分定位模型
由于RSSI值受到環(huán)境的溫度、濕度、多徑效應(yīng)等因素影響,因此即很難建立一個(gè)適用于所有情況下的基于RSSI測(cè)距定位模型。根據(jù)糧庫(kù)測(cè)溫節(jié)點(diǎn)布置的情況,本文在傳統(tǒng)測(cè)距定位模型的基礎(chǔ)上,提出一種基于RSSI的差分定位模型。
如圖1所示,糧庫(kù)內(nèi)測(cè)溫節(jié)點(diǎn)按照等間距排列,且糧庫(kù)測(cè)控分機(jī)和輔助信標(biāo)節(jié)點(diǎn)的位置已知,分別作為信標(biāo)節(jié)點(diǎn)S1和S2,只需要依次確定出距離信標(biāo)節(jié)點(diǎn)最近的位置節(jié)點(diǎn),令其作為新的信標(biāo)節(jié)點(diǎn),依次循環(huán)下去即可確定出糧庫(kù)內(nèi)所有測(cè)溫節(jié)點(diǎn)的位置坐標(biāo)。
假設(shè)節(jié)點(diǎn)2和節(jié)點(diǎn)4距信標(biāo)節(jié)點(diǎn)S1的距離分別為d1和d2,根據(jù)式(1)可得:
對(duì)比式(5)和式(10)可知節(jié)點(diǎn)2和節(jié)點(diǎn)4與信標(biāo)節(jié)點(diǎn)S1間RSSI值之差僅與它們的距離d1、d2和n有關(guān),而處于同一時(shí)刻環(huán)境下的n可認(rèn)為某一定值,因此采用RSSI差分定位算法可以有效抑制式(5)中Xδ的干擾。
由式(10),根據(jù)?駐RSSI的大小可以得知d1和d2的相對(duì)大小。同理信標(biāo)節(jié)點(diǎn)可以通過(guò)與所有未知節(jié)點(diǎn)間的RSSI值的比較,搜索到距離自己最近的未知節(jié)點(diǎn)。它們不依賴(lài)于傳統(tǒng)的測(cè)距方法,同時(shí)能夠適應(yīng)各種變化的定位環(huán)境。
如圖1所示節(jié)點(diǎn)1~節(jié)點(diǎn)9被等間距布置在糧庫(kù)中,糧庫(kù)測(cè)控分機(jī)和輔助信標(biāo)節(jié)點(diǎn)被布置在已知的位置,本文提出的差分定位模型及動(dòng)態(tài)信標(biāo)節(jié)點(diǎn)選取方案如下:
(1)選取已知位置的糧庫(kù)測(cè)控分機(jī)和輔助信標(biāo)節(jié)點(diǎn)作為動(dòng)態(tài)信標(biāo)節(jié)點(diǎn)S1和S2。通過(guò)式(10)分別搜索與S1,S2距離最近的未知節(jié)點(diǎn),即RSSI值最大的節(jié)點(diǎn)。因?yàn)楣?jié)點(diǎn)1與S1通信時(shí)RSSI值最大,節(jié)點(diǎn)3與S2通信時(shí)RSSI值最大,因此節(jié)點(diǎn)1和節(jié)點(diǎn)3的位置可以被確定。
(2)令節(jié)點(diǎn)1和節(jié)點(diǎn)3分別作為信標(biāo)節(jié)點(diǎn)S1和S2,在未知節(jié)點(diǎn)中分別搜索距離它們最近的節(jié)點(diǎn)。
(3)搜索結(jié)果中距離S1最近的節(jié)點(diǎn)有節(jié)點(diǎn)2和節(jié)點(diǎn)4,距離S2最近的節(jié)點(diǎn)有節(jié)點(diǎn)2和節(jié)點(diǎn)3。比較后發(fā)現(xiàn)節(jié)點(diǎn)2距離S1和S2距離相等,可以確定出節(jié)點(diǎn)2在S1和S2的中點(diǎn),進(jìn)而確定x軸方向排列有3個(gè)測(cè)溫節(jié)點(diǎn),則節(jié)點(diǎn)2的位置可以確定。進(jìn)而節(jié)點(diǎn)4和節(jié)點(diǎn)6的位置也被確定,并將它們確定為新的信標(biāo)節(jié)點(diǎn)S1和S2。
(4)循環(huán)以上步驟2和3的直至所有節(jié)點(diǎn)定位完成。
3 實(shí)驗(yàn)驗(yàn)證與分析
實(shí)驗(yàn)采用TI公司的CC1101芯片在433 MHz開(kāi)放頻段測(cè)試,通過(guò)該芯片內(nèi)部自帶8位的RSSI寄存器獲取RSSI值。為了降低通信信道受空間電波干擾而影響測(cè)試數(shù)據(jù),通過(guò)凈信道評(píng)估機(jī)制,確保每次測(cè)試前信道處于空閑狀態(tài)。
如圖2為本實(shí)驗(yàn)用的測(cè)溫節(jié)點(diǎn),硬件采用CC1101通信模塊和STM8L101單片機(jī)及18650鋰電池供電。
3.1 數(shù)據(jù)處理
實(shí)驗(yàn)選擇每隔0.5 m測(cè)一組RSSI數(shù)據(jù),其中每組測(cè)100次數(shù)值,對(duì)每組采集到的數(shù)據(jù)進(jìn)行處理,通常處理的方法有均值法和次大值法。
為了選擇更加適合RSSI值處理方法,分別采用均值法、次大值法和最小二乘法3次擬合值得到圖3曲線。
由圖3明顯可知次大值法比均值法的衰減曲線波動(dòng)更小,而且和最小二乘法擬合得到曲線更加吻合。因此本文采用次大值法,對(duì)每組100個(gè)數(shù)據(jù)進(jìn)行排序取次大值作為該組測(cè)試結(jié)果。
為進(jìn)一步降低隨機(jī)誤差,對(duì)次大值法得到的結(jié)果進(jìn)行卡爾曼濾波,實(shí)驗(yàn)結(jié)果如圖4所示。通過(guò)圖4可知經(jīng)過(guò)卡爾曼濾波后的衰減曲線更加平滑,更趨近于擬合值。為了衡量卡爾曼濾波效果,通常采用均方誤差(Mean-Square Error,MSE)來(lái)衡量。
卡爾曼濾波前:MSE=9.7109
卡爾曼濾波后:MSE=3.6797
通過(guò)MSE計(jì)算結(jié)果可知,卡爾曼濾波前的MSE值大于卡爾曼濾波后的值,因此可以證明卡爾曼濾波明顯提高了RSSI值的可信度。
通過(guò)觀察圖4的RSSI距離衰減曲線可知,通信距離越近信號(hào)衰減越大,其中在0~10 m的范圍內(nèi)通信距離占總測(cè)試距離的50%,但是信號(hào)衰減值占總測(cè)試衰減值的80%,由此可得出結(jié)論,信標(biāo)節(jié)點(diǎn)距離被定位節(jié)點(diǎn)越近其定位精度越高。為提高定位精度采用動(dòng)態(tài)信標(biāo)節(jié)點(diǎn),盡量選取距離被定位節(jié)點(diǎn)最近的節(jié)點(diǎn)作為信標(biāo)節(jié)點(diǎn),本文差分定位的模型中采用動(dòng)態(tài)信標(biāo)節(jié)點(diǎn)方案即選取距離待定位節(jié)點(diǎn)最近的已知節(jié)點(diǎn)作為信標(biāo)節(jié)點(diǎn)提高定位精度。
3.2 差分定位實(shí)驗(yàn)
如圖1在一個(gè)16 m×16 m的糧庫(kù)內(nèi)布置9個(gè)測(cè)溫節(jié)點(diǎn),糧庫(kù)測(cè)控分機(jī)和輔助信標(biāo)節(jié)點(diǎn),將糧庫(kù)測(cè)控分機(jī)所在位置定義為坐標(biāo)原點(diǎn),通過(guò)2.3節(jié)提出的差分定位模型進(jìn)行定位。
差分定位模型通過(guò)比較不同未知節(jié)點(diǎn)與信標(biāo)節(jié)點(diǎn)間通信時(shí)RSSI值的相對(duì)大小計(jì)算它們與信標(biāo)節(jié)點(diǎn)間的相對(duì)距離大小,從而避免了將RSSI值轉(zhuǎn)換為距離時(shí)帶來(lái)的較大誤差。由表1差分定位模型測(cè)試結(jié)果可以得出結(jié)論:(1)差分定位方案采用已知位置的節(jié)點(diǎn)輪流作為信標(biāo)節(jié)點(diǎn),保證在10 m內(nèi)的通信距離,為定位精度提升提供了保障;(2)差分定位模型在定位過(guò)程中不需要人工干預(yù),且精度不依賴(lài)于布置的信標(biāo)節(jié)。
3.3 差分定位與傳統(tǒng)測(cè)距定位結(jié)果對(duì)比
在3.2節(jié)的實(shí)驗(yàn)環(huán)境下采用傳統(tǒng)測(cè)距定位方式,研究所布置信標(biāo)節(jié)點(diǎn)個(gè)數(shù)對(duì)定位精度的影響。糧庫(kù)測(cè)溫節(jié)點(diǎn)是等間距分布,因此傳統(tǒng)測(cè)距定位模型的定位結(jié)果只要落在以被測(cè)節(jié)點(diǎn)實(shí)際坐標(biāo)為中心半徑為1 m的范圍內(nèi)即認(rèn)為定位準(zhǔn)確。表2為布置信標(biāo)節(jié)點(diǎn)個(gè)數(shù)與節(jié)點(diǎn)定位結(jié)果錯(cuò)誤個(gè)數(shù)的統(tǒng)計(jì)情況。
由表2數(shù)據(jù)對(duì)比可知,在相同環(huán)境下,傳統(tǒng)測(cè)距定位模型精度隨著信標(biāo)節(jié)點(diǎn)個(gè)數(shù)增加而提高,當(dāng)信標(biāo)節(jié)點(diǎn)個(gè)數(shù)大于13個(gè)之后節(jié)點(diǎn)定位錯(cuò)誤率降低為0。差分定位模型僅需要一個(gè)輔助定位節(jié)點(diǎn)和糧庫(kù)測(cè)控分機(jī),在定位的過(guò)程中自動(dòng)采用距離被定位節(jié)點(diǎn)最近的已知位置的節(jié)點(diǎn)作為信標(biāo)節(jié)點(diǎn),最終節(jié)點(diǎn)定位錯(cuò)誤率為0。
4 結(jié)論
為解決糧庫(kù)測(cè)溫節(jié)點(diǎn)定位問(wèn)題,提出了基于RSSI的糧庫(kù)測(cè)溫節(jié)點(diǎn)差分定位算法,通過(guò)對(duì)比選取對(duì)數(shù)據(jù)處理的效果更好次大值法,為降低高斯誤差的干擾采用卡爾曼濾波對(duì)數(shù)據(jù)進(jìn)行處理,最后采用RSSI差分的方法降低環(huán)境的干擾,通過(guò)實(shí)驗(yàn)證明差分定位算法的有效性,在不增加大量信標(biāo)節(jié)點(diǎn)的前提下采用動(dòng)態(tài)信標(biāo)節(jié)點(diǎn)的方案解決了糧庫(kù)測(cè)溫等各種等間距分布的無(wú)線節(jié)點(diǎn)的定位問(wèn)題。
參考文獻(xiàn)
[1] 蘭波,喬長(zhǎng)福,程人俊,等.基于無(wú)線傳感器網(wǎng)絡(luò)的糧庫(kù)溫度監(jiān)測(cè)節(jié)點(diǎn)設(shè)計(jì)[J].糧食儲(chǔ)藏,2016,45(4):16-18,42.
[2] 李建勇,李洋,劉雪梅.基于ZigBee的糧庫(kù)環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2016,42(1):65-67.
[3] 黃海輝,李龍連.WSN中一種基于RSSI的移動(dòng)節(jié)點(diǎn)改進(jìn)定位算法[J].電子技術(shù)應(yīng)用,2015,41(1):86-89.
[4] ADAPTATION P.RSSI-based distributed self-localization for wireless sensor networks used in precision agriculture[J].IEEE Transactions on Wireless Communications,2016,15(10):6638-6650.
[5] SANTANA J A,MACAAS E,SUAREZ A,et al.Adaptive estimation of WiFi RSSI and its impact over advanced wireless services[J].Mobile Networks & Applications,2017,22(6):1100-1112.
[6] 裴凌,劉東輝,錢(qián)久超.室內(nèi)定位技術(shù)與應(yīng)用綜述[J].導(dǎo)航定位與授時(shí),2017,4(3):1-10.
[7] 花超,吉小軍,蔡萍,等.基于RSSI差分修正的加權(quán)質(zhì)心定位算法[J].傳感器與微系統(tǒng),2012,31(5):139-141.
[8] Texas Instruments.CC1101 Datasheet [EB/OL].(2007-04-16)[2018-01-30]. http://www.ti.com.
作者信息:
高金輝,劉宏杰,吳雪冰
(河南師范大學(xué) 電子與電氣工程學(xué)院,河南 新鄉(xiāng)453007)