吳雅琴 師蘭蘭
(中國(guó)礦業(yè)大學(xué)(北京)機(jī)電與信息工程學(xué)院 北京 100083)
2015年的“8·12”天津爆炸事件和2019年3月30日的四川涼山事件背后消防人員的傷亡數(shù)據(jù),時(shí)刻警醒著我們保障消防人員生命安全的迫切性和重要性。大部分的火災(zāi)現(xiàn)場(chǎng)是居民住宅區(qū)域,由于建筑物的復(fù)雜結(jié)構(gòu)和各種家具的布局,信號(hào)在傳播過程中很容易產(chǎn)生多徑效應(yīng),使得需要點(diǎn)對(duì)點(diǎn)直視的全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,GNSS)不適用于消防員的室內(nèi)定位[1]。另外由于火災(zāi)現(xiàn)場(chǎng)的煙霧濃度大和無電源,現(xiàn)場(chǎng)監(jiān)控技術(shù)不能滿足消防人員的室內(nèi)定位需求。因此針對(duì)火災(zāi)現(xiàn)場(chǎng)高溫、多灰塵、煙氣濃厚的環(huán)境,需要研究保障消防人員生命安全的定位技術(shù),以期實(shí)現(xiàn)在火災(zāi)現(xiàn)場(chǎng)對(duì)人員的快速精確定位。
常見的室內(nèi)定位算法有基于接收信號(hào)強(qiáng)度指示(RSSI)、到達(dá)時(shí)間(TOA)、到達(dá)時(shí)間差(TDOA)、到達(dá)角度(AOA)以及行人航位推算算法(PDR)等。由于消防現(xiàn)場(chǎng)的室內(nèi)布局不同,因此為室內(nèi)環(huán)境建立指紋數(shù)據(jù)庫的RSSI指紋定位算法,并不適用于消防現(xiàn)場(chǎng)的室內(nèi)定位。另外,由于建筑物的多徑效應(yīng)、信號(hào)的衰減以及消防現(xiàn)場(chǎng)室內(nèi)環(huán)境中其他不確定因素,其他基于RSSI的損耗模型或者基于AOA的定位算法也不適用于消防現(xiàn)場(chǎng)的室內(nèi)定位。還有一些需要部署很多參考節(jié)點(diǎn)的局域網(wǎng)定位技術(shù)也不適用于消防現(xiàn)場(chǎng)。本文選用可以適用于任何場(chǎng)景的改進(jìn)PDR算法與不需要大量部署節(jié)點(diǎn)的低功耗廣域網(wǎng)LoRa通信技術(shù),實(shí)現(xiàn)消防現(xiàn)場(chǎng)的室內(nèi)精確定位。
LoRa技術(shù)于2009年由法國(guó)的一個(gè)初創(chuàng)公司開發(fā),2011年被美國(guó)Semtech公司收購,2015年被LoRa聯(lián)盟標(biāo)準(zhǔn)化,開始在全球范圍內(nèi)推廣。LoRa運(yùn)行在全球免費(fèi)頻段上,通過在物理層應(yīng)用基于擴(kuò)頻的調(diào)制技術(shù)和在數(shù)據(jù)鏈路層應(yīng)用LoRaWAN協(xié)議實(shí)現(xiàn)低功耗廣域網(wǎng)通信,具有低功耗、遠(yuǎn)距離、較強(qiáng)的抗干擾性和穿透性等特性。
LoRa調(diào)制[2]通過結(jié)合擴(kuò)頻調(diào)制和向前糾錯(cuò)編碼技術(shù)(Forward Error Correction,F(xiàn)EC)對(duì)傳輸信號(hào)進(jìn)行調(diào)制,它具有遠(yuǎn)距離傳輸和高魯棒性的特性。在LoRa調(diào)制中影響信號(hào)傳輸性能的主要參數(shù)有:擴(kuò)頻因子(Spreading Factor,SF)、帶寬(Bandwidth,BW)、糾錯(cuò)編碼率(Coding rate,CR)。
(1)擴(kuò)頻因子。傳統(tǒng)的擴(kuò)頻因子是指將1個(gè)數(shù)據(jù)比特劃分為SF個(gè)碼片,LoRa中的擴(kuò)頻因子是指將SF個(gè)數(shù)據(jù)比特用2SF個(gè)碼片表示,一個(gè)碼元用SF個(gè)數(shù)據(jù)比特表示,則碼元速率RS與碼片速率RC的關(guān)系為:
(1)
由式(1)可知,當(dāng)擴(kuò)頻因子增大時(shí),傳輸數(shù)據(jù)量加大,因此傳輸數(shù)據(jù)速率降低。不同的芯片擴(kuò)頻因子的范圍不同,利用不同的擴(kuò)頻因子調(diào)制的信號(hào)正交,可以在同一信道上實(shí)現(xiàn)同時(shí)傳輸多個(gè)信號(hào)。
(2) 帶寬。LoRa調(diào)制中的帶寬指的是雙邊帶帶寬,并且碼片速率與帶寬一樣,已知傳輸一個(gè)碼元需要2SF個(gè)碼片,因此傳輸一個(gè)碼元的時(shí)間TS可以表示為:
(2)
則比特率(數(shù)據(jù)率)Rb表示為:
(3)
(3) 糾錯(cuò)編碼率。糾錯(cuò)編碼定義了向前糾錯(cuò)碼中的冗余信息數(shù)量,取值范圍在0~4之間,當(dāng)其為0時(shí)表示沒有用到向前糾錯(cuò)碼,LoRa調(diào)制定義了4/5、4/6、4/7、4/8四種糾錯(cuò)編碼率,提高了信號(hào)傳輸?shù)聂敯粜?,但也增加了不必要的開銷。它對(duì)傳輸數(shù)據(jù)速率REFC的影響表示為:
REFC=Rb×CR
(4)
LoRa調(diào)制的數(shù)據(jù)包包括四個(gè)部分:前導(dǎo)碼,可選報(bào)頭,負(fù)載,可選循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC)。數(shù)據(jù)包結(jié)構(gòu)如圖1所示。
圖1 數(shù)據(jù)包結(jié)構(gòu)圖
LoRaWAN[3]相當(dāng)于OSI七層模型中的數(shù)據(jù)鏈路層,它定義了通信協(xié)議和系統(tǒng)框架。LoRaWAN的模型如圖2所示。
圖2 LoRaWAN模型圖
LoRaWAN根據(jù)下行鏈路的通信延遲將節(jié)點(diǎn)分為三種工作模式:雙向終端設(shè)備(Class A)、預(yù)定接收時(shí)隙的雙向終端設(shè)備(Class B)、最大接收時(shí)隙的終端設(shè)備(Class C)[4]。
Class A工作模式是默認(rèn)的工作模式,由于只要終端節(jié)點(diǎn)發(fā)起上行傳輸,短時(shí)間內(nèi)兩個(gè)下行通信就會(huì)觸發(fā),其余時(shí)間進(jìn)入低功耗睡眠模式,所以Class A工作模式的功耗最低。Class B工作模式需要額外開啟一個(gè)ping窗口,實(shí)現(xiàn)在規(guī)定時(shí)延內(nèi)的下行通信,這雖然加大了功耗,但電池依然可供長(zhǎng)期使用。Class C工作模式除了上行傳輸時(shí)間都可以接收到網(wǎng)關(guān)節(jié)點(diǎn)下行傳輸?shù)臄?shù)據(jù),所以Class C工作模式極大地減小了時(shí)延,但與此同時(shí)增加了功耗。
本文結(jié)合消防現(xiàn)場(chǎng)需要,將慣性傳感器收集的數(shù)據(jù)快速傳輸?shù)骄W(wǎng)絡(luò)服務(wù)器,因此在消防現(xiàn)場(chǎng)工作的時(shí)候選擇Class C工作模式,當(dāng)工作完畢使終端節(jié)點(diǎn)進(jìn)入休眠模式,減少不必要的消耗。
本文選用SX1280 LoRa芯片、STM32F103微處理模塊以及JY-901模塊實(shí)現(xiàn)終端節(jié)點(diǎn)的通信,其中JY-901集成了加速度計(jì)、氣壓計(jì)、陀螺儀等測(cè)量器件,滿足PDR算法中數(shù)據(jù)的收集。終端節(jié)點(diǎn)的結(jié)構(gòu)如圖3所示。
圖3 終端節(jié)點(diǎn)結(jié)構(gòu)圖
(1) 實(shí)驗(yàn)環(huán)境。本文的測(cè)試環(huán)境有兩個(gè):場(chǎng)景一為學(xué)校的教學(xué)樓,一共7層,地上6層,地下一層記為-1層,長(zhǎng)85米,最寬處為55米,形狀不規(guī)則,其平面圖如圖4所示;場(chǎng)景二為學(xué)校的科技樓,一共9層,地上8層,地下一層,長(zhǎng)50米,寬18米,是一個(gè)規(guī)則的矩形,其平面圖如圖5所示。
圖4 場(chǎng)景一室內(nèi)平面圖
圖5 場(chǎng)景二室內(nèi)平面圖
(2) 實(shí)驗(yàn)驗(yàn)證。主要設(shè)備包括網(wǎng)關(guān)節(jié)點(diǎn)、終端節(jié)點(diǎn)和筆記本電腦,對(duì)終端節(jié)點(diǎn)分別設(shè)置不同的擴(kuò)頻因子、帶寬以及糾錯(cuò)編碼率。在場(chǎng)景二中,網(wǎng)關(guān)節(jié)點(diǎn)的位置保持不變,放在距科技樓中心50米處,模仿消防車距離發(fā)生火災(zāi)的現(xiàn)場(chǎng)的距離,網(wǎng)關(guān)節(jié)點(diǎn)距離地面高2米處,模仿消防車的高度,因?yàn)樾枰丫W(wǎng)關(guān)節(jié)點(diǎn)放在消防車上。終端節(jié)點(diǎn)分別在場(chǎng)景二內(nèi)部的1、3、5、7、9層的走廊南邊的第一個(gè)教室中心,北邊的第一個(gè)教室中心以及中間教室的走廊上分別發(fā)送數(shù)據(jù),一共15個(gè)點(diǎn),但每層的三個(gè)向網(wǎng)關(guān)節(jié)點(diǎn)的每個(gè)點(diǎn)發(fā)送100個(gè)數(shù)據(jù),統(tǒng)計(jì)這幾層發(fā)送300個(gè)數(shù)據(jù)包成功的概率。
帶寬、擴(kuò)頻因子與傳輸速率之間的關(guān)系如圖6所示??梢钥闯?,帶寬越高,數(shù)據(jù)傳輸速率越高;擴(kuò)頻因子越多,數(shù)據(jù)傳輸速率越慢;同理CR越大,數(shù)據(jù)傳輸速率越慢。
圖6 帶寬、擴(kuò)頻因子與傳輸速率之間的關(guān)系
帶寬與丟包率的關(guān)系如圖7所示??梢钥闯觯瑤捲礁?,丟包率越高,同時(shí)實(shí)驗(yàn)也驗(yàn)證擴(kuò)頻因子越大,丟包率越低;編碼率越低,丟包率越低。
圖7 帶寬與丟包率的關(guān)系
因此在通信的過程中,考慮折中的方案,既保證丟包率低,也保證數(shù)據(jù)傳輸速率高,雖然帶寬、擴(kuò)頻因子和CR對(duì)丟包率有影響但上升的趨勢(shì)緩慢平穩(wěn)。由圖6可以看出,高帶寬、低擴(kuò)頻因子對(duì)數(shù)據(jù)傳輸速率的影響比較突出,因此本文初始設(shè)定的擴(kuò)頻因子SF為5,帶寬BW為812 kHz,糾錯(cuò)編碼率CR為4/5,保證通信的可靠性。
本文結(jié)合消防現(xiàn)場(chǎng)的溫度,是否有電等不確定性因素和消防人員經(jīng)過統(tǒng)一訓(xùn)練的特性,提出一種新的算法進(jìn)行樓層判定。將改進(jìn)自適應(yīng)算法和零點(diǎn)穿越算法結(jié)合用于步頻檢測(cè);選用消防人員的經(jīng)驗(yàn)公式估計(jì)步長(zhǎng);對(duì)四元數(shù)表示的坐標(biāo)系卡爾曼濾波估計(jì)航向,實(shí)現(xiàn)水平定位。該算法本質(zhì)上是對(duì)原有PDR算法的改進(jìn),進(jìn)而對(duì)火災(zāi)救援現(xiàn)場(chǎng)人員進(jìn)行定位。
利用氣壓計(jì)收集的數(shù)據(jù)結(jié)合氣壓測(cè)高原理進(jìn)行樓層的判定是常用的樓層判定方法,但這種方法的前提是局部區(qū)域內(nèi)氣壓穩(wěn)定。由于消防現(xiàn)場(chǎng)溫度具有多變性,本文提出一種結(jié)合參考點(diǎn)氣壓值和運(yùn)動(dòng)趨勢(shì)的方法,進(jìn)行樓層判定,其流程如圖8所示。
圖8 樓層判定流程圖
首先在每層距樓梯口3 m左右的范圍內(nèi)底端放置一個(gè)終端節(jié)點(diǎn)作為氣壓測(cè)量參考節(jié)點(diǎn),假設(shè)判定消防人員在L層活動(dòng),采取n個(gè)樣點(diǎn)。如果該樣點(diǎn)是波峰,且波峰減去前一個(gè)波峰值的絕對(duì)值,超過一定的閾值,則根據(jù)該樣點(diǎn)的氣壓值和L層的氣壓值對(duì)比,判斷他是在上樓梯還是在下樓梯,當(dāng)其變小時(shí)則為上樓梯,當(dāng)其變大時(shí)則為下樓梯。如果該樣點(diǎn)的波峰減去前一個(gè)波峰值的絕對(duì)值,沒有超過一定的閾值,則通過其是否進(jìn)行過上下樓梯的活動(dòng)和參考節(jié)點(diǎn)的氣壓值對(duì)比,進(jìn)而判斷他所在的樓層。如果該樣點(diǎn)不是波峰,則取下一個(gè)樣點(diǎn)。
利用加速度的輸出波形進(jìn)行步頻檢測(cè),常用的方法有自相關(guān)法、零點(diǎn)穿越法、Stance Phase檢測(cè)法、峰值檢測(cè)法、動(dòng)態(tài)閾值波峰檢測(cè)法、自適應(yīng)峰值檢測(cè)法等[5-8]。
本文采用了對(duì)自適應(yīng)波峰改進(jìn)與零點(diǎn)穿越法相結(jié)合的步頻檢測(cè),首先通過低通濾波對(duì)Z軸的波形進(jìn)行濾波,研究表明行人運(yùn)動(dòng)的加速度在減去重力加速度后,行人行走時(shí)的加速度絕對(duì)值一般都在0.2~1 g之間,當(dāng)行人跑步時(shí)加速度的絕對(duì)值一般都在1~3 g之間。假設(shè)超過0.2~3 g這個(gè)范圍的都是非正常狀態(tài),跑步的頻率不超過5 Hz,本文的采樣頻率設(shè)置為50 Hz。在滑動(dòng)窗口內(nèi),采取n個(gè)樣點(diǎn),當(dāng)樣點(diǎn)為波峰時(shí),它的樣點(diǎn)值大于閾值,判斷它與上一個(gè)滿足條件的波峰值時(shí)刻last-u-t之間是否有波谷last-d-t,如果有波谷則穿越過一個(gè)零點(diǎn),相當(dāng)于半步完成,k時(shí)刻成為上一個(gè)last-u-t,如果沒有波谷,則與上一個(gè)波峰值last-u-v比較大小,選取絕對(duì)值大的為上一時(shí)刻的波峰。同樣的判斷適用于波谷,其流程如圖9所示。
圖9 步頻檢測(cè)流程圖
步長(zhǎng)估計(jì)是通過對(duì)加速度、行人、環(huán)境中的某些特征信息的統(tǒng)計(jì),分析這些特征與步長(zhǎng)之間的相關(guān)性,進(jìn)而估計(jì)步長(zhǎng)。常用的估計(jì)模型有四類:常數(shù)模型,線性模型,非線性模型以及人工智能步長(zhǎng)估計(jì)模型。其中常見的非線性模型有以下幾種[9-11]:
(1) 利用滑動(dòng)窗口內(nèi)n個(gè)采樣點(diǎn)中加速度的最大值和最小值與步長(zhǎng)之間的非線性模型有:
(5)
(6)
式中:k為回歸訓(xùn)練系數(shù)。
(2) 利用加速度的數(shù)據(jù)與步長(zhǎng)之間的非線性模型為:
(7)
由于消防人員經(jīng)過統(tǒng)一的訓(xùn)練,他們的步長(zhǎng)有一定的規(guī)律,但并不完全一致,如在訓(xùn)練時(shí)正步的標(biāo)準(zhǔn)是75 cm。本文采用的是文獻(xiàn)[12]提出的消防人員步行的經(jīng)驗(yàn)公式:
(8)
可以看出,文獻(xiàn)[12]采用的是非線性模型的一種。通過分析消防人員的步行的特征值,確定參數(shù)k=0.98。
航向坐標(biāo)常用的表示方法有歐拉角法、方向余弦法和四元數(shù),歐拉角法存在奇異性問題,方向余弦法計(jì)算比較復(fù)雜,因此本文選用的是計(jì)算簡(jiǎn)單的四元數(shù)表示法,通過對(duì)四元數(shù)表示的坐標(biāo)系進(jìn)行卡爾曼濾波,實(shí)現(xiàn)航向估計(jì)。
假設(shè)橫滾角θ、俯仰角φ和航向角φ,則用四元數(shù)表示載體坐標(biāo)系向航向坐標(biāo)系的轉(zhuǎn)換公式為:
(9)
式中:?表示復(fù)數(shù)相乘。
四元數(shù)的更新形式為[13]:
(10)
式中:Δω是三個(gè)載體坐標(biāo)軸在k-1時(shí)刻到k時(shí)刻的角度變化量的積分。對(duì)其泰勒式展開,并保留一項(xiàng)為:
(11)
則狀態(tài)方程為:
(12)
式中:Xk為k時(shí)刻的狀態(tài)量;Φk為k-1時(shí)刻的狀態(tài)量向k時(shí)刻的狀態(tài)量的轉(zhuǎn)移矩陣;γ為狀態(tài)估計(jì)中的噪聲。
觀測(cè)方程為:
Zk=I4Xk+β
(13)
式中:β為觀測(cè)時(shí)的噪聲向量。初始狀態(tài)向量X1=[1 0 0 0],初始狀態(tài)的協(xié)方差P1=I4,狀態(tài)噪聲γ為0.04I4,β為0.000 4I4。最后通過經(jīng)典卡爾曼濾波的求解過程對(duì)其求解。
對(duì)上述的通過氣壓計(jì)判定的樓層、加速度計(jì)估計(jì)的步長(zhǎng)和步頻、陀螺儀估計(jì)的航向,通過擴(kuò)展卡爾曼濾波實(shí)現(xiàn)這些數(shù)據(jù)的融合,實(shí)現(xiàn)定位。其整個(gè)流程如圖10所示。
圖10 融合定位流程圖
狀態(tài)量X=[xyLQF],其中:x、y分別是導(dǎo)航坐標(biāo)系中的x、y坐標(biāo),L表示步長(zhǎng),Q表示航向,F(xiàn)表示樓層。則狀態(tài)方程表達(dá)式為:
(14)
其觀測(cè)量Z=[LQF],則觀測(cè)方程表達(dá)式為:
(15)
求解流程如下:
(16)
(17)
(18)
(19)
(20)
為了驗(yàn)證算法的改進(jìn)效果,每天在場(chǎng)景一和場(chǎng)景二中,按照不同的行走路線,偶爾變換行走狀態(tài),靠著墻行走并記錄,對(duì)比沒有經(jīng)過卡爾曼濾波的PDR算法定位誤差與經(jīng)過卡爾曼濾波后的PDR算法定位誤差。如圖11所示,可以看出融合后的定位精度更高,并且最終的定位精度可以達(dá)到1.5 m左右。
圖11 定位精度對(duì)比
由于火災(zāi)現(xiàn)場(chǎng)的影響因素較多,存在很大的不確定性,使得基于大量參考節(jié)點(diǎn)或者特征值的算法并不適用于火災(zāi)現(xiàn)場(chǎng)的定位。本文結(jié)合低功耗遠(yuǎn)距離傳輸?shù)腖oRa通信技術(shù)與改進(jìn)的PDR定位算法,實(shí)現(xiàn)了火災(zāi)救援現(xiàn)場(chǎng)消防人員的精確定位,實(shí)驗(yàn)結(jié)果驗(yàn)證了該方法的可行性。