夏書娟,苗曙光,李晨晨,劉 想,張 岳,汪徐德
(淮北師范大學(xué) 物理與電子信息學(xué)院,安徽 淮北 235000)
長(zhǎng)期以來,我國(guó)的能源特點(diǎn)是“富煤少氣”,煤炭資源約占世界煤炭總資源的11.1%,在國(guó)民經(jīng)濟(jì)中占有舉足輕重的地位[1]。隨著煤礦開采的不斷深入,環(huán)境越來越惡劣,時(shí)常會(huì)發(fā)生瓦斯、煤塵、透水等災(zāi)害,井下人員的安全問題備受關(guān)注。建設(shè)可靠的井下人員定位系統(tǒng)是防范事故發(fā)生、減少人員傷亡、提高煤礦事故營(yíng)救效率的重要保障。隨著網(wǎng)絡(luò)技術(shù)智能化的發(fā)展,以ZigBee為代表的無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)的應(yīng)用領(lǐng)域越來越廣,如軍事應(yīng)用、工廠監(jiān)測(cè)、農(nóng)業(yè)生產(chǎn)、智能家居、醫(yī)療護(hù)理和煤礦井下等領(lǐng)域。本文設(shè)計(jì)了基于RSSI算法的井下人員定位系統(tǒng),在不增加錨節(jié)點(diǎn)成本的情況下提出了一種基于卡爾曼濾波的閾值優(yōu)化算法。該系統(tǒng)優(yōu)勢(shì)在于成本能耗低、硬件設(shè)備少、抗干擾能力強(qiáng),能較好地滿足煤礦井下場(chǎng)景的需求。
定位系統(tǒng)主要由錨節(jié)點(diǎn)、定位裝置、協(xié)調(diào)器和監(jiān)控管理中心組成,如圖1所示。
(1)監(jiān)控管理中心。監(jiān)控管理中心主要用于分析協(xié)調(diào)器發(fā)來的各個(gè)錨點(diǎn)與人員的位置信息,通過算法計(jì)算出人員的具體位置并顯示出來。在必要時(shí)還可通過監(jiān)控管理中心找到距離人員最近的錨節(jié)點(diǎn),并下發(fā)報(bào)警信號(hào)。
(2)協(xié)調(diào)器。協(xié)調(diào)器主要用于將錨節(jié)點(diǎn)發(fā)來的數(shù)據(jù)經(jīng)過編碼打包的方式通過以太網(wǎng)上發(fā)給監(jiān)控管理中心,并在接收到管理中心下發(fā)的報(bào)警信息時(shí),立即給對(duì)應(yīng)的錨節(jié)點(diǎn)發(fā)送報(bào)警信號(hào)。
(3)錨節(jié)點(diǎn)。錨節(jié)點(diǎn)主要用于接收定位裝置發(fā)送的請(qǐng)求信號(hào),通過信號(hào)強(qiáng)度轉(zhuǎn)化的RSSI值計(jì)算出節(jié)點(diǎn)與定位人員的距離,并將數(shù)據(jù)上發(fā)給協(xié)調(diào)器,在接收到報(bào)警信息后會(huì)立即給定位人員發(fā)送報(bào)警信號(hào)。
(4)定位裝置。定位裝置主要佩戴在井下人員的身上,通過不斷地發(fā)送定位請(qǐng)求給錨節(jié)點(diǎn),將自己的具體位置告訴監(jiān)控管理中心。在接收到錨節(jié)點(diǎn)發(fā)送的報(bào)警信號(hào)后會(huì)立即通過聲光報(bào)警裝置發(fā)出報(bào)警提醒人員。
圖1 井下ZigBee定位系統(tǒng)框圖
系統(tǒng)以CC2530作為錨節(jié)點(diǎn)、人員定位裝置、協(xié)調(diào)器的主控。將錨節(jié)點(diǎn)安裝在井下隧道旁,當(dāng)攜有定位裝置的人員經(jīng)過時(shí),定位裝置會(huì)向附近的錨節(jié)點(diǎn)發(fā)送請(qǐng)求信號(hào),接著錨節(jié)點(diǎn)會(huì)把接收到的信號(hào)強(qiáng)度轉(zhuǎn)化為距離值,并通過多跳的傳輸方式進(jìn)行逐級(jí)傳遞,使距離信息匯總至協(xié)調(diào)器,再由協(xié)調(diào)器借助以太網(wǎng)上傳到井上的監(jiān)控管理中心。監(jiān)控管理中心通過處理各個(gè)節(jié)點(diǎn)與定位人員的距離,利用加權(quán)質(zhì)心定位算法計(jì)算出人員位置,并顯示出來??傮w流程如圖2所示。
圖2 總體流程圖
主要用到的硬件資源:電源模塊、CC2530單片機(jī)、無(wú)線通信模塊、 聲光報(bào)警和OLED顯示模塊,如圖3所示。
圖3 定位節(jié)點(diǎn)組成框圖
(1)電源模塊:為定位節(jié)點(diǎn)提供電源,CC2530單片機(jī)工作電壓一般處于2.6 ~ 3.6 V,為保障單片機(jī)以及其他模塊的正常工作,選用了3.3 V穩(wěn)壓芯片作為系統(tǒng)供電模塊。
(2)CC2530單片機(jī):由TI公司生產(chǎn),用于ZigBee的片上系統(tǒng)[2],芯片結(jié)合了ZigBee協(xié)議棧,具有中斷、定時(shí)器、看門狗、串口、高精度ADC、DMA等多種功能外設(shè),在本設(shè)計(jì)中通過使用內(nèi)部12位高精度ADC采集信號(hào)強(qiáng)度并轉(zhuǎn)化為RSSI;將RSSI值通過算法計(jì)算得到距離信息并存儲(chǔ)在CC2530的Flash中;CC2530擁有高性能的RF收發(fā)器和增強(qiáng)型的8051微處理器[3],具有信號(hào)無(wú)線傳輸、數(shù)據(jù)分析處理等功能。
(3)RF天線接口:用于增強(qiáng)信號(hào)定向式傳輸和信號(hào)接收,通過天線接收人員定位裝置發(fā)出請(qǐng)求信號(hào),計(jì)算RSSI進(jìn)一步轉(zhuǎn)化為距離信息,再發(fā)送給協(xié)調(diào)器。
(4)聲光報(bào)警:通過在監(jiān)控管理平臺(tái)給人員下發(fā)報(bào)警信號(hào),人員定位裝置接收到報(bào)警信號(hào)會(huì)立即通過聲光的方式實(shí)現(xiàn)報(bào)警。
(5)OLED顯示模塊:通過OLED顯示電源電量,人員定位裝置可以顯示人員所處位置,在接收到報(bào)警信號(hào)后可以顯示報(bào)警信息。
井下工作面人員定位系統(tǒng)關(guān)鍵的定位技術(shù)主要包括:RSSI測(cè)距算法、卡爾曼濾波算法、加權(quán)質(zhì)心定位算法。
采用對(duì)數(shù)-距離損耗模型,利用信號(hào)值的損耗來計(jì)算信號(hào)傳播的距離[4]:
(1)
將RSSI值轉(zhuǎn)化為距離:
(2)
式中:d(d′)是收發(fā)端之間的距離;d0是錨節(jié)點(diǎn)間的參考距離;RSSI(d)表示錨節(jié)點(diǎn)接收到的強(qiáng)度值;RSSI(d0)表示理想環(huán)境下信號(hào)傳輸距離為d0時(shí)錨節(jié)點(diǎn)接收到的強(qiáng)度值;n為路徑損耗系數(shù);wσ是服從零均值高斯分布的隨機(jī)變量[5]。
由于信號(hào)環(huán)境等干擾因素,采集到的RSSI值中含有大量噪聲,采用卡爾曼濾波進(jìn)行除噪處理,將RSSI值中的突變或異常數(shù)據(jù)濾除。將采集到的信號(hào)值輸入到以下系統(tǒng)方程中,通過預(yù)測(cè)和更新,得到下一時(shí)刻的狀態(tài)準(zhǔn)確值。
狀態(tài)方程:Xk=AXk-1+BUk+Wk
觀測(cè)方程:Zk=HXk+Vk
式中:Xk是濾波后k時(shí)刻的RSSI值;A為狀態(tài)轉(zhuǎn)移矩陣,表示預(yù)測(cè)過程,取1;B為控制矩陣,取0;Uk稱為控制輸入向量;Zk是k時(shí)刻測(cè)量的RSSI值;H表示從狀態(tài)量到觀測(cè)的轉(zhuǎn)換矩陣取1;Wk和Vk分別表示過程和測(cè)量噪聲,均為高斯白噪聲[6]。
卡爾曼濾波基本迭代過程:
(1)向前推算狀態(tài)變量:基于上一時(shí)刻(k-1時(shí)刻)的最優(yōu)估計(jì)值預(yù)測(cè)k時(shí)刻的先驗(yàn)估計(jì),并加上外部控制量的修正。
X(k|k-1)=AX(k-1|k-1)+BUk
(3)
式中:X(k-1|k-1)是上一時(shí)刻的最優(yōu)結(jié)果[7];X(k|k-1)是k時(shí)刻的結(jié)果。
(2)向前推算誤差協(xié)方差:基于上一時(shí)刻(k-1時(shí)刻)的不確定性(后驗(yàn)估計(jì)協(xié)方差)預(yù)測(cè)k時(shí)刻的先驗(yàn)估計(jì)協(xié)方差,并加上外部環(huán)境的干擾。
P(k|k-1)=AP(k-1|k-1)AT+Q
(4)
式中:P(k|k-1)是X(k|k-1)的協(xié)方差;P(k-1|k-1)是X(k-1|k-1)的協(xié)方差;Q是Wk(過程噪聲)的協(xié)方差[7]。
(3)計(jì)算卡爾曼增益:基于預(yù)測(cè)部分和測(cè)量部分的兩個(gè)高斯分布的結(jié)合。
K=P(k|k-1)HT(HP(k|k-1)HT+R)-1
(5)
式中:R是Vk(測(cè)量噪聲)的協(xié)方差,一般可以觀測(cè)到,是已知條件。
(4)觀測(cè)變量更新估計(jì):預(yù)測(cè)和測(cè)量的殘差結(jié)合卡爾曼增益一起修正預(yù)測(cè),得到最優(yōu)估算X(k|k)。
X(k|k)=X(k|k-1)+K(Zk-HX(k|k-1))
(6)
(5)更新測(cè)量協(xié)方差:
P(k|k)=P(k|k-1)-KHP(k|k-1)
(7)
這是卡爾曼算法的一次濾波過程,如圖4所示,X(k|k)為新的最優(yōu)估計(jì),將X(k|k)和P(k|k)放到下一個(gè)預(yù)測(cè)和更新方程中不斷迭代。
圖4 卡爾曼濾波算法過程圖
對(duì)通過卡爾曼濾波處理后的RSSI值從小到大進(jìn)行排列,即RSSI,1≤RSSI,2≤RSSI,3≤…≤RSSI,n,確定其中位數(shù)MRSS:
(8)
由于中位值附近誤差信號(hào)影響,在中位數(shù)中增加一個(gè)閾值,用于優(yōu)化RSSI值。取值方法:不同RSSI值分別與中值求差,將差值平方求和,取平均值即閾值:
Ti=(RSSI,i-MRSS)2
(9)
(10)
接著使用誤差的閾值對(duì)權(quán)值進(jìn)行優(yōu)化:若某個(gè)RSSI值位數(shù)之差的平方(方差)小于閾值,則權(quán)值由閾值(Tavg)決定[8];若方差大于閾值,則權(quán)值由方差(Ti)決定。RSSI測(cè)量值的權(quán)值定義:
(11)
將該組的每個(gè)RSSI值分別與對(duì)應(yīng)的權(quán)值相乘再求和,得到最終的RSSI值。
(12)
三角形狀加權(quán)質(zhì)心定位算法在質(zhì)心算法的基礎(chǔ)上通過給每個(gè)錨節(jié)點(diǎn)分配不同權(quán)值的方法,進(jìn)一步提高定位精度,即錨節(jié)點(diǎn)離未知節(jié)點(diǎn)越遠(yuǎn)其權(quán)值越小[9-10]。設(shè)未知節(jié)點(diǎn)到錨節(jié)點(diǎn)的距離分別為dai、dbi、dci。
第i個(gè)未知節(jié)點(diǎn)O估計(jì)坐標(biāo)為(xi,yi),計(jì)算公式:
(13)
為了驗(yàn)證改進(jìn)算法的性能,使用Matlab軟件進(jìn)行仿真實(shí)驗(yàn),選定區(qū)域?yàn)樵?00 m × 5 m的區(qū)域,將20個(gè)錨節(jié)點(diǎn)均勻分布在區(qū)域長(zhǎng)邊框,以此來模擬井下巷道。設(shè)路徑損耗因子為5,通信半徑為10 m,進(jìn)行仿真實(shí)驗(yàn)50次,取結(jié)果的平均值。當(dāng)錨節(jié)點(diǎn)為20個(gè)時(shí),將實(shí)際值、質(zhì)心定位、加權(quán)質(zhì)心定位估計(jì)值進(jìn)行對(duì)比,仿真結(jié)果如圖5和6所示。
卡爾莫濾波改進(jìn)后的加權(quán)質(zhì)心算法的定位誤差明顯小于質(zhì)心定位的算法誤差。質(zhì)心定位的最大定位誤差距離為4.3 m,集中分布在1~3.2 m,平均定位誤差在2.047 m;加權(quán)質(zhì)心算法的最大定位誤差距離為1.8 m,集中分布在0.3~1.5 m,平均定位誤差在0.594 m,定位精度提高了70%左右。為了評(píng)估錨節(jié)點(diǎn)密度對(duì)質(zhì)心定位算法和加權(quán)質(zhì)心定位算法的影響,增加一組錨節(jié)點(diǎn)為40個(gè)進(jìn)行仿真如圖7和圖8所示。質(zhì)心定位受錨節(jié)點(diǎn)數(shù)量影響較大,在40個(gè)錨節(jié)點(diǎn)情況下,平均定位誤差為1.27 m;加權(quán)質(zhì)心定位受錨節(jié)點(diǎn)數(shù)量影響較小,平均定位誤差為0.539 m。
圖7 錨節(jié)點(diǎn)為40個(gè)時(shí)的定位坐標(biāo) 圖8 定位誤差
對(duì)ZigBee的井下人員定位系統(tǒng)進(jìn)行了研究與設(shè)計(jì),系統(tǒng)以CC2530作為主控芯片,實(shí)現(xiàn)了井下人員的實(shí)時(shí)定位與監(jiān)控。針對(duì)RSSI信號(hào)容易受到噪聲、多徑傳播、障礙物阻擋等影響,且在計(jì)算過程中存在信息丟失的問題,提出了一種基于卡爾曼濾波的閾值優(yōu)化算法。相較于傳統(tǒng)的質(zhì)心定位算法,改進(jìn)后的定位算法減小了定位誤差,明顯提升了定位精度,且不依賴于錨節(jié)點(diǎn)的數(shù)量,有效縮減了錨節(jié)點(diǎn)的硬件成本,同時(shí)也提高了定位的相對(duì)穩(wěn)定性。