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