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 metersSpecify the azimuth angle of the signal between each Bluetooth LE receiver and transmitter.
azimuthAngles = [29.0546 -60.2551];     % In degreesSpecify 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 metersSpecify the distance between the Bluetooth LE receiver and transmitter.
distance = [23.2964];                % In metersSpecify the azimuth and elevation angles of the signal between the Bluetooth LE receiver and transmitter.
direction = [29.0546; -20.2551];     % In degreesSpecify 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/.