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™

Using AI Machine Learning to Improve Ranging Accuracy

There’s new research from Oregon State University, USA and Peking University, Beijing, China on A Machine Learning Approach to Improve Ranging Accuracy with AoA and RSSI.

System Workflow

Machine learning was used to determine the line-of-sight distance in a multipath (reflective) environment. Due to the multipath effect, acquired signals indoors have complex mathematical models. A machine learning Artificial Neural Networks (ANN) is the most efficient way to process these signals.

The system achieved accuracy where 75% of the errors were less than 0.1 m with a median error of 0.037 m and a mean error of 0.092 m. This reduced ranging errors to under 10cm. The researchers were able to achieve high-precision indoor ranging without the need for a wide signal bandwidth nor synchronisation. The system was also simple and low cost to deploy due to low complexity of the equipment.

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™

Bluetooth 5.1 Angle-of-Arrival Antenna Array Design

There’s new research from University of Porto, Portugal on Design and Experimental Evaluation of a Bluetooth 5.1 Antenna Array for Angle-of-Arrival Estimation.

Experiments were conducted on a circular antenna array in an anechoic chamber and in a real-world environment to evaluate the quality of the retrieved data. The setup included four beacons advertising a Constant Tone Extension (CTE).

The researchers used a combination of ways to process the data including a non-linear recursive least square method, an unscented Kalman filter, non-linear least square curve fitting, a Gaussian filter and Multiple Signal Classification (MUSIC).

The paper explains how reducing computational complexity is critical in order to achieve real-time processing on edge devices. Accuracy is affected by noise originating from multi-path effects, differences in oscillators between transmitter and receiver, behaviour of the RF switch and slight variations in impedances of the antenna tracks between antenna pairs. There’s much more noise in the real-world environment than in the anechoic chamber.

The researchers conclude that they found it difficult to reduce the error in the obtained phase measurements and identify which packets were reflections.


This paper demonstrates that processing of AoA IQ data is non-trivial. Processing in real-time for a more than a few assets is a challenge. This is why, while many AoA reference kits’ can be used to demonstrate AoA, the accompanying software often isn’t scalable to the required number of assets.

Read about PrecisionRTLS™

Introduction to Bluetooth Direction Finding

The Bluetooth SIG, the owner of Bluetooth standards, has a useful video introduction to Bluetooth® Location Services and High-Accuracy Direction Finding. It’s the 4th video from Embedded World 2020. Strangely, you need to view direct from the Bluetooth SIG site because this video isn’t available direct from Vimeo.

Martin Woolley, Senior Developer Relations Manager, provides a high level overview and explains how direction finding differs to positioning using RSSI signal strength. He describes how Bluetooth Angle of Arrival (AoA) and Angle of Departure (AoD) make use of multiple angles to provide accurate location.

Martin dives deeper into direction finding theory and phase sampling. He explains how Bluetooth uses Frequency Shift Keying (FSK) of the radio carrier signal that necessitates use of a Constant Tone Extension (CTE) to enable direction finding. It’s explained how Bluetooth Controller IQ sampling fits into the Bluetooth stack.

View G2 AoA Gateway Kit

Read about PrecisionRTLS™

New Silicon Labs Bluetooth Direction Finding Design

Silicon Labs has a new range of Bluetooth System on a Chip (SoC), the EFR32BG22 (BG22) boasting power efficiency with up to ten years on a coin cell battery. It supports the Bluetooth 5.2 specification, Bluetooth direction finding and Bluetooth mesh. The Bluetooth direction finding provides Bluetooth Angle of Arrival (AoA) and Angle of Departure (AoD) capabilities with sub-one-meter location accuracy.

Silicon Labs have announced a new direction finding kit with a 4×4 antenna array board for evaluation and development. Note that this is a reference design rather than a product that can be rolled out.

The antenna array design and user guide make interesting reading if you want to learn about AoA hardware design.


Many of our customers have misconceptions about direction finding reference design kits. They exist to prove direction finding and are intended as a base design on which to create your own custom hardware using the same components. They aren’t intended for rollout as they generally aren’t physically robust and also don’t have software that will scale to more than a few assets.

Instead, see the Minew AoA kit for a production product.

Read about PrecisionRTLS™