簡體   English   中英

藍牙RSSI值波動

[英]Bluetooth RSSI value fluctuation

我正在嘗試使用 RSSI 值在家中創建定位系統。

我使用 neXenio 庫作為基礎,我所做的唯一更改是實現對數據庫的日志記錄: https://github.com/neXenio/BLE-Indoor-Positioning

我正在使用 4 個 Minew I7 作為信標,它們目前設置為僅以 300 毫秒的速度播放 iBeacon 類型的廣告。 它們位於方形房間內,呈十字型布局,每個信標相距約 2.2m。 除了正常的客廳家具外,沒有明顯的障礙物。 對於每次測試運行,我都會將手機放在房間中央,一次收集大約 10-15 分鍾的數據。 數據被發送到數據庫供我查看。

我遇到的問題是信號強度一直在大幅波動,以至於數據基本上無法使用。 來自典型測試運行的圖表

手機完全靜止時應該有那么大的區別嗎? 我希望信號傳播的性質會有一些細微的差別,但不會太大。

這是可以預料的還是可以以某種方式改進這些? 如果這是預期的,那么我將不得不考慮結合一些其他傳感器數據來幫助提高准確性。

謝謝

編輯:

運行更多測試后,我比較了一段時間內的值(我之前只比較了 rssi、距離和 mac 地址)。 這導致找到一個持續的振盪模式最新的測試運行

這也讓我想到了這個 overstack 問題: Is there there an explanation for the regular oscillation experienced in Bluetooth RSSI

如果我只宣傳 iBeacon 類型的廣告,那么這不適用嗎? 但它如何匹配我的問題似乎很奇怪。

RSSI 值波動很大,對此您無能為力。 這就是為什么藍牙 5.1 中創建的新功能使用信號強度以外的其他技術進行定位的原因。 不幸的是,采用速度很慢。

您無法使用當前使用的設備做很多事情。 即使你靜態地穩定信號,在運動過程中也會有很多噪音。 您可以嘗試:

  • 將信號加厚到 100 毫秒。 不幸的是,這會影響電池消耗,

  • BLE 在 3 個通道(37、38、39)上傳輸數據包。 天線 probalby 沒有調諧到所有 3 個相同。 如果您可以選擇更改廣告渠道,請嘗試在不同的設置上進行測試。

  • 如果您可以選擇焊接或連接外部天線,定向天線可能有助於室內定位系統。

穩定rssi信號的方法有很多。 如果您對此主題感興趣,我建議您查看以下文章:

https://scholar.google.com/scholar?hl=pl&as_sdt=0%2C5&q=stabilization+rssi+method&btnG=

在我看來,這種方法對你最有用:

https://www.wouterbulten.nl/blog/tech/kalman-filters-explained-removing-noise-from-rssi-signals/ https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5461075/

AoA 和 AoD 方法也可能讓您感興趣:

https://www.bluetooth.com/blog/new-aoa-aod-bluetooth-capabilities/

我希望這會有用

它的實踐方法,我嘗試並實施了。我得到了正確的結果,所以這就是編寫解決方案的原因。 如果可能,請嘗試相同的方法。 我在一台 BLE 路由器和一個 Beacon 標簽上實現了它。 我需要計算最多 3 米意味着 3*3.2 英尺。 我在不使用卡爾曼濾波器的情況下將波動最小化。

對於上述實現,我們需要通過以下步驟 go,

第 1 步。將 Beacon 標簽保持在 1M 的距離,並讀取 10 [Max] 個 rssi 讀數並將其存儲在一個 excel 中。

第 2 步。將 Beacon 標簽保持在 2M 的距離,並讀取 10 [最大] 個 rssi 讀數並將其存儲在秒 excel 中。

第 3 步. 將 Beacon 標簽保持在 3M 的距離,並讀取 10 [Max] 的 rssi 讀數並將其存儲在第三個 excel 中。

現在你有 3 個 excel。取一個 excel 並觀察 rssi 值,計算相同值的中值。 同樣的事情需要為其他兩個 excel 計算。

我的 Becon 標簽頻率是 4 dbm。 我從 excel 上面得到了 RSSI 的讀數,如下所示:

來自一個 excel:-58
來自兩個 excel:-64 來自第三個 excel:-70

正如你所看到的,當我改變儀表時有 6 的差異

現在我使用上面的結果編寫邏輯,比如如果值在 -58 到 -64 之間波動,那么它表示為 1 m。 2m 和 3m 也一樣。 但這不是進行計算的正確方法。

所以我用日志來

計算類似於 -58 到 -64 之間的值

結果 = 日志 (rssi*-1,58)。 即 58 作為基礎。

實際距離=結果*1(米)*3.2(英尺)

2 米相同,但 2 米的原木基數為 64

結果 = 日志 (rssi*-1,64)。 即 64 作為基礎。

實際距離=結果*2(米)*3.2(英尺)

3 米相同,但 3 米的原木基數為 70

結果 = 日志 (rssi*-1,70)。 即以 70 為基數。

實際距離=結果*3(米)*3.2(英尺)

這可以通過編程來完成。 我通過 rssi 信號的穩定性得到了正確的結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM