韓一石,曾祥威,李 賢,陳佳瀚,洪遠(yuǎn)霖
(廣東工業(yè)大學(xué) 信息工程學(xué)院,廣東 廣州 510006)
針對(duì)室內(nèi)定位技術(shù)研究,近年來(lái)中外學(xué)者提出了多種定位方法,例如基于ZigBee、超聲波、紅外線、RFID、藍(lán)牙、無(wú)線局域網(wǎng)、超寬帶(Ultra-Wideband,UWB)、可見(jiàn)光通信、計(jì)算機(jī)視覺(jué)、地磁等技術(shù)研究,這些定位算法普遍聚焦于二維平面的定位[1-3],對(duì)三維樓層識(shí)別的關(guān)注度相對(duì)較少[4],難以應(yīng)對(duì)當(dāng)前建筑環(huán)境下室內(nèi)三維定位需求。精準(zhǔn)的樓層識(shí)別可以減少空間搜索域并提高本地化準(zhǔn)確性,在緊急情況下,準(zhǔn)確的樓層信息對(duì)救援人員至關(guān)重要,可提供有效的緊急服務(wù)。
針對(duì)室內(nèi)樓層定位問(wèn)題,目前所提出的解決方案大多是基于Wi-Fi 信號(hào)衰減判別[5-6]和氣壓差分技術(shù)[7-8]等。文獻(xiàn)[9]通過(guò)Wi-Fi 信號(hào)指紋匹配實(shí)現(xiàn)樓層識(shí)別,離線階段將不同樓層的AP(Access Point)地址和信號(hào)范圍作為指紋建立指紋庫(kù),在線階段掃描AP 信息與指紋庫(kù)匹配識(shí)別樓層,識(shí)別準(zhǔn)確率有96%;文獻(xiàn)[10]針對(duì)指紋庫(kù)作出改進(jìn),在線階段基于KNN(K-Nearest-Neighbor)算法進(jìn)行樓層識(shí)別,識(shí)別準(zhǔn)確率優(yōu)于96%,但文獻(xiàn)[9]-[10]的樓層識(shí)別方法在動(dòng)態(tài)活動(dòng)下識(shí)別準(zhǔn)確率僅為88%。文獻(xiàn)[11]提出在建筑物頂層與底層安設(shè)AP,將不同樓層中兩個(gè)AP的信號(hào)差作為識(shí)別依據(jù),接收來(lái)自不同樓層信號(hào),識(shí)別準(zhǔn)確率為95%,但Wi-Fi 等近距離通信技術(shù)存在通信距離短的劣勢(shì),若想實(shí)現(xiàn)室內(nèi)信號(hào)全覆蓋則設(shè)備成本較高。文獻(xiàn)[12]-[13]通過(guò)上下樓活動(dòng)識(shí)別記錄上下樓的氣壓差分計(jì)算高度,但特殊情況下(如發(fā)生火災(zāi)時(shí))室內(nèi)氣壓不穩(wěn)定,魯棒性較差。文獻(xiàn)[14]提出一種基于貝葉斯網(wǎng)絡(luò)的樓層定位方法,利用貝葉斯網(wǎng)絡(luò)融合擴(kuò)展卡爾曼濾波算法[15]對(duì)慣性傳感器數(shù)據(jù)和氣壓計(jì)數(shù)據(jù)進(jìn)行融合推測(cè)行人在某一層的概率,準(zhǔn)確率達(dá)99.3%,但該方法中的算法相當(dāng)復(fù)雜,且須穿戴多種傳感器,設(shè)備成本高且增加了穿戴人員的負(fù)重。
針對(duì)以上文獻(xiàn)存在的問(wèn)題,本文提出一種更易實(shí)現(xiàn)的、精準(zhǔn)度高的、基于LoRa-RSSI(Received Signal Strength Indication,接收信號(hào)強(qiáng)度指示)的動(dòng)態(tài)識(shí)別和樓層判定方法。近年來(lái)LoRa 技術(shù)在室內(nèi)定位中有了許多應(yīng)用[16]。LoRa-RSSI 樓層判定方法通過(guò)在各層樓梯口建立LoRa離線信號(hào)指紋庫(kù),區(qū)分不同樓層信號(hào)強(qiáng)度特征劃分判定閾值,該閾值對(duì)應(yīng)各樓層信號(hào)強(qiáng)度關(guān)鍵特征值,捕捉物體室內(nèi)活動(dòng)時(shí)無(wú)線信號(hào)接收強(qiáng)度的實(shí)時(shí)變化,最后實(shí)現(xiàn)上下樓活動(dòng)快速精準(zhǔn)的動(dòng)態(tài)識(shí)別和樓層判定,解決了室內(nèi)三維定位中垂直方向的樓層判定算法復(fù)雜度高、準(zhǔn)確率低、易受外界環(huán)境影響等問(wèn)題。
用于衡量定位性能的指標(biāo)有定位規(guī)模、功耗、魯棒性、實(shí)時(shí)性、部署成本等,常見(jiàn)的幾種指紋技術(shù)指標(biāo)比較如表1 所示。

表1 幾種指紋技術(shù)指標(biāo)比較
樓層判定常見(jiàn)場(chǎng)景的設(shè)備部署面積往往較大,信號(hào)衰減快,所以最佳指紋技術(shù)需同時(shí)考慮覆蓋規(guī)模、魯棒性、實(shí)時(shí)性和部署成本等。綜合表1 信號(hào)指紋技術(shù)對(duì)比,LoRa 通信功耗低,定位規(guī)模大,部署成本更低,處于免頻段,滿足大小型室內(nèi)樓層判定的正常需求,因此LoRa更適合用于大型室內(nèi)信號(hào)指紋庫(kù)技術(shù)。
LoRa 指紋庫(kù)建立如圖1 所示。信號(hào)指紋法包含離線和在線兩個(gè)階段。其中,離線階段采用仿射傳播聚類算法對(duì)采集的RSSI 指紋數(shù)據(jù)進(jìn)行聚類,并將每個(gè)聚類確定為一個(gè)子數(shù)據(jù)庫(kù);在線階段則將采集的待定位點(diǎn)處RSSI數(shù)據(jù)與每個(gè)子數(shù)據(jù)庫(kù)的聚類中心進(jìn)行匹配,選擇最優(yōu)匹配子數(shù)據(jù)庫(kù)用于樓層識(shí)別,由此建立各樓層樓梯口的判定閾值指紋庫(kù),最后結(jié)合LoRa-RSSI 動(dòng)態(tài)識(shí)別和樓層判定算法,獲得樓層判定結(jié)果。

圖1 LoRa 指紋庫(kù)建立及樓層判定流程圖
此外,在實(shí)際研究中了解到,人員室內(nèi)動(dòng)態(tài)活動(dòng)狀態(tài)下室內(nèi)所測(cè)得的RSSI 值存在抖動(dòng)性,需對(duì)LoRa 信號(hào)指紋數(shù)據(jù)庫(kù)進(jìn)行去噪處理,主要通過(guò)遍歷RSSI 數(shù)據(jù)聚類后的每個(gè)子數(shù)據(jù)庫(kù),對(duì)每個(gè)數(shù)據(jù)點(diǎn)進(jìn)行相對(duì)密度的離群點(diǎn)檢測(cè)[17],當(dāng)某數(shù)據(jù)點(diǎn)對(duì)應(yīng)的離群系數(shù)大于給定門限時(shí),則判定為離群點(diǎn),從而達(dá)到去噪效果。
圖2 為本文提出的LoRa-RSSI 動(dòng)態(tài)識(shí)別和樓層判定算法判定流程圖。

圖2 LoRa-RSSI 動(dòng)態(tài)識(shí)別樓層判定算法
以圖3 作為樓層判定的基本模型對(duì)圖2 算法做詳細(xì)的說(shuō)明。在每層樓梯口處放置LoRa 信號(hào)發(fā)送節(jié)點(diǎn),人員在室內(nèi)水平或上下樓活動(dòng)時(shí)接收來(lái)自不同樓層的RSSI。各層樓梯口建立離線信號(hào)指紋庫(kù)劃分判定閾值。假設(shè)人員當(dāng)前在L2,分別接收L1rssi(L1的RSSI)、L2rssi(L2的RSSI)和L3rssi(L3的RSSI)。若 接收到L2rssi和L3rssi均在不斷增強(qiáng),可判斷此時(shí)人員仍在L2,正靠近樓梯口;若接收到的L2rssi和L3rssi均在不斷減弱,可判斷此時(shí)仍在L2,正遠(yuǎn)離樓梯口;若接收到L2rssi不斷減弱,而L3rssi不斷增強(qiáng),可判斷正在上樓,當(dāng)達(dá)到L3 判定閾值時(shí),可判定抵達(dá)L3;若接收到L2rssi不斷減弱,而L1rssi不斷增強(qiáng),可判斷正在上樓,當(dāng)達(dá)到L1 判定閾值時(shí),可判定抵達(dá)L1,其他情況同理。

圖3 樓層判定基本模型
實(shí)驗(yàn)設(shè)備發(fā)送接收節(jié)點(diǎn)結(jié)構(gòu)如圖4 所示,實(shí)物連接如圖5 所示。實(shí)驗(yàn)發(fā)送和接收節(jié)點(diǎn)均采用Arduino 開(kāi)發(fā)板作為MCU。無(wú)線通信模塊采用SX1278-LoRa 擴(kuò)頻芯片,天線是433 MHz 彈簧天線,UAST/USB 串口用于代碼錄入。另外,接收端主板以I2C 通信方式接入一個(gè)LCD顯示屏,可顯示當(dāng)前樓層。

圖4 發(fā)送/接收節(jié)點(diǎn)結(jié)構(gòu)圖

圖5 實(shí)物連接圖
LoRa 信號(hào)實(shí)時(shí)監(jiān)測(cè)自組網(wǎng)節(jié)點(diǎn)設(shè)計(jì)如圖6 所示。首先開(kāi)啟LoRa 接收指令后產(chǎn)生入網(wǎng)隨機(jī)時(shí)間延時(shí),隨后判斷無(wú)線是否入網(wǎng),入網(wǎng)后獲取數(shù)據(jù)包發(fā)送時(shí)長(zhǎng)和節(jié)點(diǎn)時(shí)間片,然后判斷信號(hào)數(shù)據(jù)是否接收成功,若未接收成功判斷是否達(dá)到定時(shí)數(shù)據(jù)發(fā)送時(shí)間,當(dāng)數(shù)據(jù)接收完成,解析數(shù)據(jù)。

圖6 RSSI 監(jiān)測(cè)系統(tǒng)自組網(wǎng)節(jié)點(diǎn)設(shè)計(jì)
不同樓宇對(duì)信號(hào)造成的衰減影響不同,為驗(yàn)證方法的精準(zhǔn)度,實(shí)驗(yàn)分別選擇Build-I、Build-II 進(jìn)行分析,如圖7 所示。其中,Build-I 建筑面積S 為30×100 m2,層高H 為3 m,樓板厚度T 為150 mm;Build-II 建筑面積S 為50×150 m2,每層高度H 為4 m,樓板厚度T 為200 mm2。在Build-I 和Build-II 1~4 層樓梯口處各放置一個(gè)LoRa信號(hào)發(fā)送端,設(shè)置波特率為9 600 b/s,接收端不斷監(jiān)測(cè)來(lái)自發(fā)送端的信號(hào)強(qiáng)度。實(shí)驗(yàn)者攜信號(hào)接收器,分別模擬同層遠(yuǎn)離樓梯口、同層靠近樓梯口、上一層樓、下一層樓、跨多層樓等多組實(shí)驗(yàn),每組各進(jìn)行100 次實(shí)驗(yàn),共1 000組實(shí)驗(yàn)。

圖7 實(shí)驗(yàn)環(huán)境
建立判定閾值指紋庫(kù)用于判定樓層,去噪后得指紋庫(kù)值作為樓層判定算法中的判定閾值庫(kù)。根據(jù)閾值指紋庫(kù)建立的流程分別建立Build-I、Build-II 各為4 層的樓梯口的判定閾值區(qū)間,圖8 為Build-I 各層樓梯口的判定閾值,圖9 為Build-II 各層樓梯口的判定閾值(F1~F4:第1 層~第4 層),其中X、Y 軸表示平面坐標(biāo),Z 軸表示坐標(biāo)對(duì)應(yīng)信號(hào)強(qiáng)度。

圖8 Build-I 閾值指紋庫(kù)

圖9 Build-II 閾值指紋庫(kù)
由圖8、圖9 可得,不同樓宇的不同樓層指紋庫(kù)閾值數(shù)據(jù)呈現(xiàn)信號(hào)遞減的特征,Build-I 中F1~F4 樓梯口的信號(hào)閾值均值分別為45 dBm、63 dBm、78 dBm、100 dBm,Build-I 每層樓遞減信號(hào)強(qiáng)度幅度約為18 dBm;Build-II中F1~F4的樓梯口的信號(hào)閾值均值分別為46 dBm、70 dBm、92 dBm、110 dBm,Build-II 每層樓遞減信號(hào)強(qiáng)度幅度約為23 dBm。已知RSSI 測(cè)距公式[18],分析如下:

其中,d 為距離,單位是m;RSSI 為信號(hào)強(qiáng)度;A 為距離信號(hào)源1 m 時(shí)RSSI 值絕對(duì)值,最佳范圍在45~49 之間;n 為環(huán)境衰減因子,最佳范圍在3.25~4.5 之間。根據(jù)式(1),在垂直方向上相應(yīng)高度的理論值與本文的實(shí)際測(cè)量值相符,證明了該判定閾值具有可行性。Build-I與Build-II的建筑面積(S)、層高(H)、樓板厚度(T)等建筑結(jié)構(gòu)不同,是導(dǎo)致兩組實(shí)驗(yàn)樓層判定準(zhǔn)確率有所差異的主要原因。
分析表面,人員在Build-I 正常行走狀態(tài)下,上一層樓時(shí)間約需12 s,下一層樓約10 s;Build-II 上一層樓約需15 s,下一層樓約12 s。以Build-II 室內(nèi)定位(H=4 m)為例,設(shè)定IDE 程序中delay=400,即每0.4 s 接收端接收一次信號(hào)強(qiáng)度(單位:dBm),上樓時(shí)信號(hào)強(qiáng)度變化趨勢(shì)如圖10 所示,圖中上樓時(shí),信號(hào)接收節(jié)點(diǎn)接收到來(lái)自同層的信號(hào)不斷減弱,接收到L+1 層的信號(hào)不斷增強(qiáng),實(shí)際信號(hào)變化趨勢(shì)符合理論變化值。下樓時(shí)信號(hào)強(qiáng)度變化趨勢(shì)如圖11 所示。結(jié)合判定閾值,最終通過(guò)實(shí)驗(yàn)獲得的Build-I、Build-II 樓層判定準(zhǔn)確率如表2 所示。

圖10 行走上樓信號(hào)變化(Build-II)

圖11 行走下樓信號(hào)變化(Build-II)

表2 行走狀態(tài)實(shí)驗(yàn)組
由表2 可得,正常行走狀態(tài)Build-I 組平均準(zhǔn)確率達(dá)98.3%,Build-II 組平均準(zhǔn)確率達(dá)98.1%。
另外,考慮到特殊情況下(例如發(fā)生火災(zāi)警情)出警人員速度較快,實(shí)驗(yàn)研究跑步狀態(tài)樓層判斷分析,其中Build-I 上一層樓約6 s,下一層樓約5 s;Build-II 上一層樓約需7 s,下一層樓約5 s。這里,仍以Build-II 為例,設(shè)定IDE 中的程序中delay=200,即每0.2 s 接收端接收一次信號(hào)強(qiáng)度,跑步上樓信號(hào)強(qiáng)度變化趨勢(shì)如圖12 所示,跑步下樓信號(hào)強(qiáng)度變化趨勢(shì)圖13 所示。結(jié)合判定閾值,最終通過(guò)實(shí)驗(yàn)獲得的樓層判定準(zhǔn)確率如表3 所示。

圖12 跑步上樓信號(hào)變化(Build-II)

圖13 跑步下樓信號(hào)變化(Build-II)

表3 跑步狀態(tài)實(shí)驗(yàn)組
由表3 可得,跑步狀態(tài)下Build-I 組平均準(zhǔn)確率達(dá)97.4%,Build-II 組的平均準(zhǔn)確率達(dá)97.8%。實(shí)驗(yàn)結(jié)果表明,基于無(wú)線信號(hào)強(qiáng)度值在動(dòng)態(tài)活動(dòng)下能實(shí)現(xiàn)高準(zhǔn)確率的樓層判定,且跑步和行走狀態(tài)下均能保持較高的準(zhǔn)確率,在1 000 組實(shí)驗(yàn)中,平均判定準(zhǔn)確率為97.9%。分析發(fā)現(xiàn),存在少量誤判的主要原因是:跨多層時(shí)建筑物障礙物增多,尤其是在室內(nèi)人員快速移動(dòng)情況下,信號(hào)強(qiáng)度穩(wěn)定度下降。此外還包括設(shè)備自身偶然誤差等因素造成。
將本文的樓層識(shí)別方法與文獻(xiàn)[9]-[14]中其他方法進(jìn)行對(duì)比,結(jié)果統(tǒng)計(jì)如表4 所示。可見(jiàn),LoRa-RSSI 樓層識(shí)別方法準(zhǔn)確率高于指紋匹配KNN 算法、指紋匹配差分手機(jī)及基站氣壓法、信號(hào)氣壓混合法,但低于貝葉斯網(wǎng)絡(luò)法。由文獻(xiàn)[14]知道,貝葉斯網(wǎng)絡(luò)法算法復(fù)雜度過(guò)高,且測(cè)試人員需佩戴多種可穿戴式傳感器設(shè)備,不適合普通大眾場(chǎng)合及人員密集情況。

表4 識(shí)別方法結(jié)果對(duì)比
本文提出一種基于LoRa 信號(hào)的樓層判定方法,該方法基于LoRa 傳輸距離遠(yuǎn)和穿透性強(qiáng)的特點(diǎn),建立離線信號(hào)指紋庫(kù)測(cè)得判定閾值,然后結(jié)合樓層判定動(dòng)態(tài)識(shí)別算法,實(shí)現(xiàn)物體室內(nèi)上下樓活動(dòng)的動(dòng)態(tài)識(shí)別和樓層判定。實(shí)驗(yàn)結(jié)果表明,基于LoRa-RSSI的樓層判定方法可通過(guò)實(shí)時(shí)追蹤信號(hào)強(qiáng)度值變化實(shí)現(xiàn)動(dòng)態(tài)識(shí)別和樓層判定,識(shí)別判定準(zhǔn)確率高,算法復(fù)雜度低,且不受外界環(huán)境場(chǎng)合影響,可快速按需部署。此外,將本方法與成熟的室內(nèi)二維定位技術(shù)結(jié)合,可簡(jiǎn)單實(shí)現(xiàn)人、物的快速室內(nèi)三維定位,為室內(nèi)三維定位技術(shù)提供了一種新的方法與思路。