Main Content

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/.

See Also

Functions

Objects

Related Topics