Main Content

Bluetooth Location and Direction Finding

Bluetooth® technology [1] uses low-power radio frequency to enable short-range communication at a low cost. The Bluetooth Core Specification [2] provided by the Bluetooth Special Interest Group (SIG) added a location and direction finding feature in the Bluetooth low energy (BLE). The communication in BLE is realized using these two distinct physical layers (PHYs).

  • LE Uncoded: This PHY is further segregated into LE 1M PHY and LE 2M PHY. LE 1M is the default PHY and provides a symbol rate of 1 Msym/s. Support for LE 1M is mandatory in all devices that support BLE. LE 2M provides a symbol rate of 2 Msym/s. The support for LE 2M is optional for the devices supporting the BLE controller.

  • LE Coded: This PHY is equipped for longer range communication. It has the potential to quadruple the range that can be achieved whilst reducing the data rate. Support for LE Coded PHY is optional for devices supporting the BLE controller.

Bluetooth direction finding can use either LE 1M or LE 2M PHY, but not the LE Coded PHY.

Location and Direction Finding Services in Bluetooth

For several years, Bluetooth has been used to provide different types of location and direction finding services. On a high-level, these services can be split into two categories.

  • Proximity solutions: This category consists of point of interest (PoI) information applications (for example, museums that provide the user information about the artefacts in the room). This category also includes item-finding solutions such as Bluetooth tags that help to find lost or misplaced items. In these solutions, the Bluetooth tags periodically transmit BLE broadcast frames. The access point (AP) scans these frames to obtain the Bluetooth tag information and sends it to the location server through the access controller (AC). In PoI proximity applications, determining what point or PoIs are in close proximity of the calculated location is necessary.

  • Positioning systems: This category includes location-based services to leverage Bluetooth to find the physical position of the device. The prominent use case examples in this category are real-time locating systems used for asset tracking, people tracking, and indoor positioning systems used to enable pathfinding solutions that help people navigate through intricate indoor scenarios. Indoor positioning use cases need applications that estimate the accurate location of the beacons they encounter so that the location of the tracked device corresponding to the known location of the beacon can be calculated. In some cases, the position of a beacon might need to be determined in three dimensions, considering its x- and y-coordinates in horizontal plane and its elevation above or below some reference altitude. The application can determine the position of its host device only if it knows the direction from which the received signal is coming, the approximate distance to that beacon, and the location of the beacon.

    In applications involving smartphones, when calculating the direction of the signal, the application must consider the orientation in three dimensional space of the phone.

Beyond the previously mentioned location-finding services, the applications themselves must undertake these common considerations.

  • Determining antenna array details: To accurately receive and process IQ sample data, applications must have details of the antenna array in the local device (for angle of arrival (AoA)) or remote device (angle of departure (AoD)). Application profiles describe how applications can obtain the antenna array description from remote devices. Expect the APIs to emerge for retrieving details of antenna arrays in local and remote devices.

  • Configuring constant tone extension (CTE) parameters: Parameters such as the length of the CTE, the length of antenna switching pattern, and the number of packets that include the CTE to transmit per periodic advertising event govern the CTE production. These parameters can be set through new host controller interface (HCI) commands.

  • Configuring and enabling IQ sampling: The Bluetooth Core Specification [2] defines a series of parameters to configure and initiate IQ sampling. These parameters include sample slot duration (either 1 μs or 2 μs), the length of the switching pattern, and the IDs of the antennas to be included in the sampling pattern.

  • Developing algorithms and calculating angles from IQ sample data: The Bluetooth SIG does not designate any one particular algorithm as the standard direction-finding algorithm. The choice of algorithm is left to the application layer to address. Generally, this is the area in which manufacturers and developers compete.

Location Estimation Techniques in Bluetooth

Bluetooth beacon technology is an application of the BLE standard. A beacon broadcasts a distinct ID. An application on a BLE device receiving that ID looks into a database to recognize the transmitting beacon and then provides the user with information related to the location of that beacon. This figure shows the techniques used to estimate the distance between the BLE device and the beacon.

Location estimation techniques in Bluetooth – Trilateration and Triangulation

  • Trilateration-based location estimation: Trilateration is one of the most commonly used technique to estimate the device location. In this technique, the locations of at least two reference Bluetooth beacons and the distance between them must be known. However, to accurately determine the relative location of a node, three beacons are needed. The trilateration technique uses the received signal strength indicator (RSSI) value to compute the distance between the Bluetooth beacons and the BLE device. The RSSI value helps to determine the proximity of two BLE devices by providing meter-level accuracy. The RSSI value indicates the strength of the beacon's signal as seen from the receiving BLE device. As the RSSI value increases, the beacon signal strengthens. This relationship helps indicate when the BLE device is in close proximity of the beacon. Because the direction of the beacon signal cannot be determined by trilateration, the location of BLE device can be at any point on the circumference of the circle. However, the ideal location of the BLE device is at the common intersection point of the three circles. Due to lack of information related to the direction of the beacon signal, the three circles might not always have a common intersection point.

    In trilateration, the advantage of using the RSSI value is that it does not need any additional hardware or incur any additional communication overhead. On the contrary, the accuracy of the RSSI-based approach is impeded by the accuracy of the path-loss model you select. Also, this approach is not accurate enough for several use cases. Even if the reference RSSI value is efficiently calibrated when first installing the Bluetooth beacon, the calculated RSSI value is influenced by the environmental conditions such as the presence of people and humidity levels. The RSSI-based approach gives poor accuracy, particularly in indoor scenarios that are filled with obstacles such as walls and furniture. These obstacles are the source of multipath fading and make the relation between distance and RSSI inaccurate.

  • Triangulation-based location estimation: Triangulation is a technique of calculating the position of a point that relies on a known distance between two or three reference points and the angles measured using the Bluetooth direction finding feature between those reference points to that point. These angles can be AoA or AoD. For more information, see Angle of Arrival (AoA) and Angle of Departure (AoD). Unlike trilateration, which implements only the distance measurements, the triangulation technique uses angle measurements. With this technique, you can calculate the location of any point in 2-D given the three angles between the point and other three reference points. However, in 2-D space, a minimum of two angles is required to estimate the location of any point. With reference to the preceding figure, d12, d23, and d13 denote the distances between the Bluetooth beacons 1–2, 2–3, and 1–3 respectively. Angles x, y, and z are the known angle measurements between the BLE device and Bluetooth beacons 1, 2, and 3, respectively. Using these known measurements, the triangulation technique enables you to compute angles α, β, and θ. Consequently, the location of the BLE device is obtained. Triangulation is a complex technique that requires information about the location and spatial rotation of the Bluetooth beacons. However, due to AoA and AoD capabilities, triangulation gives a more accurate location of the BLE device as compared to the trilateration technique.

To accurately determine the BLE device location, more advanced solutions must implement multiple Bluetooth beacons and complex algorithms based on trilateration and triangulation techniques.

Bluetooth Direction-Finding Capabilities

The Bluetooth Core Specification [2] introduced new features that support high-accuracy direction finding. The controller specification is enhanced so that the specialized hardware that incorporates an antenna array can be used to determine the direction of a received BLE signal. The HCI is modified so that data acquired by the controller can be made available to higher layers of the stack where direction calculations can take place. Bluetooth direction finding offers two distinct methods, each of which exploits the same underlying basis. These direction finding methods are – AoA and AoD.


Bluetooth direction-finding capabilities, AoA and AoD, are introduced in the Bluetooth Core Specification 5.1 [2].

Angle of Arrival (AoA)

A BLE device can send its direction-related information to another peer BLE device by transmitting direction-finding enabled packets using a single antenna. The peer BLE device consisting of an RF switch and an antenna array switches antennas and captures the received in-phase (I) and quadrature (Q) samples. The BLE device uses these I and Q samples to compute the phase difference in the radio signal received by various elements of the antenna array. Consequently, the calculated phase difference is used to estimate the AoA. This figure illustrates the concept of the AoA method.

AoA method in direction finding

The transmitter device uses a single antenna, whereas the receiver device uses an antenna array handled by the RF switch. At the receiver, d denotes the distance between two antennas. The phase difference, ψ, between the signals arriving at the two antennas is calculated as:


λ is the signal wavelength and θ is the AoA. To avoid the aliasing effect, the maximum value of d must be λ/2. Rearranging the above equation, the AoA is calculated as:


Angle of Departure (AoD)

Unlike in AoA, the AoD method consists of a single antenna at the receiver and multiple antennas at the transmitter. A BLE transmitter consisting of an RF switch and antenna array can make its AoD detectable by sending direction-finding packets and then switching antennas in the antenna array during the transmission. The BLE receiver receives the packets using a single antenna and captures the I and Q samples. The direction of the signal is determined from different propagation delays of the BLE signal between multiple antennas of the antenna array and the single receiving antenna. This figure illustrates the concept of the AoD method.

AoD method in direction finding

The receiver device uses a single antenna, whereas the transmitter device has an antenna array handled by the RF switch. At the transmitter, d denotes the distance between two antennas. The phase difference, ψ, between the signals arriving at the two antennas is calculated as:


λ is the signal wavelength and β is the AoD. By rearranging the above equation, AoD is calculated as:


Antenna Arrays

The fundamental use of antenna arrays is to direct a radiated signal toward a desired angular sector. The number, geometrical design, relative amplitudes, and relative phases of the elements of the antenna array depend on the desired angular pattern. Once the antenna array is designed to focus in a specific direction, the array can also be steered in another direction by changing the relative phases of the array elements. This figure shows some commonly used antenna array designs.

Commonly used antenna array designs

In the uniform linear array (ULA) case, antenna elements are located in a single line. In the uniform rectangular array (URA) case, antenna elements are positioned along a rectangular grid. The uniform circular array (UCA) enables antenna elements to be placed along the circumference of the circle. The geometrical designs of ULAs are simple and enable only a single angle to be calculated from a signal. More complex antenna array designs can enable two or three angles to be determined. Calculating the elevation and azimuth angles of the signal relative to a reference plane is common in these antenna arrays. This figure shows the concept of elevation and azimuth angles.

Azimuth and Elevation angles

d is the relative distance vector between points A and B. dx, dy, and dz denote the components of d along x-, y-, and z-axis, respectively. Using this information, the azimuth angle (α) and elevation angle (ϵ) between points A and B is calculated as:



Bluetooth Direction-Finding Signals

Bluetooth direction-finding signals are an important part of the Bluetooth direction-finding technique. Direction-finding signals provide a source of constant signal material to which the IQ sampling can be applied. New link layer (LL) protocol data units (PDUs) are identified for direction finding between two connected BLE devices. Moreover, the Bluetooth Core Specification [2] enables you to use existing advertising PDUs for connectionless direction-finding purposes. In these cases, additional information known as CTE is appended to the PDUs. To calculate AoA and AoD, the Bluetooth direction-finding signals use these BLE packet structure fields.

Constant Tone Extension (CTE)

This figure shows the packet structure for the BLE uncoded PHY operating on LE 1M and LE 2M. The CTE field is appended at the end of the packet structure.

Packet structure for BLE uncoded PHY

CTE contains a series of symbols, each representing a binary 1. The number of symbols in the CTE field are configured by the higher layers so that a suitable amount of data and time is available for IQ sampling.


For more information about the CTE, see volume 6, Part B, Section 2.5.1 of the Bluetooth Core Specification [2].

Frequency Deviation

In a given radio channel, Bluetooth uses two frequencies, one to denote digital 0s and the other to denote digital 1s. These two frequencies are computed by adding or subtracting the frequency deviation to or from the center frequency of the channel. Any change in the frequency also changes the wavelength. The wavelength is an important factor in calculating direction from IQ samples. Therefore, CTE consists solely of digital 1s. This implies that the entire CTE is transmitted at a single frequency and has a constant wavelength.

Cyclic Redundancy Check (CRC)

Each BLE packet contains a CRC field that is used in error detection. The BLE transmitter calculates a CRC value from the remainder of the packet to be transmitted, appends the CRC to the end of the packet, and transmits the packet. The BLE receiver performs the same calculation and compares the computed CRC value with the appended CRC value. If the CRC values are unequal, a communication error has occurred. This causes a change in one or more of the transmitted bits. In this case, the packet is ignored by the BLE receiver and can be retransmitted by the BLE transmitter.


The CTE value in the direction-finding packets is not included in the CRC calculation.

Message Integrity Check (MIC)

If a connection between the BLE transmitter and receiver is encrypted and authenticated, the LL PDU includes a MIC field. The MIC value is used to authenticate the sender of the PDU.


The CTE value in the direction-finding packets is not included in the MIC calculation.


Whitening refers to the process of scrambling the bits to avoid lengthy sequences of 1s and 0s in the transmitted bit stream. The lengthy sequences of 1s and 0s might cause the receiver to lose its frequency lock and act as though the center frequency has moved up or down. BLE uses whitening to scramble the PDU and CRC fields of all LL packets.


The CTE value in the direction-finding packets is not subject to the whitening process.

Connectionless and Connection-Oriented Direction Finding

The Bluetooth Core Specification [2] enables the AoA and AoD to be used in either connectionless or connection-oriented communication. However, in typical use cases, the AoD is used with connectionless communication and the AoA is used with connection-oriented communication. This table shows four possible permutations of using the AoA and AoD with connectionless and connection-oriented communication.

Type of ConnectionAoAAoD
ConnectionlessBLE controller support is optional.

BLE controller support is optional. Using the AoD with connectionless communication is typical.

Connection-orientedBLE controller support is optional. Using the AoA with connection-oriented communication is typical.

BLE controller support is optional.

Connectionless direction finding implements Bluetooth periodic advertising. The CTE is appended to otherwise standard AUX_SYNC_IND PDUs. Connection-oriented direction finding conveys the CTE using new LL_CTE_RSP packets that are transmitted over the connection as an acknowledgment to LL_CTE_REQ PDUs. In both of these cases, a variety of setup and configuration steps must be completed before IQ sampling is initiated and the CTE-bearing packets are generated.

With the Bluetooth-direction finding capability, the proximity and positioning systems operating at submeter accuracy can be developed for use cases such as indoor positioning, path finding, asset tracking, and directional discovery. The Bluetooth direction-finding capability elevates proven engineering techniques for signal direction. This capability also standardizes the interfaces, interactions, and prominent intrinsic operations of the BLE stack. Precise direction finding is now interoperable across different manufacturers and can be widely adopted to create a new generation of advanced Bluetooth location and direction finding services.


[1] Bluetooth Technology Website. “Bluetooth Technology Website | The Official Website of Bluetooth Technology.” Accessed November 22, 2019.

[2] Bluetooth Special Interest Group (SIG). "Bluetooth Core Specification." Version 5.1.

[3] Suryavanshi, Nitesh B., K. Viswavardhan Reddy, and Vishnu R. Chandrika. “Direction Finding Capability in Bluetooth 5.1 Standard.” In Ubiquitous Communications and Network Computing, edited by Navin Kumar and R. Venkatesha Prasad, 53–65. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering. Cham: Springer International Publishing, 2019.

See Also



Related Topics