2016-08-10 77 views
1

我正在測試使用iBeacon和Altbeacon的定位系統。我發現我的三角測量結果實際上相當準確,但有時需要5秒才能看到正確的結果。Android設備運行時的iBeacon精度

例如,我說我目前在A點。 Altbeacon +我的三角測量讓我的位置非常接近Point A。但是,當我移動5米遠到B點,我仍然在點左右約6秒,突然間我突然跳到點B點。這是Altbeacon的問題,還是我的iBeacons和我的Android平板電腦之間的通信?

注意:我正在使用Kindle Fire 10,在Android上運行FireOS 5.1.1。藍牙iBeacon技術是BLE,並以1Hz左右進行廣播。

+0

它將永遠不會工作,因爲藍牙的本質我已與它一起工作,並作出你想要達成的大學項目 –

+0

如果您需要更詳細的答案讓我知道 –

+0

更詳細的答案將是偉大的,謝謝。 –

回答

2

您所描述的時滯問題可能是由信號測量的平均間隔引起的。您不會說您正在使用什麼掃描框架,或者您是否使用原始RSSI或距離估計作爲算法的輸入。默認情況下,Android Beacon Library使用20秒平均間隔(可配置)來計算距離。其他框架使用類似的平均值。

減少平均間隔將減少滯後,但增加噪聲作爲算法的輸入。

編輯:爲了減少距離估計採樣間隔爲3秒從默認的20秒,撥打:

RunningAverageRssiFilter.setSampleExpirationMilliseconds(3000l); 
+0

我使用'android-beacon-library'的距離估計作爲算法的輸入,而我的算法實際上做了平均,因此使用它可能是一個更好的主意原始RSSI?或者如果我不想改變算法輸入,我怎樣才能將平均間隔降低到小得多的時間(比如說3秒)? –

+0

我使用所有的BeaconManager默認配置(除了指定我的iBeacon佈局),並通過beacon.getDistance()獲取每個Beacon'距離。 –

+0

@davidgyoung一邊評論:很高興知道你是altbeacon開發人員之一,我的榮幸,我已經在我的所有項目上工作過,正如你在我的回答中看到的那樣,它也使用altbeacon作爲視覺受損項目的一個鏈接。 –

2

我以前試過你想幹什麼。有很多問題使得無法獲得正確的三角測量結果。 理論上它應該工作,但

  1. 實際上,你將有很多的挑戰,喜歡這樣的事實藍牙標使用的2.4GHz主頻,幾乎所有的藍牙信標有非定向天線,這意味着你可能風險不測量信號源,而是測量由信標包圍的信號的反射。
  2. 另一個事實是來自其他來源或您的環境中的藍牙信標的噪音。
  3. 根據Android手機型號的不同,藍牙的接收天線不一定會在手機中安裝相同的位置,這意味着您如何拿着手機將會改變RSSI讀數
  4. 手持手機或接近人體可能會也給不同的讀數或根本不讀數,因爲人體含有的水是藍牙信號的信號衰減器/殺手。

所以即使這樣你通過軟件提高藍牙信標的等待時間,你仍然會遇到這些挑戰,使得獲得正確的結果幾乎是不可能的。

我見過一個新的定向藍牙信標我還沒有測試它,但它聽起來像解決了一些上述問題。

@davidgyoung寫的是正確的,但這不會改變現實世界的情況。

順便說一句,我曾與Altbeacon一個非常好的和受人尊敬的工具,我用RSSI和距離估計與不同類型的藍牙信號燈和不同的手機,並沒有多大幫助,這不是Altbeacon的問題。

關於我在評論中提到的大學project,我們以不同的方式使用藍牙信標來幫助我們爲視障人士尋找目標方向,並且我們已經編寫了關於它的科學論文。

最後爲了啓發你正在做的和我在回答中提到的內容,請參閱此video它顯示了三角測量實驗,此視頻的提供者也是btw用戶在Stackoverflow。

注:我在這裏的答案是側重於三角測量的背景下,這裏的挑戰使它不是一個甜蜜的解決方案。

+1

BLE信號測量中不一致點的來源。 – davidgyoung

+0

@davidgyoung thx您的投入你去我的投票 –

+0

感謝您的洞察力。我相信第三點可能與最大的問題之一相關,並且考慮到測試區域中信標的密度,第二點也是如此。 –