複数の iBeacon が配置されたとき発見遅延は増加するのか?

ペリフェラル(iBeacon発信機)とセントラル(iBeacon受信機)が 1対1 のときでは、受信確率をポアソン近似で計算ができます。

iBeacon の受信遅延の確率を計算する | Moonmile Solutions Blog

  • 発信間隔 Advertising Interval
  • 受信ウィンドウ Scan Window
  • 受信間隔 Scan Interval

図 受信遅延の確率

仮説

複数の iBeacon が配置されたとき、受信遅延は増加するのではないか? という仮説を立てていました。iBeacon の発信チャンネルは 37, 38, 39 の 3 チャンネルになっているので、3台以上の iBeacon 発信機が配置されたときにチャンネルの競合が発生するのではないか、と考えたのです。

実際のところ

iBeacon の発信時間は非常に短く 0.3 ms 程度です。ある程度の Scan Window(この場合は、100 ms など)を確保しておけば、iBeacon の電文が重なることはまずありません。あったとしても非常に少ないでしょう。

また、iBeacon 受信(セントラル)側では、ひとつの Scan Window の間に複数の iBeacon 電文をキャッチすることができます。同じ Scan Window に複数の iBeacon が入っていたときには、複数の Scan イベントが発生することになります。

結論

というわけで、複数の iBeacon が配置されたときに受信遅延が増加することはない、という結論になりました。iBeacon の発信時間が非常に短いため、チャンネルの競合が発生することはほとんどありません。また、セントラル側では複数の iBeacon 電文をキャッチすることができるため、受信遅延がさらに増加することもありません。

逆に言えば、受信側の duty 比(Scan Window / Scan Interval)と、発信側の Advertising Interval によって、受信遅延が計算できます。

これ、iBeacon のようにコネクションレスの場合は遅延の問題は少ないのですが、GATT 接続が発生するコネクション版の場合には、多対多の接続が発生すると遅延が多くなります。これは別途。

カテゴリー: 開発, FolkBears パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*