一、距離 d 和 RSSI 的計算公式
d=10^((ABS(RSSI)-A)/(10*n))???????????????????????????? ————-?????????????????? (1)
其中 d 為距離,單位是 m。
RSSI 為手機接收到藍牙信標的信號強度,為負數(shù)。
A 為手機距離藍牙信標 1m 時接收到的 RSSI 的值的絕對值。
n 為環(huán)境衰減因子,需要測試矯正。下圖是根據(jù) A=63, n=1.56 制作的圖形:
如何確定 A 和 n 的值?
使用華為手機在空曠的環(huán)境中,分別采集 5 個藍牙信標距離手機 1m,2m,……10m 時手機接收到的 RSSI 值,每次取 100 個數(shù)據(jù)求平均值。以 1m 處 RSSI 的信號強度的絕對值作為 A,以 6m 處 RSSI 的信號強度代入公式(1)求得 n 值。
下圖數(shù)據(jù)引用了昆侖智聯(lián)的藍牙信標 KTBB802,發(fā)射功率-8dBm 的情況下的測試值。根據(jù)計算得到的 A 和 n 值,計算了不同信號強度對應(yīng)的距離(計算值)與實際距離的誤差, 在 8m 以內(nèi)距離,測量值和實際值的誤差小于 1.15m。
二、對于不同手機接收靈敏度的差異如何進行調(diào)整?
影響手機接收藍牙信標的信號強度有兩種誤差,一種誤差是系統(tǒng)誤差,如由于手機接收
靈敏度的強弱引起的 RSSI 的增加或者減少,另外一種是隨機誤差,如遮擋等原因引起的測量誤差。
手機在一個環(huán)境里面會收到很多信標的信號,并且信號強的少(距離近的少),信號弱的多(距離遠的多),所以取平均值應(yīng)該不合理,我們可以考慮取中間值。
我們可以在一個場所用華為手機(預(yù)先獲?。┖蛯Ш绞謾C(導航時獲?。┇@取信號值并排序: 如果華為手機獲取的信號如下:????????????????????????????????????????? -60,-61,-62,-63,-64,……?????? -70, -71, ……
(可以取整數(shù),也可以按照 0.5 的精度)
實際導航手機獲取的信號如下:?????? -57,-58,-59,-60,-61,……?????? -67, -68, ……
(可以取整數(shù),也可以按照 0.5 的精度)
手機離地面高度為 1.1 米,藍牙信標高度為 2.8 米,藍牙信標 8 米布置一個,則理論上
手機離藍牙信標最短距離為 1.7 米,最長距離為 5.9 米,對應(yīng)華為手機的信號強度分別為- 68,-75。考慮部分手機接收靈敏度比華為手機弱,所以我們可以重點分析信號強度大于-85 的信號。
如果按照 1dBm 的精度排序,可以各取前面 10 個信號值求平均,差值就是要調(diào)整的 A 值。隨著手機接收信號數(shù)據(jù)的增多,重復(fù)以上計算,會將 A 值調(diào)整到一個合理的范圍。總體來說就是手機 A 和手機 B 接收到的信號強度的前面最強的 10 個值比較,差值就是要調(diào)整的部分。