System.Bluetooth.TBluetoothLEManager.RssiToDistance
Delphi
function RssiToDistance(ARssi, ATxPower: Integer; ASignalPropagationConst: Single): Double;
C++
double __fastcall RssiToDistance(int ARssi, int ATxPower, float ASignalPropagationConst);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Bluetooth.pas System.Bluetooth.hpp |
System.Bluetooth | TBluetoothLEManager |
説明
RSSI を距離に変換するアルゴリズムの実装です。
パラメータとして、ARssi
(受信信号強度、dBm 単位)、ATxPower
(1 m の距離での信号強度、dBm 単位)、定数 ASignalPropagationConst
を受け取ります。デバイスまでの距離の近似値(メートル単位)を返します。
この関数の呼び出しに必要なパラメータは、デバイスの AdvertisedData プロパティに格納されます。
距離の計算式の出典は、IEEE Xplore デジタル ライブラリ所収の論文『RSSI-Based Real-Time User Location Tracking System for Indoor and Outdoor Environments(屋内および屋外環境を対象とした RSSI ベースのリアルタイム ユーザー位置追跡システム)』(DOI: 10.1109/ICCIT.2007.253、1213 ~ 1218 ページ)です。
RSSI の計算式は RSSI = -(10*n*log10(d) + A)
です。