Use Bluetooth 5.1-Enabled Platforms for Precise Asset Tracking and Indoor Positioning - Part 1

Contributed By Digi-Key's North American Editors

Editor’s Note: Part 1 of this two-part series describes the capabilities of Bluetooth 5.1 Direction Finding, an addition to the Bluetooth low energy firmware that enables designers to develop Angle of Arrival (AoA) and Angle of Departure (AoD)-based location applications such as asset tracking and indoor positioning systems (IPS). It then introduces suitable platforms upon which to run the new features. Part 2 shows how Bluetooth 5.1 Direction Finding-based applications can be developed and describes how to get started on these platforms.

The demand for location services is growing as logistics companies look to improve supply chain efficiency by tracking assets in real time, and businesses target productivity enhancements by monitoring staff and customer movements. While Bluetooth’s received signal strength indicator (RSSI) can be used to estimate distance from a known fixed point, this technique is often not precise enough for applications such as an indoor positioning system (IPS) and asset tracking. However, an update to the Bluetooth specification offers a more precise path forward.

Specifically, the latest version of the Bluetooth Core Specification (v5.1) (marketed as “Bluetooth 5.1 Direction Finding”) has added Angle of Arrival (AoA) and Angle of Departure (AoD) direction finding features that make it much easier for developers to accurately determine the position of a Bluetooth transmitter in two or three dimensions.

This article, the first of two parts, describes AoA and AoD and explains how the enhancements to the Bluetooth Core Specification make it easier to implement the techniques. It then introduces viable platforms upon which to implement Direction Finding applications.

RF direction finding techniques

Radio frequency (RF) direction finding based on RSSI provides distance approximation based on signal strength. Greater accuracy can be achieved by making multiple distance measurements from different points. A key advantage of RSSI is that it requires only one antenna per device—eliminating the complexity, cost, and size of antenna arrays. The downside is a lack of precision, with the technique offering an accuracy of 3 to 5 meters (m).

A second common direction-finding technique is known as Time of Arrival (ToA), which is the travel time of a radio signal from a single transmitter to a remote single receiver. Again, this method requires only one antenna per device, but the downside is the requirement that each device carry a highly accurate synchronized clock. Positional accuracy for ToA systems can approach 1 m.

With the release of the Bluetooth 5.1 specification, the Bluetooth Special Interest Group (SIG) elected to support a third direction finding technique based on AoA and AoD.

With AoA, a receiving device tracks arrival angles for individual objects, while with AoD the receiving device calculates its own position in space using angles from multiple beacons and their positions (Figure 1).

Diagram of AoA method of direction finding (left) and AoD method (right)Figure 1: In the AoA method of direction finding (left), assets broadcast (TX) their location to an AoA locator which measures the signal's arrival angle. With the AoD method (right), beacons transmit AoD information while a mobile device receives (RX) the beacon signals and calculates position. In each case, it is the receiving device that requires the computational power to calculate the direction of the transmitter. (Image source: Silicon Labs)

The decision to include a direction-finding feature in Bluetooth 5.1 was made, in part, because of the influence of some enterprising companies that already offer proprietary AoA and AoD solutions for Bluetooth low energy (BLE) products. Bluetooth 5.1 makes it easier for developers to take advantage of RF direction finding by including an update to the Core Specification to make it easier to extract “IQ” signal data (in-phase and quadrature-phase information) from BLE packets. This in turn makes it easier for developers to implement location service applications.

For example, the AoA method is suitable for tracking a transmitting BLE transceiver. Using a single antenna, the transceiver sends direction-finding-enabled packets that are received by a multi-antenna “locator”. The locator samples IQ data from the signal packets while switching between each active antenna in the array; by doing so it detects the phase difference of the signal due to the difference in distance from each antenna in the array to the single transmitting antenna. The positioning engine then uses the phase difference information to determine the angle from which the signals were received and hence the direction of the transmitter (Figure 2).

Diagram of angle of arrival of a radio signalFigure 2: The angle of arrival of a radio signal can be calculated if the signal phase (θ) at each antenna, the wavelength (λ), and the distance (d) between adjacent antennas is known. (Image source: Bluetooth SIG)

Combining the computed signal direction from two or more locators enables a transmitter to be pinpointed (Figure 3).

Diagram of AoA of signals at two fixed locatorsFigure 3: By calculating the AoA of signals at two fixed locators, the position of a transmitting asset in three dimensions can be calculated. If the absolute coordinates of the locators are known, the absolute coordinates of the transmitting asset can also be calculated. (Image source: Silicon Labs)

The situation is reversed for the AoD method. In this scenario, the device with the antenna array sends a signal via each of its antennas. As each signal packet from the antennas in the array arrives at the receiver’s single antenna, it is phase shifted from the previous signal due to the different distance it has traveled from the transmitter (Figure 4).

Diagram of AoD method antennas and receiverFigure 4: With the AoD method, as each signal packet from the antennas in the array arrives at the receiver’s single antenna, it is phase shifted from the previous signal due to the different distance it has traveled from the transmitter. (Image source: Bluetooth SIG)

The receiving device’s antenna takes IQ samples from signal packets and forwards them to the positioning engine, which then uses the data to determine the angle from which the signals were received and hence the direction of the transmitter. This system is suited to applications such as indoor navigation where the transmitter is a fixed reference point and the receiver is, for example, a consumer’s smartphone.

Updates to Bluetooth 5.1

Bluetooth 5.1 demands changes to the RF software protocol (or “stack”), and depending on the chipmaker, some hardware (radio) enhancements. First, the revised protocol adds a continuous tone extension (CTE) to any Bluetooth packet used for direction finding. (The packets are otherwise unmodified so can be used for standard BLE communication.)

CTE is a pure (i.e., unmodulated) tone sent at the Bluetooth carrier frequency plus 250 kilohertz (kHz) (or sometimes plus 500 kHz when using BLE’s higher throughput mode) for between 16 to 160 microseconds (µs). The tone consists of an “unwhitened” sequence of ‘1s’ transmitted long enough for the receiver to extract the IQ data without the disruptive effects of modulation. Because the CTE signal is transmitted last, the packet’s cyclic redundancy check (CRC) is unaffected.

The second significant addition to the specification makes it much simpler for the developer to configure the protocol to perform the IQ sampling. This configuration includes setting both the sample timing and antenna switching, which are critical to the precision of the positional estimation.

While various IQ sampling timing configurations can be employed, typically one IQ sample is recorded every 1 or 2 µs within the reference period for each antenna, and the results are recorded in the BLE SoC’s random access memory (RAM). How the phase of the received signal varies as it is sampled by different antennas in the array is shown (Figure 5).[1]

Graph of signal from a single transmitter exhibits a different phase upon arrivalFigure 5: A signal from a single transmitter exhibits a different phase upon arrival at antennas that are different distances from the source. (Image source: Bluetooth SIG)

Recording the IQ samples is just the first step in building a location service application. To complete the task, developers must design or select the optimum antenna arrays for the locators and beacons used in the application and get to grips with the complex algorithms needed to perform the direction-finding calculations.

Calculating signal direction

Antenna arrays for direction finding are typically divided into three array types: uniform linear array (ULA), uniform rectangular array (URA), and uniform circular array (UCA). As the names suggest, the linear array is one dimensional, while the rectangular and circular arrays are two dimensional. The ULA is easiest to design and implement, but its drawback comes from only being able to calculate azimuth angle by assuming the tracked device consistently moves in the same plane. If that’s not the case, precision is compromised. URAs and UCAs can reliably measure both azimuth and elevation angles (Figure 6).

Diagram of AoA and AoD direction finding techniquesFigure 6: AoA and AoD direction finding techniques demand antenna arrays, common forms of which include linear, rectangular and circular. While each type of array can obtain information about elevation and azimuth, the rectangular and circular types provide more reliable azimuth data. (Image source: Silicon Labs)

Designing an antenna array for direction finding is not trivial. For example, when antennas are placed in an array, they disrupt each other’s response through mutual coupling. To account for such effects, estimation algorithms often require predefined array responses. For example, one popular commercial algorithm mathematically assumes the array is formed from two identical subarrays. Fortunately, for those lacking antenna expertise, commercial antenna array products with defined characteristics are available.

An effective antenna array will ensure that accurate IQ samples are gathered. But the raw data is insufficient to determine signal direction; the data must be processed to take into account multipath reception, signal polarization and propagation delays, noise, and jitter.

Because RF direction finding is not a new discipline, there are several established mathematical techniques for estimating arrival angle based on IQ samples obtained in real-world applications. The problem definition—i.e., estimate the arrival angle (the calculation for departure angle is similar) of an emitted (narrowband) signal arriving at the receiving array—is simple; the math required to solve it less so.

In basic terms, given a data set of IQ samples for each antenna in the array, the commercial algorithms first calculate a data vector “x” based on the following formula (and assuming the signals are phase-shifted and scaled sinusoidal (narrowband) signals):

Equation 1 Equation 1

Where “a” is a mathematical model of the antenna array (the “steering vector”),

“s” the incoming signal and “n” is a noise term.

X is then used to generate the IQ sample covariance matrix “Rxx” using the formula:

Equation 2 Equation 2

This sample covariance matrix is then used as the input for the main estimator algorithm. One of the most popular and proven algorithms for frequency estimation and radio direction finding is MUltiple SIgnal Classification (MUSIC). In technical terms, MUSIC uses the eigenvectors decomposition and eigenvalues of the covariance matrix for estimating AoA based on the properties of the signal and noise subspaces.

The formula employed is:

Equation 3 Equation 3

Where “A” is a diagonal matrix containing the eigenvalues and “V” is a matrix containing the corresponding eigenvectors.

Once V is isolated it can be used in a formula that generates a pseudo spectrum with a peak occurring at the angle of arrival of the received signal (Equation 4):

Equation 4 Equation 4

And the resultant spectrum takes the form shown, with the peak occurring in the direction from which the transmitted signal arrives (Figure 7).[2]

Graph of MUSIC algorithm uses IQ samples to generate a power pseudo spectrumFigure 7: The MUSIC algorithm uses IQ samples to generate a power pseudo spectrum with a peak identifying the position of the transmitting device. This example shows a 2-D pseudo spectrum, where the transmitting device is located at a 50-degree azimuth angle and a 45-degree elevation angle. (Image source: Silicon Labs)

Running direction finding algorithms is computationally intensive and demands plenty of RAM and Flash memory capacity.

Commercial Bluetooth 5.1 products with the appropriate resources are already available. For example, Dialog Semiconductor offers the DA14691 Bluetooth 5 LE SoC for location service applications. The chip is powered by an Arm® Cortex®-M33 microprocessor and includes 512 Kbytes RAM. Silicon Labs has released a Bluetooth 5.1 stack for its EFR32BG13 BLE SoC; the chip uses an Arm Cortex-M4 microprocessor with 64 Kbytes RAM and 512 Kbytes Flash.

Nordic Semiconductor has taken a further step by launching new “Direction Finding” hardware, in the form of the nRF52811. This BLE SoC is Bluetooth 5.1 compatible and integrates an Arm Cortex M4 microprocessor teamed with the multiprotocol radio from Nordic’s high-end nRF52840 wireless SoC. The chip includes 192 Kbytes Flash and 24 Kbytes RAM.

Part 2 of this article explains how to use development platforms based on these SoCs and stacks (together with additional components including antenna arrays, companion microprocessors and associated memory, and “location engine” firmware) to implement practical location services applications such as asset tracking and IPS.


The recent enhancement to the Core Specification adopted in Bluetooth 5.1 makes it easier to access IQ data. The data can be used to feed RF direction finding algorithms that calculate the AoA or AoD of a Bluetooth radio transmission and then use this information to estimate the position of a transmitter in two or three dimensions.

But while the algorithms can be used as the basis of practical location service applications such as asset tracking and IPS, their precision depends on a well-designed antenna array, a proven RF direction finding algorithm, and sufficient processor and memory resources to perform the complex calculations.

As Part 2 of this series will show, while the development is still far from trivial, the availability of commercial Bluetooth 5.1 Direction Finding platforms, antenna arrays and location engine firmware make it simpler for designers to start building centimeter precision location services applications.


  1. Bluetooth Direction Finding: A Technical Overview, Martin Wooley, Bluetooth SIG, March 2019.
  2. Understanding Advanced Bluetooth Angle Estimation Techniques for Real-Time Locationing, Sauli Lehtimaki, Silicon Labs, 2018

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of Digi-Key Electronics or official policies of Digi-Key Electronics.

About this publisher

Digi-Key's North American Editors