BLE Direction Finding: AoA and AoD for Indoor Positioning
Angle of Arrival and Angle of Departure explained
Direction Finding
Bluetooth Advertising">Direction Finding, introduced in Bluetooth 5.1, adds angular position to RSSI-based proximity. Instead of estimating distance, Direction Finding systems determine the angle at which a signal arrives (AoA) or departs (AoD), enabling sub-meter accuracy without additional infrastructure protocols like UWB.
AoA vs AoD
Two complementary methods exist, differentiated by which side hosts the antenna array:
Angle of Arrival (AoA): The locator has a multi-element antenna array. The tag transmits a continuous tone (CTE — Constant Tone Extension) on a single antenna. The locator samples the signal on each array element sequentially (IQ Sampling) and computes the phase differences to derive the angle.
Angle of Departure (AoD): The locator transmits the CTE while switching through its antenna array. The tag receives the signal on a single antenna. Phase differences at the tag's receiver encode the departure angle. The tag must compute and report the angle or raw IQ data to the system.
| Property | AoA | AoD |
|---|---|---|
| Array location | Locator (fixed infrastructure) | Locator (fixed infrastructure) |
| Computing side | Locator | Tag (or tag + server) |
| Tag complexity | Low (single antenna) | Higher (angle computation) |
| Infrastructure cost | High (array per locator) | High (array per locator) |
| Privacy (tag tracking) | Tag passively transmits | Tag computes own position |
| Best for | Asset tracking, RTLS | Navigation, wayfinding |
Antenna Arrays and IQ Sampling
Direction Finding accuracy depends on array geometry and element count. A linear array of N elements provides one-dimensional angular resolution (azimuth only). An L-shaped or planar array supports 2D or 3D positioning.
Array spacing is standardized at λ/2 (half-wavelength ≈ 6.25 cm at 2.4 GHz) to avoid spatial aliasing. Larger arrays improve angular resolution: a 4-element array achieves ±5–10°; a 16-element array can reach ±1–2°.
The radio switches between antenna elements at 1 µs or 2 µs intervals during the CTE. IQ samples (8-bit I + 8-bit Q) are collected per element. Phase difference between adjacent elements:
Δφ = (2π × d × sin θ) / λ
where d is element spacing, θ is the angle of arrival, and λ is wavelength. The MUSIC or ESPRIT algorithms extract θ from the IQ matrix.
Indoor Positioning Integration
Angle measurements from multiple locators trilaterate a tag's 3D position. Accuracy depends on:
| Factor | Impact |
|---|---|
| Number of locators | 2 = 2D position, 3+ = 3D + redundancy |
| Array element count | More elements → sharper angle resolution |
| Multipath environment | Reflections degrade IQ coherence; open spaces are ideal |
| CTE length | Longer (up to 160 µs) → more IQ samples → better SNR |
| Sync / calibration | Locator positions must be surveyed accurately |
The Range Calculator models path loss for locator placement. Commercially, AoA indoor positioning systems achieve 0.3–1 m accuracy in typical office environments, versus 2–5 m for RSSI fingerprinting.
Channel Sounding
Bluetooth 6.0 (2024) introduced Channel Sounding as a complement to Direction Finding. While Direction Finding measures angle, Channel Sounding measures Time of Flight (ToF) using phase-based ranging across multiple channels. Together they enable centimeter-level positioning:
- Channel Sounding: 10–20 cm ranging accuracy
- Direction Finding AoA: 1–3° angular accuracy
- Combined: sub-30 cm 3D position
Channel Sounding uses the LE 1M PHY and requires both devices to support it (declared in LL features). It is expected to appear in production silicon through 2025–2026.
Frequently Asked Questions
Yes, our guides range from beginner introductions to advanced topics. Each guide indicates its difficulty level and prerequisites so you can find the right starting point.