藉RSSI值精確計算距離  BLE測距演算法簡化IoT定位

2017 年 08 月 21 日

談及室內定位,則必須討論到距離偵測。在室內應用情境下,由於採用多個BLE信標(Beacon)進行定位,因此對單一Beacon測距精準度要求並不高;若要提升測距精準度進行提昇,可採用Kalman Filter相關技術,計算上就相對複雜許多。有鑑於此,本文將探討均化(RSSI Ensemble Mean Smoothing)演算法與分段接收信號強度指示(RSSI)轉換距離演算法等方式,期望藉此降低定位的計算複雜度,並提昇測距精準度。

本文採用自製BLE開發平台BLEIoT實現藍牙測距演算法。此平台是以「MDBT40 nano(BT4.1 Module)藍牙系統模組」方案作設計參考,核心為內含支援BLE之嵌入式2.4GHz收發器的nRF51822系統單晶片(SoC),其主要組成單元包括一個位於AHB匯流排之ARM Cortex-M0 32位元處理器、16Kb隨機存取記憶體(RAM)與256Kb非揮發性記憶體(NVM);此系統運行於2,402MHz~2,480MHz頻譜,分為40個頻道,並透過GAP(Generic Access Profile)、GATT(Generic Attributes)設定每隔50ms發送一次封包,達成Beacon功能。

雙層分析RSSI值 構成新測距演算法

本文提出一藍牙測距演算法,我們稱之為「BLE Ranging Algorithm」,先透過主控端(如智慧型手機)接收到BLE裝置訊號強弱數值(RSSI),再經均化演算法及分段RSSI轉換距離演算法等方式完成測距,流程如圖1。

圖1 藍牙測距演算法-BLE Ranging Algorithm

均化演算法應用差異

此小節分別實測兩種應用情境,說明均化演算法之成效。

.距離不變下之RSSI實驗數據

參考圖2,實驗設計是將手機與BLEIoT裝置靜置後每秒讀取的RSSI值做比較,總計100秒,其中灰線(Non-Smoothing)是直接透過手機獲得BLEIoT之RSSI數值,黑線為經均化演算法處理之BLEIoT RSSI數值;透過此圖可清楚發現,經均化演算法處理的RSSI變化幅度大幅縮小,因此能改善計算距離時的誤差。

圖2 距離不變下Ensemble mean smoothing RSSI折線圖

.變動距離下之RSSI實驗數據

圖3紀錄不同測試距離之下手機測得BLEIoT裝置的RSSI數值,距離從1公尺至12公尺;灰線是透過手機獲得之RSSI數值(Non-Smoothing)、黑線是經過我們均化演算法處理過之RSSI數值,此處RSSI理論值為利用測距公式(5)由距離值轉換而來,而測距公式將在下一節詳細說明。

圖3 變動距離下ensemble mean smoothing RSSI折線圖

對於精準度,本文採兩種常見的評估誤差方法–方均根差(RMSE)與平均絕對值百分誤差(MAPE),如下式:

 

……(1) 

 

 

 

……(2)

 

 

其中Ai為第i筆實際值,Fi為第i筆RSSI計算值,n為實驗資料總筆數。這兩種評估方法可以用來衡量實際值與計算值之間的誤差,當RMSE/MAPE越小時,表示RSSI計算值與實際值越接近。

表1整理均化演算法與單由手機獲得之RSSI數值的RMSE、MAPE資料,從圖3中可發現,相較RSSI均化(黑線)與理論值(虛線)的誤差,由手機獲得之RSSI數值(灰線)與理論值(虛線)的誤差會來得小。

造成訊號不穩定之因素相當多,其中環境為影響無線傳輸的主要因素,當環境中有金屬或其他遮蔽物會直接影響其訊號強弱,而在環境中若有與此訊號同頻段之其他訊號亦會影響此訊號之強弱。

分段RSSI轉換距離實驗

RSSI轉換距離參考公式為:

……(3)
 

其中,A為距離1公尺時的RSSI數值,n為環境變數,通常介於0~4之間。然而,此公式若應用於我們常用之Android裝置上,似乎無法得到較佳的結果;因此,在參考Android Beacon與相關論文後,將採用一個分段RSSI轉換距離演算法,以實現本文藍牙測距的實驗。其公式為:

RSSI/A <= 1,則

……(4)

否則

……(5)

此方法能有效的運用於Android裝置測距,且因不需考慮環境變數,更適合運用於各種不同空間的測距。

圖4為藍牙測距的實驗數據資料,對應關係為位於不同距離下,手機透過均化演算法、分段RSSI轉換距離演算法所得之測距實驗數據。圖4中,虛線為實際距離值,灰線為手機獲得之RSSI數值(Non-Smoothing)計算出的距離值,黑線為經過整個「BLE Ranging Algorithm」流程得出之距離值。實驗數據顯示,透過我們所提出之均化演算法,搭配上述所提之距離公式計算後,可以得到更近似於實際距離之值。表2則整理出藍牙測距實驗數據對應實際距離之RMSE、MAPE資料。

圖4 RSSI對應距離折線圖

減少誤差、不穩定性 新演算法強化精準度

本文展現如何善用手機讀取單一BLE IoT裝置之訊號強弱數值,進而計算出兩者間距;不僅使用均化演算法,並加以改良,將原本1秒讀取1次訊號強度而導致計算誤差較大,改為1讀取10次訊號強度,再取其平均數做為一次訊號強度值,使訊號的突波有效地被抑制下來。同時,此方式考量訊號變化的連續性,更進一步將藍牙訊號強度數值的不穩定性降低,再配合分段RSSI轉換距離演算法完成距離預測。

以MAPE來評估預測效果時,當MAPE <10%,預測效果為佳;當MAPE介於10%~20%時,則預測效果為尚可;本文實驗計算距離預測結果約是10-11%的MAPE,故本文所提出的藍牙測距演算法能有效提升測距精準度。

(作者均任職於工研院資訊與通訊研究所)

 

》想看更多內容?快來【免費加入會員】【登入會員】,享受更多閱讀文章的權限喔!
標籤
相關文章

提升WiMAX服務效能 網路路測工具立大功

2010 年 06 月 07 日

多元方案各展所長 太陽能電池I-V量測迎刃解

2011 年 08 月 25 日

GSM數據機/高精度GNSS模組助力 eCall系統保障駕駛行車安全

2014 年 01 月 10 日

為低光成像應用打開新大門  IT-EMCCD影像捕獲鉅細靡遺

2017 年 09 月 25 日

邊緣資料收集/訓練/推論各取所需 工業AIoT應用即刻上手

2020 年 11 月 12 日

AI測試確保智慧家電品質 避開IoT連線風險

2024 年 07 月 12 日
前一篇
專訪RTI亞太區業務總監Howard Wang DDS協定加速打造無人自駕系統
下一篇
國台/中英夾雜難不倒 工研院語音助理強調本地化