Tackling Bluetooth AoA Complexity for Real-World Applications

We’ve had several customers express interest in developing their own Angle of Arrival (AoA) software, often starting with basic AoA scripts provided by evaluation boards. Unfortunately, these evaluation scripts are usually insufficient for production-level implementations due to a number of critical limitations.

Evaluation board scripts typically apply basic signal processing techniques that struggle with real-world challenges, especially in areas like noise reduction and calibration. Multipath, that’s signals reflecting and arriving in multiple directions, mitigation is often inadequate, making these scripts less effective in complex environments. Simple scripts usually employ straightforward phase interferometry methods that are limited in their ability to handle multipath scenarios. Additionally, they tend to use outdated AoA IQ-to-Angle algorithms, which further affects performance.

Production systems must be capable of managing multiple tags and anchors simultaneously, in real time. Evaluation scripts, however, are generally designed for a single tag and anchor, lacking the logic necessary for multi-device scenarios. They also don’t include advanced features like parallel processing, trilateration or data fusion across multiple anchors, which are essential for achieving 3D positioning.

Evaluation scripts are also designed for controlled conditions, with minimal error checking. They typically lack robust error detection and correction mechanisms essential for reliability in dynamic environments. Furthermore, these scripts do not incorporate fallback mechanisms, such as temporarily lowering accuracy in the presence of short-term radio frequency noise.

A production-ready system also requires integration with broader ecosystems, such as APIs or interfaces for asset management systems or databases, enabling seamless data flow and operational integration.

Key Areas to Address for Production-Ready AoA Systems:

  1. Advanced Signal Processing: Noise reduction is essential for ensuring accuracy in challenging environments.
  2. Multipath Resolution Algorithms: Needed to distinguish direct signals from reflections, enhancing positional accuracy.
  3. Multi-Device Management: Simultaneously support multiple tags and anchors to enable scalability in deployment.
  4. Data Fusion and Trilateration: Combine data from multiple anchors to calculate precise 3D positioning.
  5. Robust Error Handling: Implement comprehensive error detection, logging, correction and fallback mechanisms for consistent reliability.
  6. Performance Optimisation: Achieve real-time processing by optimising code and utilising hardware acceleration.
  7. System Integration: Enable compatibility with enterprise systems by providing appropriate interfaces and data formats.

By addressing these areas, a production-ready AoA system can achieve the reliability, accuracy, and scalability required for effective deployment in complex, real-world environments.

Read about PrecisonRTLS

Real-World Performance Evaluation of a Hybrid Bluetooth Low-Energy Positioning and Direction-Finding System

There’s new research evaluating the performance of a Bluetooth Low-Energy (BLE) positioning and direction-finding system under conditions that closely mimic real-world usage. The aim of the study was to enhance a BLE-based hybrid algorithm, which integrates both positioning and direction-finding capabilities. The researchers focused on evaluating the system in realistic conditions, which included using multiple types of devices, separating the devices used for creating the database from those used for evaluation, and ensuring a sufficient time gap between data collection and evaluation measurements.

The hybrid algorithm used in the study combines proximity detection, based on the strongest Received Signal Strength Indicator (RSSI), with a fingerprinting approach, where the evaluation data is compared to a pre-existing database. By limiting the search area for positioning to locations with the highest RSSI, the algorithm aims to reduce significant positioning errors. The study also integrated direction-finding functionality into the algorithm, taking into account issues such as signal obstruction caused by the user’s body, which can block radio signals from certain directions.

The evaluation was conducted in a corridor environment, with BLE beacons installed along the walls and ceilings. The research utilised five different smartphone models for both data collection and evaluation. To simulate real usage, measurements were taken from four directions at each evaluation point. The study compared the performance of this hybrid method with a previously proposed method that only included direction estimation based on signal divergence.

The findings demonstrated that the hybrid algorithm significantly outperformed the earlier method in terms of both positioning and direction-finding accuracy, especially under realistic usage conditions. Although the performance of the system declined when the intervals between the BLE beacons were increased, it remained at an acceptable level even with fewer beacons installed. This suggests that the hybrid algorithm is robust and effective, even when the system’s infrastructure is reduced.

In conclusion, the study demonstrated the effectiveness of the hybrid BLE algorithm for positioning and direction-finding in realistic environments. The findings emphasised the importance of conducting performance evaluations under real-world conditions, which better reflect the challenges and variability of actual usage.

(Not) Using Machine Learning for Bluetooth AoA

New Research, On the Generalization of Deep Learning Models for AoA Estimation in Bluetooth Indoor Scenarios, by Ivan Pisa, Guillem Boquet, Xavier Vilajosana, and Borja Martinez of Universitat Oberta de Catalunya, Barcelona, Spain, looks into the application of Deep Learning (DL) models for Angle-of-Arrival (AoA) estimation, a key technique for indoor positioning in Bluetooth indoor positioning.

Accurate estimation of the Angle-of-Arrival (AoA) is complex. The accuracy of AoA estimates can be significantly affected by various signal disturbances such as multipath components, polarisation, spread delays, jitter and noise. These factors can create ambiguities and distort the phase differences of received signals, leading to errors in the position data reported by the system. Also, the multipath effect, where multiple signal replicas interfere with each other, can severely mislead AoA estimations.

Conventional algorithmic AoA estimation techniques rely heavily on processes that can increase the cost, reduce scalability and complicate the operation of the systems where they are used. A primary requirement is the calibration of the antenna array to obtain its steering vector, a process that ensures accurate directional sensitivity of the antenna system. This calibration, along with other computationally intensive tasks such as matrix inversion and eigenvector decomposition, requires significant computational resources. This can be particularly challenging when these systems need to be scaled up for large deployments.

The study’s main objective was to evaluate and compare the generalisation capabilities of AI machine learning models to traditional signal processing techniques, such as the Multiple Signal Classification (MUSIC) algorithm, across various scenarios including different locator positions, time instant and unfamiliar environments.

The results indicated that while DL models perform well within the environment they are trained in, their ability to generalise to new or altered conditions is notably weaker than that of the MUSIC algorithm. The authors concluded that DL models tend to learn specifics of the training environment rather than generalisable features of the AoA estimation task. This learning limitation hampers their practical application since models trained in one environment perform poorly in another.

IQ to Direction Radiogoniometry

Bluetooth Angle of Arrival (AoA) direction finding, part of the Bluetooth 5.1 specification, improves the accuracy of locating using Bluetooth signals. AoA uses the phase difference of the received signal at multiple antennas in a Bluetooth-enabled device to calculate the angle of the incoming radio signal, which can then be used to pinpoint the direction from which the signal was sent.

IQ data comes into play as part of the signal processing. In radio systems, IQ data represents the peaks and troughs of a waveform. I is for ‘In-phase’ part which can be thought of as a signal’s cos component, while Q is for ‘Quadrature’ which is the sin component. This data is derived from the Radio Frequency (RF) front end of the receiver hardware.

The IQ data is translated into direction for further processing, such as determining signal direction in three-dimensional space. Algorithms such as MUSIC (Multiple Signal Classification), ESPRIT (Estimation of Signal Parameters via Rotational Invariance Techniques) and PDDA (Phase Difference Direction Algorithm) turn the IQ data into a pseudo-spectrum the peaks of which provide the direction.

PrecisionRTLS Location Engine Pseudo-spectrum

Radiogoniometry has many complexities such as multipath propagation where a radio signal reaches the receiver by two or more paths due to reflection or diffraction from structures or objects in the environment. This causes multiple peaks in the plot. This is where anti-interference algorithms come into play that can mitigate the effects of signal interference, such as multipath propagation and environmental noise. These algorithms rely on statistical signal processing techniques and adaptive filtering methods to distinguish between the desired signal and interference, thereby enhancing the accuracy of direction finding.

Introduction to Bluetooth AoA

Bluetooth AoA (Angle of Arrival) positioning is a technique that uses Bluetooth signals to determine the location of a device. AoA positioning works by measuring the angle at which a Bluetooth signal arrives at multiple receivers, and then using this information to calculate the location of the device that is transmitting the signal.

AoA can be particularly useful in indoor environments, where other positioning technologies may not work well.

Some of the advantages of using Bluetooth AoA positioning include:

  • Improved accuracy: By using multiple receivers to measure the angle of arrival of Bluetooth signals, AoA positioning can provide more accurate location estimates compared to other techniques.
  • Low cost: Bluetooth AoA positioning can be implemented using relatively low-cost hardware, making it an affordable option for many applications.
  • Easy to deploy: AoA positioning systems can be easily deployed in a variety of settings, especially indoor environments where other positioning technologies may not work well.

Overall, Bluetooth AoA positioning is a useful technique for determining the location of a device using Bluetooth signals. It can provide more accurate location estimates compared to other techniques and can be implemented at low cost and deployed easily in a variety of settings.

View Minew AoA Kit

Read About PrecisionRTLS

New Minew MWC01 AoA Beacon

We now have the new MWC01 AoA beacon in stock.


AoA beacons advertise a constant tone extension (CTS) for angle of arrival detection as described by the Bluetooth Direction Finding standard. This beacon is rechargeable, using USB, via magnetic contact, has a battery life of up to 8 months (depends on how much it moves) and a range up to 150m.

Please see our post the MWL01 for insights that also apply to the MWC01.

View all Bluetooth Direction Finding Products

Bluetooth AoA Direction Finding Tradeoffs

Direction finding hardware is limited by how many Bluetooth packets can be processed per second. For example, the Minew G2/AR1 supports up to 1000 packets per second. However, this depends on the actual situation as the locator can sometimes receive packets from devices that are not tracked assets such as fitness trackers, cars and smartphones that will use up processing power.

There are two common misconceptions. The first is that it’s possible to add more hardware to support more beacons. Hardware can be added sidewise, into extra areas having extra beacons, but it’s not possible to support more beacons by adding hardware to the same area. The beacons will still be seen by all hardware. The second misconception is the use of filtering or throttling settings in the gateway to support more beacons. Again, the packets have to be processed and you are only affecting what’s being output.

How many beacons are supported by 1000 packets per second? For a beacon advertising at default 100ms, it’s advertising 10 times every second. For the Minew scenario, with 4 locators, each locator will see the beacon so the gateway works four times as hard.

1000 / 10 / 4 = 25 beacons. Only 25 beacons.

AoA Direction Finding involves a trade off between accuracy, latency and the maximum number of beacons:

The number of beacons can be increased by increasing the beacon advertising period. The Minew MWL01 beacon automatically adjusts the advertising period from 100ms to 250ms to 4 seconds based on movement detected by an accelerometer. This makes the maximum number of beacons dependent on a tricky calculation based on how often the beacons move. At the other extreme, when none of the beacons are moving, 1000 beacons can be supported in one area of 4 locators.

The beacons’ advertising period can be extended, as necessary, to increase the maximum number of beacons. When the advertising period is increased, the latency increases which is the delay after which you know the new location. Furthermore, location engines need multiple measurements, over time, to get an accurate location. This can usually be configured to trade off accuracy with latency.

If a gateway doesn’t see a beacon during scanning, it’s possible it will instead see it on a subsequent scan. Overloaded systems still produce locations but have much less deterministic latency.

When designing a new system many people say they want high accuracy, low latency and support an unlimited number of beacons. This isn’t possible. Instead, rank accuracy, latency and the maximum number of beacons in order of importance and design the system accordingly.

Read about PrecisionRTLS™

Bluetooth AoA Direction Finding in the Cloud

We have had many enquiries from ISVs regarding the possibility of using AoA in the cloud. The idea is to use a location engine instance to allow their multiple customers to access AoA direction finding as a service.

Bluetooth AoA Direction finding works by having multiple locators that communicate with an on-site gateway that connects to the location engine. This is radio data so there’s lots of information sent very often. For large sites, there are multiple edge gateways. In most systems with more than a few assets, the gateway throughput becomes limited by the gateway hardware and the location engine processing input is limited mainly by the CPU capability.

The location engine has to do a lot of work. It implements computationally intensive radiogoniometry and anti-interference algorithms using data from multiple gateways.

In most cases, with large numbers of assets, the gateways and location engine are working near full capacity with the latency of the whole system being balanced against the number of assets.

While such a system can work in the cloud, the bandwidth and latency of the connection to the cloud means that it usually isn’t technically and financially viable. Sharing such a system across customers is even less viable. Instead, standalone systems have to be set up on-site to provide optimum performance.

Be aware that some ‘toy’ evaluation, as opposed to production, AoA systems perform the radiogoniometry and anti-interference algorithms at the gateway. While might work for a few assets, the gateway usually doesn’t have the processing power to scale to a production environment. Also, the gateway is only processing the radiogoniometry and anti-interference algorithms using data it has seen. Production grade radiogoniometry and anti-interference algorithms need to consider data from multiple gateways.

Read about PrecisionRTLS™

Implementing Bluetooth AoA Using Software Defined Radio (SDR)

There’s new research from Poznan University of Technology, Poland on Angle of arrival estimation in a multi-antenna software defined radio system: impact of hardware and radio environment.

The researchers implemented Software Defined Radio (SDR), on an inexpensive USRP B210, using the Root Multiple Signal Classification (Root-MUSIC) algorithm to provide Bluetooth AoA. Consideration was given to errors caused by the hardware and the radio environment.

Hardware errors were mainly synchronization errors. The accuracy of the AoA was affected by the degree of multipath propagation and filtering was found to improved accuracy. An implementation with two antennas and the Root-MUSIC AoA algorithm was able to achieve less than 10m estimation error in most environments.

Read about PrecisionRTLS™

2D Bluetooth Direction Finding

Our LocationEngine™ supports 2D as well as 3D locating. 2D is where only x and y are output and z, the height, remains constant. The advantage of 2D location is that it requires fewer locators (the hardware containing multiple antennas), only one per zone or room, rather than four or more. Also, the gateway and subsequent software receives correspondingly less data so, at the limit of throughput, many more assets can be supported.

Bluetooth Direction Finding, 2D Locating

2D is only suitable if the z, the height, is known and doesn’t change much. For example, a beacon on a lanyard has restricted and fairly constant z. Conversely, a pallet in a tall warehouse might have a large variation in z and hence is not suitable for use with 2D locating.

As fewer locators are being used, the accuracy is poorer, of the order of a few metres rather than sub metre, than with 3D location. This kind of accuracy is sometimes an acceptable trade-off for less, lower-cost, hardware and a larger maximum number of assets.

In our LocationEngine™, the system is configured for 2D by setting a value in a configuration file and also supplying the typical z. This z is output in place of a calculated z. This value of z is actually used in calculations to provide x and y. This means if z does happen to change significantly from the value you have specified, the accuracy of x and y will be correspondingly poor.

Another aspect of 2D location is that it’s more sensitive to inaccurate initial measurement, usually performed using a laser measure, of location of the locators. When more than one locator is used in 3D locating, locator measurement error is less significant because the system calculation also depends on the location of other locators whose location measurement might be more accurate. With 2D location, the calculation is wholly reliant on the accurate measurement of one locator.

Read about PrecisionRTLS™