Estimate Bluetooth LE Node Position
Bluetooth® Toolbox features enable you to estimate the 2-D or 3-D position of a Bluetooth low energy (LE) node by using lateration, angulation, or distance-angle localization methods.
Estimate Bluetooth LE Receiver Position in 3-D Network Using Lateration
Set the positions of the Bluetooth LE transmitters (locators).
txPosition = [-5 -15 -30 -12.5;8.6603 -15 -17.3205 -21.6506; ... -17.3205 21.2132 20 43.3013]; % In meters
Specify the distance between each Bluetooth LE transmitter and receiver.
distance = [13.2964 33.4221 40 55.0728]; % In meters
Specify the localization method. Because the distance between each Bluetooth LE transmitter and receiver is known, set the localization method to 'lateration'
.
localizationMethod = "lateration";
Estimate the position of the Bluetooth LE receiver. The actual position of the Bluetooth LE receiver is [-7.5, 4.33, -5].
rxPosition = blePositionEstimate(txPosition,localizationMethod, ...
distance)
rxPosition = 3×1
-7.5001
4.3304
-4.9999
Estimate Bluetooth LE Transmitter Position in 2-D Network Using Angulation
Set the positions of the Bluetooth LE receivers (locators).
rxPosition = [-18 -40;-10 70]; % In meters
Specify the azimuth angle of the signal between each Bluetooth LE receiver and transmitter.
azimuthAngles = [29.0546 -60.2551]; % In degrees
Specify the localization method. Because the angle of the signal between each Bluetooth LE receiver and transmitter is known, set the localization method to 'angulation'
.
localizationMethod = "angulation";
Estimate the position of the Bluetooth LE transmitter. The actual position of the Bluetooth LE transmitter is at the origin: (0, 0).
txPosition = blePositionEstimate(rxPosition,localizationMethod, ... azimuthAngles)
txPosition = 2×1
10-4 ×
0.2374
0.1150
Estimate Bluetooth LE Transmitter Position in 3-D Network Using Distance-Angle
Set the position of the Bluetooth LE receiver (locator).
rxPosition = [-10; 30; 40]; % In meters
Specify the distance between the Bluetooth LE receiver and transmitter.
distance = [23.2964]; % In meters
Specify the azimuth and elevation angles of the signal between the Bluetooth LE receiver and transmitter.
direction = [29.0546; -20.2551]; % In degrees
Specify the localization method. Because the distance and angle of the signal between the Bluetooth LE receiver and transmitter is known, set the localization method to "distance-angle
".
localizationMethod = "distance-angle";
Estimate the position of the Bluetooth LE transmitter. If one receiver (locator) is present in the range of a Bluetooth LE transmitter, the "distance-angle
" localization method estimates the location of the transmitter by using both of these measurements.
Angle of arrival (AoA) or angle of departure (AoD) of a direction finding signal
Received signal strength indicator (RSSI) and path loss
txPosition = blePositionEstimate(rxPosition,localizationMethod,distance,direction)
txPosition = 3×1
9.1054
40.6141
31.9348
References
[1] Bluetooth Technology Website. “Bluetooth Technology Website | The Official Website of Bluetooth Technology.” Accessed November 22, 2021. https://www.bluetooth.com/.
[2] Bluetooth Special Interest Group (SIG). "Bluetooth Core Specification." Version 5.3. https://www.bluetooth.com/.