System.Bluetooth.TBluetoothLEManager.RssiToDistance
Delphi
function RssiToDistance(ARssi, ATxPower: Integer; ASignalPropagationConst: Single): Double;
C++
double __fastcall RssiToDistance(int ARssi, int ATxPower, float ASignalPropagationConst);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | System.Bluetooth.pas System.Bluetooth.hpp |
System.Bluetooth | TBluetoothLEManager |
Description
Implémentation de l'algorithme qui transforme l'indication RSSI en distance.
Accepte en tant que paramètres ARssi
(indication de force du signal reçu en dBm), ATxPower
(force du signal à 1m de distance en dBm) et une constante ASignalPropagationConst
. Renvoie une approximation de la distance à un périphérique en mètres.
Les paramètres nécessaires à l'appel de cette fonction sont stockés dans la propriété AdvertisedData du périphérique.
La formule de la distance est issue du document de la bibliothèque IEEE Xplore : RSSI-Based Real-Time User Location Tracking System for Indoor and Outdoor Environments (DOI: 10.1109/ICCIT.2007.253 Pages: 1213 - 1218) (EN).
La formule pour RSSI est RSSI = -(10*n*log10(d) + A)
.