SE_BOKUのITな日常

SE_BOKUが知ってること・勉強したこと・考えたことetc

ビーコン(Beacon)。受信強度(RSSI)は固定でもふらふら変わる!?

目次

ビーコン(Beacon)。受信強度(RSSI)は固定でもふらふら変わる!?

ビーコン(Bluetoothの信号を使った発信や収集技術や端末のこと)の発信機と受信機を借りてためしに使ってみた話を前に書きました。

arakan-pgm-ai.hatenablog.com

その時に書ききれなかったことを追加で書きます。

 

ビーコンの受信強度で距離を推測できるはず

前回の記事の中でビーコンの「距離(distance)と発信強度(TxPower)から、受信強度(RSSI)を計算する式」について書きました。

それができるということは、当然「発信強度と受信強度(RSSI)から距離を推定できる」理屈になります。

実際、前回1メートルほどの距離でピンポイントで受信強度(RSSI)を計測してみた結果は確かに計算で求めた値とほぼほぼ一致してました。

確かにいけそうに思えます。

なんですけど・・。

1回や2回うまくいったからといって、それでOKというわけにもいかないので、今度は違うアプローチで確かめてみることにしました。

 

3メートルほどの距離で固定でおいてみる

人が通りかかったりして邪魔のはいらないパーティションの上に3メートルの距離をあけて、受信機と発信機を固定で設置して、15秒ごとに受信強度(RSSI)がどう変化するか見てみることにしました。

普通に考えれば。

邪魔のはいりにくい室内に距離固定でおいているのですから、おおよそ3メートルの距離に対応した受信強度(RSSI)が連続して記録されるはずです。

確認のため、距離に応じた受信強度(RSSI)の例を計算しておきます。

距離 受信強度
1メートル -63dbm
2メートル -69dbm
3メートル -73dbm
5メートル -78dbm
10メートル -84dbm
15メートル -88dbm
20メートル -90dbm
25メートル -92dbm
30メートル -94dbm
40メートル -97dbm
50メートル -99dbm
60メートル -100dbm
70メートル -102dbm
80メートル -103dbm
90メートル -104dbm
100メートル -105dbm

上記表は、RSSI = TxPower - 10 * n * lg(distance)の計算式に対して、距離(distance)以外の値は「発信強度(TxPower)=0」・「n=2.1」で計算しました。

上記式の「lg」 は常用対数を示していて、nは係数で

  • n = 2.0 : 障害物のない理想空間
  • n < 2.0 : 電波が反射しながら伝搬する空間
  • n > 2.0 : 障害物に吸収され減衰しながら伝搬する空間

を意味するので「2.1」というのは理想空間から少しだけ現実的なほうによせた・・程度なのですが、実際にテストした部屋で比較したところ、この係数で計算した値が一番あっているように思えたので、そうしました。

 

あれれ・・固定のはずなのにフラフラしてるぞ

それで1日放置して計測してみました。

その結果は全く予想外でした。

最も多く計測された受信強度(RSSI)は「-73」で、上の表だと約3メートルです。

だから、最頻値をとればほぼほぼ距離を計測できるんだな・・とわかります。

でも。

15秒ごとのピンポイントで見ると、本当にフラフラ値が動いています。

30分間くらいの間隔で切り取ってみたグラフがこんな感じです。

黒の横線が最頻値の「-73」の線です。

この30分間で一番大きい値が「-62」、一番小さいのが「ー87」です。

これを距離に換算すると「約1メートル」と「約15メートル」となります。

なのでピンポイントで拾った受信強度(RSSI)で距離を計算してしまうと、とんでもなく間違うリスクがあるというわけです。

 

まとめ

今回は固定で置きっぱなしにしていても、ビーコンの受信強度(RSSI)はふらふらと変化することがわかりました。

ビーコンはWi-Fiと同じ2.4GHzでWi-Fiと重ならないチャンネル(オレンジの部分)を使ってはいますが、電子レンジだったり、他にも同じ周波数帯を使うものは多いのでなんらかの影響を受けているのかもしれません。

今回は固定で最大「12メートル」程度の誤差がありつつも、最頻値をとると、わりと正確に測定できることがわかったという結果ではありますが、ビーコンを持つ人が動き回ったりすると、どの範囲で最頻値をとればいいのかとか色々難しそうに思えます。

こういうことが知れただけでも良かったです。

ではでは。