李 波,馬 恒,王彥本
(西安郵電大學(xué)通信與信息工程學(xué)院,陜西西安710121)
隨著物聯(lián)網(wǎng)和人工智能的快速發(fā)展,無線傳感器網(wǎng)絡(luò)正在逐步改變?nèi)伺c物、物與物之間的交互方式。對于大多數(shù)應(yīng)用場景,獲取節(jié)點自身位置信息是無線傳感器網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)和前提。而獲得節(jié)點的距離信息及距離信息的準(zhǔn)確度直接影響位置信息的準(zhǔn)確度。
無線測距的方法,主要有基于接收信號的接收信號強度指示(received signal strength indicator,RSSI)法[1-3],該方法測距功耗低、成本低、實用性高,但是在遠(yuǎn)距離測距中誤差大;基于信號達(dá)到時間的信號到達(dá)時間(time of arrival,TOA)法[4-5]和信號到達(dá)時間差(time difference of arrival,TDOA)法[6-7],使用這兩類方法測距需要節(jié)點間精確的時間同步,實現(xiàn)的復(fù)雜度高;基于信號到達(dá)角度的信號到達(dá)角度(arrival of angle,AOA)法,但AOA測距需要高精度的天線陣列,成本高[8];基于飛行時間的飛行時間(time of flight,TOF)法,但TOF方法由于時鐘偏移量的影響,在近距離測距中測距誤差較大,適用于較遠(yuǎn)距離測距[9-10]等。這些單一的測距手段在多變的傳感器網(wǎng)絡(luò)中已不在適用,測距技術(shù)的融合應(yīng)用是無線測距技術(shù)發(fā)展的趨勢[11-12]。
基于RSSI測距在近距離段和TOF測距在遠(yuǎn)距離段有良好的測距性能。為了滿足在不同距離段對測距的需求,且保證測距的精度和穩(wěn)定性,本文擬在TOF測距技術(shù)和RSSI測距技術(shù)的基礎(chǔ)上,提出并實現(xiàn)一種基于TOF和RSSI的多融合測距算法。該算法首先進(jìn)行TOF測距和RSSI測距,得到多個初始測距值;其次,將初始值經(jīng)過高斯模型得到測距最優(yōu)值;最后,在不同距離段中,選擇不同的加權(quán)因子,將TOF測距最優(yōu)值和RSSI測距最優(yōu)值進(jìn)行融合,得到最優(yōu)距離的估計值。
在TOF測距技術(shù)和RSSI測距技術(shù)的基礎(chǔ)上,本文算法將TOF遠(yuǎn)距離測距精度高和RSSI近距離測距精度高的優(yōu)點相融合,以期實現(xiàn)一種更高精度的測距手段。算法原理,如圖1所示。
圖1 融合測距算法原理
步驟1 應(yīng)用TOF測距技術(shù)、RSSI測距技術(shù)得到測距初始距離值;
步驟2 應(yīng)用高斯模型對初始距離值做預(yù)處理,得到測距最優(yōu)值;
步驟3 應(yīng)用加權(quán)模型在不同距離段中對測距最優(yōu)值做不同加權(quán)因子的融合,得到最佳距離估計值。
RSSI距離測量采用的理論模型為漸變模型(shadowing model)[10],在與發(fā)射端距離為 d 處的接收端得到的接受信號功率
其中,d0為基站與參考節(jié)點之間的距離;pr(d0)是參考節(jié)點在距離d0處的接受信號功率;X是一個平均值為0的高斯隨機變量,其反映當(dāng)距離一定時,接受信號功率的變化;n為路徑損耗指數(shù)。
在實際應(yīng)用中,采用簡化的公式[10]
取d為1 m,從而得到實際應(yīng)用中的RSSI測距公式測量的RSSI的值
其中,A為信號傳輸1 m時接受信號的功率。
TOF距離測量過程中,發(fā)射端發(fā)送數(shù)據(jù)包到接收端,接受端收到后返還確認(rèn)信息回應(yīng)該數(shù)據(jù)包,其過程中飛行時間[10]
其中,TRTT為數(shù)據(jù)包實際飛行的往返時間,TTOT為發(fā)射端的總消耗時間,TTAT接收端用于接收數(shù)據(jù)和返還數(shù)據(jù)消耗的時間。
則發(fā)射端與接收端之間的距離
其中,c代表光速,取值為3×108m/s。
為了有效控制人為因素和環(huán)境因素對初始距離測量產(chǎn)生的影響,初始距離值的測量時選用空曠環(huán)境。信標(biāo)節(jié)點端和未知節(jié)點端均固定在1.5 m的高度,在測量過程中,信標(biāo)節(jié)點端始終固定,未知節(jié)點端移動。根據(jù)硬件實現(xiàn),在每次移動2 m后分別記錄保存20次TOF和RSSI的初始距離數(shù)據(jù)。在未知節(jié)點移動后,等待節(jié)點靜止,然后采集下一次數(shù)據(jù),測量值的選取應(yīng)該具有廣泛性。
在測距過程中,由于多變的環(huán)境、噪聲的差異和測量誤差等因素,導(dǎo)致直接測量得出的距離值中存在由于小概率事件引起的較大誤差值。為了降低這種誤差值對系統(tǒng)的影響,目前普遍采用多次測量后的統(tǒng)計平均值作為距離最優(yōu)值。這種方法雖然在一定程度上減小了誤差,但是,較大誤差值依舊會嚴(yán)重影響測距精度。高斯模型的實現(xiàn)是選取系統(tǒng)中發(fā)生在高概率區(qū)的測量值,然后再取其統(tǒng)計平均值。這樣可以避免測距過程中一些因小概率事件導(dǎo)致的較大誤差值參與最優(yōu)值的計算,從而提高系統(tǒng)的測距精度。
將測距過程中同一位置不同時間的測量值存儲下來,利用高斯分布函數(shù)對測量值進(jìn)行處理,得到隨機測量值x的高斯分布函數(shù)
其中,σ為標(biāo)準(zhǔn)差,x為未知參數(shù),μ為數(shù)學(xué)期望值,σ2為方差。
測量數(shù)據(jù)的均值m和方差σ2分別為
其中,Xi為第 i個初始測量值,i=1,2,…,n,n 為測試總個數(shù)。
確定可選值范圍,高斯分布函數(shù)的臨界值
根據(jù)多次實驗的經(jīng)驗,選擇p的值為0.65。當(dāng)高斯分布函數(shù)的值大于0.65時認(rèn)為測量值為高概率發(fā)生值;當(dāng)高斯分布函數(shù)的值小于0.65時認(rèn)為測量值為小概率誤差值。
從測距初始值中選取滿足要求的值Di,滿足高斯模型值的個數(shù)為z。得到測距最優(yōu)值
其中,Di為第i個滿足要求的值,i=1,2,…,z,z為滿足要求的個數(shù)。
高斯模型解決了在測距過程中由于小概率事件導(dǎo)致的誤差值對整體測距精度的影響,提高了系統(tǒng)的測距精度和穩(wěn)定性。
單一的測距手段只能滿足規(guī)定情景下的測距,為了保證多種環(huán)境下測距的有效性,將RSSI近距離測距精度高和TOF遠(yuǎn)距離測距精度高的優(yōu)點相融合,形成不同距離段中不同加權(quán)因子的RSSI和TOF動態(tài)融合測距方法,得到最佳距離估計值
其中,DR為RSSI測距得到的最優(yōu)值,DT為TOF測距得到的最優(yōu)值,α為加權(quán)因子,α在不同的距離段取值有差異。
加權(quán)模型用TOF遠(yuǎn)距離測距精度高的優(yōu)點彌補了RSSI遠(yuǎn)距離測距信號強度不穩(wěn)定的缺點;用RSSI近距離測距精度高的優(yōu)點彌補了TOF近距離測距易受時鐘偏移量影響的缺點。在中間距離段,兩種方法的測距精度相當(dāng),但是為了提高了測距的穩(wěn)定性,采用動態(tài)加權(quán)因子將RSSI測距和TOF測距相融合。
研究平臺基于SEMTECH公司的LoRa 2.4 G射頻集成模塊,該射頻模塊可以提供2.4 G的擴頻通信調(diào)制,是一款高性能無線收發(fā)器。其內(nèi)部集成了TOF測距引擎,同時其數(shù)據(jù)幀中提供了RSSI參數(shù)。
系統(tǒng)硬件由TI公司生產(chǎn)的MSP430F4152微控制器作為主處理器、SEMTECH公司生產(chǎn)的LoRa 2.4 G模塊作為無線收發(fā)器,以及其他外圍控制電路組成。
系統(tǒng)控制器的主要功能是無線收發(fā)器的初始化和控制,以及數(shù)據(jù)的存儲和計算。系統(tǒng)控制器與無線收發(fā)器之間的傳輸接口為全雙工的高速串行外設(shè)接口(serial peripheral interface,SPI)。
無線收發(fā)器負(fù)責(zé)數(shù)據(jù)的收發(fā)??刂破骺梢酝ㄟ^SPI總線對無線收發(fā)器的擴頻因子(spreading factor,SF)、帶寬(band width,BW)、編碼率(coding rate,CR)進(jìn)行配置。在不同的環(huán)境中選用適用環(huán)境的配置,可以更優(yōu)的獲取測距信息。
系統(tǒng)軟件部分由信標(biāo)節(jié)點端和未知節(jié)點端組成,不同端的軟件算法流程,如圖2所示。
從圖2可以看出,信標(biāo)節(jié)點端軟件運行流程分為3個階段:首先發(fā)送普通數(shù)據(jù)包用以搭建無線通信鏈路;其次進(jìn)行測距數(shù)據(jù)包傳輸,得到多個測距初始值;最后對測距初始值進(jìn)行算法優(yōu)化,計算出最佳測距估計值。
未知節(jié)點端軟件運行流程分為2個階段:首先等待信標(biāo)節(jié)點發(fā)送普通數(shù)據(jù)包,進(jìn)行地址校驗后回復(fù)確認(rèn)字符(acknowledgement,ACK)數(shù)據(jù)包表示無線通信鏈路搭建完成;然后在收到測距數(shù)據(jù)包后,回復(fù)測距相關(guān)信息,輸出最佳測距估計值。
圖2 軟件算法流程
在空曠的環(huán)境下,使用基于LoRa 2.4 G搭建的測距系統(tǒng)對所述融合算法進(jìn)行有效性驗證。
基于RSSI方法的測距結(jié)果,如圖3所示。由圖3可知,較于傳統(tǒng)的直接采用均值模型測距,基于高斯模型的測距誤差更加穩(wěn)定、測距精度更高。在近距離測距中,RSSI測距有誤差小、測距精度高的優(yōu)點。尤其體現(xiàn)在0~10 m的距離段,測距誤差在1 m以內(nèi)。
基于TOF方法的測距結(jié)果,如圖4所示。從圖4中可以看出,基于高斯模型的測距在誤差和精度方面較基于均值模型的性能更優(yōu),其抑制了小概率事件引起的誤差對整體系統(tǒng)的影響。在遠(yuǎn)距離測距中,TOF測距的誤差小、測距精度高。尤其體現(xiàn)在25~50 m的距離段,測距誤差在2 m以內(nèi)。
基于TOF、RSSI和本文所提融合算法的測距結(jié)果,如圖5所示。從圖5可以看出,不同測距手段的優(yōu)勢體現(xiàn)在不同的距離段,采用本文提出的融合算法可以將RSSI測距和TOF測距的優(yōu)勢相結(jié)合。該融合算法在0~10 m的距離段,針對RSSI近距離測距精度高的優(yōu)點,取α的值為1;在25~50 m的距離段,針對TOF遠(yuǎn)距離測距誤差小的優(yōu)點,取α的值為0。在10~25 m的距離段,兩種測距方法測距精度相當(dāng),但穩(wěn)定性較差,為此將兩種測距方法融合,依據(jù)實驗測試得出的經(jīng)驗值,在10~17 m的距離段內(nèi),取α的值為0.536,在17~25 m的距離段內(nèi),取α的值為0.303。從圖5中可以看出,在近距離段和遠(yuǎn)距離段中應(yīng)用RSSI和TOF融合算法時,測距精度優(yōu)于采用單一算法的測距精度;在中間距離段中應(yīng)用RSSI和TOF融合算法時,測距穩(wěn)定性有了提升。
圖3 基于RSSI方法測距結(jié)果
圖4 基于TOF方法的測距結(jié)果
圖5 不同算法的測距結(jié)果
為了提高無線測距的精度和穩(wěn)定性,在RSSI測距和TOF測距的基礎(chǔ)上,提出了一種基于TOF和RSSI的多融合測距算法。該算法首先使用了高斯模型方法,將測距初始值中由小概率事件影響的測距誤差值剔除,降低了初始值的不穩(wěn)定性對系統(tǒng)的影響;然后基于加權(quán)模型融合了RSSI測距和TOF測距,在不同的距離段中選用不同的加權(quán)因子,使得整體系統(tǒng)在測距中都有良好的精度和穩(wěn)定性。對比于其他單一算法,本文所提的融合算法既減小了測距過程中誤差對整體系統(tǒng)的影響,提高了測距的精度;也彌補了采用單一測量方法時無法滿足不同距離段的劣勢,提高了測距的穩(wěn)定性。