倪云峰, 王志剛, 王 靜, 郭 蘋
(西安科技大學 通信與信息工程學院, 陜西 西安 710699)
我國是一個煤炭資源比較豐富的國家,而且在未來相當長的時間內煤炭資源依然是我國的主體能源。 受地理環境的限制,煤炭的開采大都在地下進行。 近年來,國內外井下安全事故頻發,地面救援工作人員往往無法快速掌握煤礦井下被困人員的具體情況,救援工作缺乏可靠信息,這就導致救援方案無法達到最優,進而直接導致救援被困人員工作效率低,成功率小[1-2]。 因此煤礦井下人員定位算法的研究對生產安全、井下人員和設備的管理和調度以及建設智慧礦山有重要意義。 然而,與理想環境不同,煤礦井下環境較為復雜,信號在傳播中會產生散射、衍射以及多徑效應,往往導致接收端接收到的信號可能是多路無線信號和復雜環境中噪聲相互影響的矢量和,進一步加劇測距定位偏差,定位精度下降。 在無線介質傳感器網絡定位中,根據定位時是否需要參考節點與未知節點之間距離信息,定位算法可分為基于測距算法(Range-based)和無需測距算法(Range-free)[3]。 目前,研究較為廣泛的是基于RSSI 的測距算法,該測距算法較其他算法具有功耗小、成本低的優點,且不需要添加額外的硬件協作,適合井下無線定位的需要。
文獻[4]使用中位數和最短距離法來獲取對應節點RSSI 值的權值,并對其原始RSSI 值進行相應修正,得到最終RSSI 值,有效抑制RSSI 值的隨機波動。 文獻[5]采用測試兩兩距離之和的倒數替代兩兩距離倒數的和作為加權質心權重。 文獻[6]提出了一種動態自適應調整權重系數的加權質心定位算法,首先對RSSI 測距算法進行優化,消除環境干擾影響,然后利用節點信息使待測節點自適應選取最優權值來提高定位精度。 文獻[7]提出了一種基于RSSI 的四邊形質心定位算法模型,使算法模型從三邊擴展到四邊,提高了定位精度。 文獻[8]在原有三邊定位的基礎上,通過節點間數學轉換改進為六點質心定位算法,仿真實驗表明,定位精度顯著提高。 文獻[9]提出了一種基于RSSI 的混合濾波算法與最小二乘法估計相結合的測距方法,對RSSI 值進行了相應的誤差修正,減輕環境造成的影響。 文獻[10]提出一種基于質心與RSSI 信號比值相結合的混合加權質心定位算法,利用虛擬參考節點(即參考節點間的相交點)代替當前參考節點作為此處的參考頂點,節點間距離的比值作為加權的權值系數,該改進算法有效減輕了路徑損耗指數n(與當前環境有關)的變化對定位精度的影響。
本文提出兩圓距離之積的倒數作為權重系數對其相應參考節點進行加權處理的算法。 該算法以三邊定位算法估計的節點坐標位置為基礎,構建定位模型,求出相交區域坐標信息,最后結合加權質心算法實現對未知節點的準確定位。
基于RSSI 測距定位算法的傳輸模型主要有自由空間傳輸模型和對數路徑損耗模型。 在煤礦井下較復雜環境下,由于多徑效應等因素,自由空間傳輸模型難以滿足定位精度的要求,因此在實際應用中常采用對數路徑損耗模型,其傳播模型為:
式中,P(d)和P(d0)分別表示接收端與發射端距離為d和d0時的接收信號強度值[11],d0一般取值1 m;n為路徑損耗指數;Xσ為均值為0、標準差為σ的高斯隨機變量,為所處環境中的噪聲干擾。
在實際環境應用中,無線信號模型傳輸過程中普遍采用簡化的信號衰減模型:
為了便于計算,通常情況下取d0為1 m,并用接收信號指示RSSI 表示P(d),用A表示P(d0),于是進一步得到:
進一步整理,可推出距離計算公式:
式中,A和n與當前實際環境有關,不同的環境對應的參數也是不同的[12]。 表1 為不同環境下對數路徑損耗模型路徑損耗指數n的相應經驗值。

表1 路徑損耗指數n 的經驗值Tab.1 Empirical value of path loss exponent n
RSSI 測距定位原理是通過獲取節點間接收信號強度值,利用信號傳輸模型來估算出節點之間的距離,通過已知參考節點信息利用幾何關系計算出未知節點的位置[13]。 然而,RSSI 信號容易受到周圍環境干擾,即使待測節點在同一位置,不同時刻接收到的信號值也可能出現較大偏差,因此需要對RSSI 信號進行濾波處理,去除變化較大的異常值,減輕環境造成的影響。 由于高斯濾波可以有效濾除信號中的異常值,使信號更加趨近于實際值以達到提高定位精度的目的,因此采用高斯濾波對RSSI 信號進行預處理。
當測距距離一定時,接收信號強度值概率分布可近似服從(μ,σ2)的高斯分布,其概率密度函數可以表示為:
式中,R為RSSI 值,
式中,Ri為第i次接收端接收到的信號強度值;n為測量次數。 根據高斯函數分布特性,在(μ-σ,μ+σ)為高斯分布的高概率發生區,對信號進行濾波,篩選出處于該區間的R值作為有效值[14],然后將該組有效值求和取其均值R—作為該待測節點所接收到的對應參考節點的最終RSSI 值(即修正后的RSSI 值),如式(8)所示,有效減輕復雜環境對信號的影響,改善信號傳輸模型的擬合度以及定位精度。
利用參考節點間的距離信息以及優化處理后的RSSI 值,通過最小化誤差平方和對A和n進行擬合運算,以此來搜尋數據的最佳函數匹配,使各方程的誤差達到一種平衡點,從而避免某一極端誤差在其中起支配作用,動態修正路徑損耗函數模型參數,有助于模型更加接近于真實的狀態。 模型參數修正如圖1 所示,其測距原理是:獲取待測節點通信范圍內所能接收到的參考節點的RSSI 值,根據濾波優化后RSSI 值大小選取所處環境中臨近參考節點參與運算。

圖1 模型參數修正Fig.1 Correction diagram of model parameter
A1,A2,…,Ak為O的臨近參考節點,d1,d2,…,dk為各個參考節點到待測節點O的距離,根據式(3)可計算出各個參考節點到待測節點O的對應(i=1,2,…,k),建立測距方程組:
應用最小二乘法,可求出該區域內的A′和n′,帶入式(4)可得修正后的測距模型進一步化簡可得距離:
三邊定位算法利用選取待測節點附近合適的3 個參考節點參與邏輯運算進行未知節點坐標的定位,算法原理如圖2 所示。

圖2 三邊定位算法原理Fig.2 Principle of trilateral positioning algorithm
已知未知節點O的臨近3 個參考節點A,B,C坐標分別是(x1,y1),(x2,y2),(x3,y3),d1,d2,d3分別為參考節點A,B,C到待測節點O的測試距離。設未知節點O的坐標為(x,y),根據歐式距離公式建立距離方程組:
方程組經過變形和化簡,可轉化為矩陣形式:
式中,X = (x,y)T;;b =。帶入式(12)可求得未知節點O的坐標位置:
然而在實際環境下,信號傳輸并非是這種理想狀態,往往受到障礙物阻擋、多徑效應和環境噪聲的影響,導致距離測量出現一定的偏差,因此定位過程中往往并非交于一點。
傳統質心定位算法是利用待測節點與參考節點間的網絡連通性[15-16],以參考節點所圍成的多邊形質心坐標位置作為未知節點的估計位置,傳統質心定位算法示意如圖3 所示。

圖3 傳統質心算法示意Fig.3 Schematic diagram of traditional centroid algorithm
待測節點O位于參考節點A,B,C三點所圍成的三角形區域內,假設A,B,C三點坐標分別是(x1,y1),(x2,y2),(x3,y3),則待測節點O(x,y)坐標為:
在實際應用中,由于受到復雜環境中多徑效應以及障礙物的影響,信號實際接收到的信號強度與真實值存在誤差,導致3 個圓相交于一個區域[17],所求的待測節點位置會有一定的誤差,實際情況下的節點分布如圖4 所示。d1,d2,d3分別為參考節點A,B,C到待測節點O的測試距離,O1,O2,O3為相交區域的3 個交點。

圖4 實際情況下的節點分布Fig.4 Nodes distribution in actual situation
如圖4 所示,未知節點O位于三角形ΔO1O2O3區域內,通過式(15)可求出O1(x1,y1)的坐標位置:
同理,可求出坐標O2(x2,y2),O3(x3,y3),改進加權質心定位算法,引入2 參考節點與未知節點距離之積的倒數作為權重系數對相應參考節點進行加權處理,則待測節點O(x,y)坐標為:
改進算法的具體步驟為:
① 參考節點周期性地向周圍節點發送自身信息,即包含坐標位置和ID 信息的數據包。
② 在通信范圍內,未知節點接收到超過閾值k個參考節點的信息數據包,重復讀取5 次后進行高斯濾波得到最佳接收信號值,對濾波后RSSI 信號按從大到小排列,建立RSSI 值與參考節點位置的關系映射,得到參考節點與未知節點間的RSSI 集合:RSSI_set={R1,R2,R3,…,Rk},對應的參考節點位置集合:Position_set={(x1,y1),(x2,y2),(x3,y3),…,(xk,yk)}。
③ 根據式(10)可計算出未知節點與各個參考節點間的距離,對應集合d_set={d1,d2,d3,…,dk}。
④ 取出前3 個近基站對應的距離,結合對應參考節點坐標位置信息,根據式(16)改進加權算法求得未知節點O(x,y)的坐標。
選用Matlab R2020b 作為仿真測試平臺來驗證改進算法性能,網絡定位區域為100 m×100 m 的正方形區域,分別布設100 個均勻分布的參考節點和50 個隨機分布的待測節點,由于信號傳播會受到井下環境的干擾,所以在仿真過程中加入均值為0、標準差為2 的高斯噪聲,路徑損耗因子n為3。 對傳統質心算法、文獻[18]算法與提出的改進算法進行比較,試驗仿真定位節點分布和定位誤差如圖5 和圖6 所示。

圖5 節點分布Fig.5 Nodes distribution map

圖6 定位算法誤差Fig.6 Error of positioning algorithm
由圖6 可以看出,改進的加權算法定位精度明顯優于傳統質心算法和文獻[18]提出的算法精度。不同定位算法誤差比較[19]如表2 所示。

表2 不同定位算法誤差比較Tab.2 Comparison of errors of different positioning algorithms單位:m
由表2 可以看出,改進算法在最大誤差、最小誤差和平均誤差3 方面都具有較大定位精度優勢。 在平均誤差方面,改進算法定位誤差分別比傳統質心算法、文獻[18]定位算法精度分別提高52. 2%,38.5%,且定位平均誤差在1 m 之內。 由此可知,改進算法具有更好的定位性能。
針對基于RSSI 定位算法在井下應用中受地質環境影響,定位精度低、穩定性差,無法滿足井下高精度人員定位的需要的問題。 在不增加硬件資源的前提下,采用高斯濾波對數據進行濾波處理,減輕數據的波動及突變,為下一步的高精度定位提供基礎。然后選取臨近參考節點進行加權處理。 仿真表明,改進算法與傳統定位算法、文獻[18]提出的算法相比,定位誤差明顯下降,抗干擾能力更強,且該改進算法的平均定位誤差為0.72 m,可基本滿足井下人員定位精度要求。