陳麗敏,陳宇寧
(1.福建電力職業技術學院,福建 泉州 362000;2.國網泉州供電公司,福建 泉州 362000)
無線室內定位具有較為廣泛的應用場景,藍牙技術在這一領域占據著重要地位,其優點為運營成本低、識別距離遠、傳輸速率較高。傳統的藍牙室內定位算法在實踐中暴露出部分問題,包括精度不足、對環境變化缺乏適應能力等,因此要研究相關的改進方法,提升定位能力。
Beacon是一種廣播協議,建立在低功耗藍牙協議的基礎上,可實現低功耗藍牙通信。藍牙通信采用Socket連接,通信雙方中有一方為服務器端,另一方為客戶端。服務器端接收到客戶端的服務請求后,為其產生一個BeaconID,并發送給客戶端??蛻舳藢⒔邮盏降腂eaconID設置在藍牙設備上,當雙方的空間距離滿足通信要求時,開啟設備藍牙,系統即可掃描識別Beacon設備,獲取ID信息,建立連接后完成通信服務[1]。
以Bluetooth Smart為代表藍牙Beacon技術在室內無線定位方面形成了一系列優勢:與對基礎設施有較高要求的UWB(超寬帶)、有源RFID以及Wi-Fi技術相比,藍牙無線通信技術成本優勢突出;BLE5.0最大可支持300 m的搜索距離,足以滿足大部分通信需求;藍牙5.0~5.3最大傳輸速率48 Mbps。
傳統藍牙室內定位技術在實踐中主要問題:接收信號強度指示(RSSI)的穩定性不足、突發的干擾因素容易造成室內定位不準確、通信路徑中的損耗計算與實際情況存在較大差異。
RSSI廣播信號由Beacon基站發出,其穩定性對藍牙室內定位的精確性具有顯著影響,藍牙技術通過電磁波傳輸信息,因而受到室內環境和人員活動的干擾,可借助技術手段修正RSSI信號,提升其穩定性,具體方法如下。
(1)
以上計算原理適用于室內每一個Beacon基站的RSSI信號修正,從而求得對應的修正系數αi。將基站Ai到待定位點的RSSI檢測值記為ri,經過修正后的RSSI值Ri按照式(2)進行計算。
Ri=ri+αiri
(2)
傳統的損耗模型以固定的場景為依據,提前設置各種影響損耗計算的環境參數,但是在實際情況下,環境參數并不一定符合預期,建立根據環境變化自動調整環境參數的算法模型是解決問題的關鍵,算法實現如下。合并損耗計算模型中的常量,統一表示為式(3)。
p(d)=A-10klgd
(3)
式中,將距離基站1 m遠處的RSSI信號的能量均值記為A,路徑損失系數記為k,客戶端與服務端的距離表示為d。根據環境變化訓練相關的參數,得到具有實時性的路徑損失系數,過程如下。由公式(3)求得距離d的表達式。
(4)
(5)
當實際測得d1、d2以及Δd的情況下,即可求出實時路徑損失系數k。
傳統指紋定位算法的實施流程可分為4個步驟,分別是在室內區域部署Beacon基站、構建離線Beacon基站的藍牙指紋數據庫、比較離線指紋庫數據和在線實時定位數據、計算出客戶端位置。針對離線指紋庫難以適應環境變化的缺陷,本研究提出以下改進方法。
2.4.1 構建室內環境參考點矩陣
在室內空間選取k個參考點,將參考點Ai的平面坐標記為(xi,yi)。室內空間部署n個Beacon基站,參考點Ai到每個基站的RSSI值記為Ai1、Ai2、…、Ain。k個參考點與n個基站的RSSI值可形成一個矩陣,記為Hn。
(6)
式中,將參考點k與第j個Beacon基站的RSSI記為Bkj,最后面兩列均為參考點的平面橫縱坐標。
2.4.2 獲取客戶端線上實時定位階段的RSSI矩陣
當客戶端在Beacon基站的信號服務范圍以內時,每個基站均向其發送信號,并產生對應的RSSI值,將基站i發送的RSSI信號表示為向量bi,于是得到矩陣h=[b1b2…bj…bn]。
2.4.3 在線數據和離線數據對比
在離線指紋庫數據和在線數據的比對、匹配中,采用機器學習中的KNN算法,以樣本數據庫為基礎,在不建立模型的情況下開展無監督學習,樣本庫在訓練過程中可進行擴充,不會影響訓練結果,KNN方法的訓練實施過程如下。
(1)設定閾值。
RSSIij×(1-10%)≤βij≤RSSIij(1+10%)
(7)
式中,將Beacon基站j與參考點i的RSSI記為RSSIij。
(2)閾值與在線RSSI信號的比較。
將客戶端在參考點i處獲取的基站j的RSSI信號記為bi,對比bi和βij的取值范圍,如果有bi∈βij,說明bi的在線數據滿足精確度要求,未受到嚴重的環境干擾[3]。相反的,如果有bi?βij,則說明該在線數據出現了較為明顯的畸變,不能滿足精確度要求,此時可將對應的參考點i過濾掉。
(3)計算歐式距離。
在上一步中過濾了不符合閾值要求的參考點,剩余的環境參考點可參與KNN訓練過程。針對實時定位階段獲取的RSSI信號和可用參考點開展歐式距離計算,構成矩陣D。其中,歐式距離按照公式(9)進行計算。
D=[DB1DB2…DBn]
(8)
(9)
(4)算法輸出結果。
矩陣D中含有n個元素,根據每一項數值進行排序,產生一個遞增的新矩陣,記為D1。從該矩陣中取出前k項,對k項元素的橫坐標和縱坐標分別求算術平均,即可得出訓練輸出結果。
2.5.1 RSSI信號修正效果仿真及分析
研究過程中設計開發了手機程序,將手機作為客戶端,用于采集Beacon基站與手機端的RSSI信號。將基站作為坐標原點,以相同的步長逐漸擴大手機與基站之間的距離,最小距離控制為0.1 m,最大距離為10 m,采樣點數量共計100個。分別采用傳統方法和修正方法處理設備采集的RSSI信號,分析修正方法是否提升了RSSI的精確度,結果如表1所示。顯然,修正后的算法檢測的RSSI值更加接近實際情況,能夠更加精確地反映出實際距離。
表1 RSSI信號修正仿真結果
2.5.2 路徑損耗仿真及分析
選取3個基站,將基站作為原點,為其選擇不同的采樣點,在每個采樣點使用不同設備采集20組數據,觀察不同設備在同一位置處的采樣結果所反映的RSSI和實際距離的關系。表2為3個基站的部分采樣數據。從中可知,基站1和基站2的RSSI信號強度在采樣距離變大之后逐漸趨于穩定,而基站3則整體呈下降趨勢。說明路徑損耗計算模型在實際應用中仍不理想,可能與基站的固有特性有關[4]。
表2 RSSI檢測值與實際距離的關系
2.5.3 室內定位效果檢驗及分析
利用研究中設計的改進型藍牙指紋定位算法和傳統的藍牙指紋定位算法分別開展室內定位檢測,獲得100組數據,部分結果如表3所示。從中可知,研究中設計的新算法在精確性上明顯優于傳統的藍牙指紋定位算法。
表3 算法定位數據
研究過程以傳統藍牙室內定位技術為參考,在其基礎上對RSSI進行修正,提出了優化信號傳播路徑損耗的模型,并設計了改進型的藍牙指紋室內定位算法??傮w而言,設計算法的精確度較傳統算法有所提升,修正后RSSI也能更加準確地反映客戶端與基站的距離。