在1米的距離內(nèi)測(cè)量(校準(zhǔn))艾信儀的輸出功率。假設(shè)這是-59 dBm(只是一個(gè)例子)。艾比肯將把這個(gè)數(shù)字作為其廣告的一部分。
監(jiān)聽設(shè)備(iPhone等)將測(cè)量設(shè)備的RSSI。例如,假設(shè)這是-72 dBm。
由于這些數(shù)字是以dBm為單位的,所以功率比實(shí)際上是以分貝為單位的差。因此:
ratio_dB = txCalibratedPower - RSSI
為了將它轉(zhuǎn)換成線性比,我們使用了分貝的標(biāo)準(zhǔn)公式:
ratio_linear = 10 ^ (ratio_dB / 10)
如果我們假設(shè)能量守恒,那么信號(hào)強(qiáng)度必須下降為1/r^2。所以:
power = power_at_1_meter / r^2
..求解r,我們得到:
r = sqrt(ratio_linear)
在Javascript中,代碼如下所示:
function getRange(txCalibratedPower, rssi) {
var ratio_db = txCalibratedPower - rssi;
var ratio_linear = Math.pow(10, ratio_db / 10);
var r = Math.sqrt(ratio_linear);
return r;}
請(qǐng)注意,如果你在一座鋼結(jié)構(gòu)內(nèi),可能會(huì)有內(nèi)部反射,使信號(hào)衰減比1/r^2慢。如果信號(hào)通過人體(水),那么信號(hào)就會(huì)衰減。很可能天線在各個(gè)方向上都沒有相同的增益。房間里的金屬物體可能會(huì)產(chǎn)生奇怪的干擾圖案。等等.。YMMV。