邵小強,趙 軒,聶馨超,郭德鋒,鄭潤洋,衛(wèi)晉陽
(西安科技大學 電氣與控制工程學院,陜西 西安 710054)
煤礦井下人員精確定位是推進煤礦安全開采,高效生產(chǎn)的重要保障[1]。礦山災難發(fā)生時,對煤礦井下工作人員的高精度定位有助于救援人員更高效開展援救工作。但傳統(tǒng)定位技術(shù)在礦井環(huán)境中普遍存在定位精度較低、誤差偏大、受環(huán)境干擾大等問題[2]。
目前,煤礦井下人員定位的方法主要有基于到達時間(TOA)、基于到達時間差(TDOA)、基于到達角度(AOA)和基于接收信號強度指示(RSSI)等[3-5]。其中,基于RSSI測距定位技術(shù)具有外設(shè)硬件少、功耗低等特點[6],僅需要檢測接收信號強度的變化來估算接收端與發(fā)射端之間的距離。但無線信號在傳輸過程中易受環(huán)境干擾影響,產(chǎn)生反射、多徑效應(yīng)、非視距傳輸?shù)葐栴}[7],造成RSSI測距定位誤差變大。因此,如何提高基于RSSI測距定位精度問題成為研究的熱點。
文獻[8]利用高斯模型對采集的RSSI值進行濾波處理,然后取均值進行測距計算,但這種算法并未考慮濾波后各信號值所占權(quán)重問題。文獻[9]的處理方法是將高斯濾波后的信號值進行分組加權(quán),但對各組權(quán)值的選取方法過于籠統(tǒng),不能與各信號值對應(yīng)匹配。文獻[10]利用高斯濾波去除掉一些異常信號值,再用卡爾曼濾波處理RSSI數(shù)據(jù),該算法并未考慮信號值應(yīng)該隨著距離的變化呈現(xiàn)出平滑狀態(tài)。為此,筆者提出了一種基于改進加權(quán)混合濾波的礦井RSSI定位方法。
礦井定位系統(tǒng)通過采集井下信號節(jié)點與未知節(jié)點之間的關(guān)系,將收集到信息傳輸給交換機,由交換機與地面上的服務(wù)器和各管理站進行交互。常見的礦井定位系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 礦井定位系統(tǒng)結(jié)構(gòu)
無線傳感器網(wǎng)絡(luò)中無線信號的傳播模型主要有自由空間傳播模型和對數(shù)正態(tài)陰影模型等[11]。在實際應(yīng)用中一般多用對數(shù)正態(tài)陰影模型,其傳播模型公式為:
(1)
式中,d為發(fā)射端與接收端之間的距離,m;d0為參考距離,通常取1m;P(d)和P(d0)分別表示距離發(fā)射端d和d0時接收的信號強度,dBm;n為路徑損耗指數(shù);Xσ是均值為0,標準差為σ的高斯隨機變量,表示環(huán)境中的噪聲干擾。
在實際測量中,用RSSI(d)表示P(d),則式(1)轉(zhuǎn)換為對應(yīng)的RSSI值形式,其衰減模型公式[12]為:
RSSI(d)=A-10nlg(d)+Xσ
(2)
式中,A表示距離發(fā)射端1m處接收到的信號強度。由式(2)可推出距離計算公式為:
(3)
RSSI測距主要利用發(fā)射端與接收端之間的信號強度損耗來計算二者的距離。由式(3)可知,影響RSSI測距精度的主要因素有路徑損耗指數(shù)n、環(huán)境參量Xσ、以及參數(shù)A和RSSI值[13]。在RSSI測距模型應(yīng)用時,人們通常給參數(shù)A和路徑損耗指數(shù)n賦以經(jīng)驗值,并將其作為整個網(wǎng)絡(luò)的固定模型參數(shù),且通常不考慮環(huán)境參量Xσ的影響。但真實礦井巷道中的環(huán)境情況更為復雜,一旦環(huán)境因素發(fā)生變化,信號的傳播也會受到影響,即使在相同位置不同時刻接收到的信號值也有可能產(chǎn)生較大的波動,影響整個系統(tǒng)的測距定位精度。
本文提出對經(jīng)過高斯濾波處理后的RSSI值進行最大值加權(quán)求解,以確定各點精確信號值,然后通過改進卡爾曼濾波器將整體RSSI值平滑輸出,最后利用最小二乘法求取該環(huán)境中的路徑損耗指數(shù)n和環(huán)境參量Xσ,建立修正后的RSSI測距模型進行測距定位。
高斯濾波適用于服從或近似服從于對數(shù)正態(tài)分布事件的集合[14],式(2)是一個滿足對數(shù)正態(tài)分布規(guī)律的陰影傳輸模型,高斯濾波可以得到對測距定位參考價值更大的RSSI值。設(shè)每個未知節(jié)點接收到的n個RSSI值樣本數(shù)據(jù)分別為R1,R2,…,Rn,對應(yīng)的概率分別為P1,P2,…,Pn,且RSSI近似服從(μ,σ2)的高斯分布,其概率密度函數(shù)為:
(4)
式中,R為RSSI值。由極大似然估計法可求得:
(5)
(6)
(7)
實驗采集了未知節(jié)點距離信號結(jié)點30m內(nèi)每間隔1m的信號值,以距離信號節(jié)點16m處采集到的信號為例,對采集到的信號值進行高斯濾波處理。高斯濾波前后的RSSI值對比效果如圖2所示??梢钥闯?,高斯濾波后可以得到一組相對穩(wěn)定的信號值。
圖2 高斯濾波前后RSSI值(距離16m處)
文獻[9]指出RSSI值越大,對未知節(jié)點的參考價值就越大。因此本文在高斯濾波基礎(chǔ)上,提出了引入最大值加權(quán)處理RSSI數(shù)據(jù)。首先找出未知節(jié)點在各位置點接收到的最大RSSI值Rmax,求出各位置點序列中RSSI值與Rmax的差為:
Di=Rmax-Ri,(i=1,2,…,n)
(8)
其中,Ri為序列中第i個RSSI值。當Ri=Rmax時,Di=0,式(8)沒有意義,因此引入加權(quán)系數(shù)處理式:
(9)
歸一化處理得到加權(quán)權(quán)重Wi[15]:
(10)
將序列中每個RSSI值與相對應(yīng)的權(quán)重Wi相乘后累加求和得出未知節(jié)點所在位置的RSSI值。
(11)
由此可以求出個未知節(jié)點在各位置處接收到的更加精確的信號值,為提高定位精度做好鋪墊。
經(jīng)典卡爾曼濾波算法通常采用狀態(tài)空間模型來進行描述動態(tài)系統(tǒng),其狀態(tài)空間模型主要由狀態(tài)方程和觀測方程組成[16,17],即:
Xk=Φk-1Xk-1+Wk-1
(12)
Yk=HkXk+Vk
(13)
式中,k為離散時間;Xk為系統(tǒng)在k-1時刻預測到的k時刻的狀態(tài)信號;Yk為對應(yīng)狀態(tài)的觀測信號;Wk-1為輸入白噪聲;Vk為觀測噪聲;Φk-1為狀態(tài)轉(zhuǎn)移矩陣;Hk為觀測矩陣。
系統(tǒng)誤差的協(xié)方差方程為:
(14)
式中,Pk為k時刻系統(tǒng)狀態(tài)的協(xié)方差,Qk-1為k-1時刻系統(tǒng)噪聲的協(xié)方差矩陣。
對式(12)中k時刻的預測狀態(tài)信號和式(13)中k時刻的觀測狀態(tài)信號進行加權(quán)求均值,這個權(quán)值即卡爾曼增益Kk:
(15)
式中,Rk為觀測噪聲序列的協(xié)方差矩陣。
在k時刻Xk的最優(yōu)化更新方程為:
εk=Yk-HkXk
(16)
(17)
式中,εk為測量矩陣Yk對應(yīng)的新息值。
在k時刻系統(tǒng)誤差的協(xié)方差更新方程為:
(18)
式中,I為單位矩陣。
本文卡爾曼濾波器主要用來對整體信號值進行預測更新,使整體RSSI值呈現(xiàn)平滑狀態(tài)。經(jīng)典卡爾曼濾波器是對所有位置的RSSI值進行預測、更新,而對于某些點的RSSI值在經(jīng)過高斯濾波和引入最大值加權(quán)后已經(jīng)達到一種理想狀態(tài),經(jīng)過卡爾曼濾波后反而使其發(fā)生異變。因此,本文設(shè)計了一種改進卡爾曼濾波器對整體RSSI值進行處理。由式(16)、式(17)可知,卡爾曼濾波器主要通過新息值來影響濾波結(jié)果。因此,當信號值發(fā)生較大偏差時,應(yīng)當采取一定方法來修正新息值。新息中的粗差通過增益矩陣Kk影響信號狀態(tài)濾波[18],本文提出引入等價權(quán)函數(shù)D來調(diào)整增益矩陣Kk:
(19)
則式(17)變?yōu)椋?/p>
(20)
已知理想狀態(tài)下,接收端接收到的RSSI值隨著距離的增大而減小。假設(shè)k+1時刻RSSI值與k-1時刻RSSI值之差的絕對值為ΔRSSI,即:
ΔRSSI=|RSSIk+1-RSSIk-1|
(21)
記等價權(quán)函數(shù)D的取值為:
(22)
式中,ΔC為ΔRSSI的閾值,其取值需要根據(jù)未知節(jié)點在各位置點接收到的RSSI值來確定。本文對經(jīng)過高斯加權(quán)處理后各位置點的信號值求取ΔRSSI,通過大量仿真實驗得出ΔC的取值范圍為1~6,在計算時取ΔRSSI的閾值ΔC=4。
根據(jù)前文介紹的RSSI測距模型及模型誤差分析可知,影響RSSI測距精度的RSSI值經(jīng)過高斯濾波、引入最大值加權(quán)和改進卡爾曼濾波后可以得到相對穩(wěn)定的信號值,參數(shù)A即距離1m處的RSSI值,經(jīng)上述處理可求得參數(shù)A=-28dBm。本文采用最小二乘法對路徑損耗指數(shù)n和環(huán)境參量Xσ的值進行求解。
令RSSI值為y,x=lgd,a=-10n,b=A+Xσ,則式(2)變?yōu)閥=ax+b。應(yīng)用最小二乘法原理將實測值yi和計算值yj之差的平方和φ=∑(yi-yj)2最小作為“優(yōu)化判據(jù)”,計算a和b。
(23)
要求的φ最小值,可用函數(shù)φ對a、b求偏導數(shù),并令其等于零,即:
(24)
(25)
將式(24)、式(25)整理得:
(26)
(27)
求得:
(28)
(29)
由此可求出a和b的值,并可計算求出該環(huán)境下的路徑損耗指數(shù)n=2.2732,環(huán)境參量Xσ=8.8212,進而建立該環(huán)境下的RSSI測距定位模型。
參照文獻[9]數(shù)據(jù)采集方法,實驗環(huán)境選擇西安科技大學國家重點實驗室——煤炭主體專業(yè)綜合實驗中心。實驗時不排除巷道中固定障礙物及偶爾過往行人的干擾,使實驗環(huán)境更加符合真實巷道。本文只針對未知節(jié)點周圍的一個信號節(jié)點進行研究,將2.4GHz頻段的無線路由器固定好作為信號節(jié)點(發(fā)射端),利用聯(lián)想筆記本(網(wǎng)卡Inter(R Wireless-N 7260)作為未知節(jié)點(接收端)。電腦中下載WirelessMon軟件進行信號采集。設(shè)置采樣速率設(shè)置為7s,延遲10ms,每間隔1m測量7min,每組采集多于50個數(shù)據(jù),共采集30組數(shù)據(jù)。
為檢測本文所提方法的定位效果,將本文所提方法與文獻[9]所提測距方法、均值RSSI測距和經(jīng)典卡爾曼濾波估計方法進行對比。實驗數(shù)據(jù)見表1,各種方法估計距離曲線和誤差曲線分別如圖3、圖4所示。
圖3 不同方法估計距離曲線
圖4 不同方法估計距離誤差
由表1和圖3、4可知,采用本文方法所測平均誤差相比于前三種方法分別降低了1.27m,1.11m和0.34m。從而證明本文所提方法的有效性和先進性。
表1 各種定位方法實驗數(shù)據(jù) m
除此之外,本文對ΔC取不同值時所測距離誤差進行仿真實驗,仿真結(jié)果如圖5和圖6所示,結(jié)果見表2。
圖5 不同閾值ΔC測距曲線
圖6 不同閾值ΔC測距誤差曲線
表2 不同閾值ΔC測距誤差數(shù)據(jù) m
由表2和圖5、圖6可知,當ΔC取值過小時改進卡爾曼濾波器達不到濾波效果,數(shù)據(jù)偏差依然較大;當ΔC取值過大又會導致改進卡爾曼濾波器將一些已經(jīng)達到理想狀態(tài)的信號加以修改,影響測距精度。經(jīng)過大量實驗仿真驗證當ΔC=4時,測距曲線最接近真實距離曲線,誤差曲線也明顯低于其它情況的誤差曲線。應(yīng)用RSSI測距環(huán)境不同,閾值ΔC的取值也不同,具體取值要根據(jù)實際環(huán)境中測得的整體RSSI值來決定。
本文提出引入最大值加權(quán)方法對高斯濾波預處理后的RSSI值進行計算,為不同的RSSI值分配不同的權(quán)重,可以獲取各位置處接收到更精確的RSSI值,避免籠統(tǒng)分組加權(quán)問題的出現(xiàn)。其次,在卡爾曼濾波器中引入閾值ΔC,通過為ΔC賦予不同的值可以有效避免傳統(tǒng)卡爾曼濾波器盲目處理信號值的問題。最后利用最小二乘法求出特定環(huán)境下的路徑損耗指數(shù)n和環(huán)境參量Xσ,打破傳統(tǒng)為其賦以固定值或經(jīng)驗值的束縛,建立了符合特定巷道環(huán)境的測距模型,可以有效提升測距精度。實驗仿真結(jié)果得出,在合理選擇閾值ΔC的基礎(chǔ)上,本文所提方法能夠有效降低RSSI測距定位誤差,定位結(jié)果也明顯優(yōu)于其他幾種方法,為實現(xiàn)RSSI測距定位方法在煤礦井下的有效應(yīng)用提供了可能。