Skip to content

RTLS & positioning methods

TWR vs TDoA vs AoA: how UWB systems locate a tag

TWR, TDoA and AoA are the three ways UWB systems locate tags, by ranging, timing differences or angles. Compare accuracy, battery life, capacity and set-up.

Intermediate 10 min read Noccela engineering team Updated

Two-way ranging (TWR), time difference of arrival (TDoA) and angle of arrival (AoA) are the three basic ways an ultra-wideband (UWB) system turns radio measurements into a position: TWR measures the distance to each base station (UWB anchor) with a message exchange, TDoA compares when one message reaches several synchronised base stations, and AoA measures the direction a signal comes from.

Each method trades accuracy, battery life, capacity and installation effort differently. This guide explains each in plain terms, with the maths in Technical boxes.

Why does everything start with time of flight?

Radio travels about 30 cm per nanosecond. Know exactly when a pulse left and arrived, and you know the distance; a few centimetres of accuracy needs timing to about a tenth of a nanosecond.

The difficulty is that a tag and a base station each have their own clock. Either the devices exchange messages so that each measures time only on its own clock (two-way ranging), or the base stations share a synchronised clock and compare arrival times (time difference of arrival).

How does two-way ranging (TWR) work?

In single-sided two-way ranging (SS-TWR), the tag sends a poll and the base station answers after a known reply delay. The tag measures the round trip, subtracts the reply delay and halves the rest. The catch is clock drift: the two crystals run at slightly different speeds, and the error grows with the reply delay.

Double-sided two-way ranging (DS-TWR) adds a third message. Now both devices measure one round trip and one reply delay, and combining the four times cancels almost all of the clock error. DS-TWR is widely used in phones and in positioning systems.

TagBase stationPollResponseFinalRound 1Reply 2Reply 1Round 2
Double-sided two-way ranging: each side measures one round trip and one reply time on its own clock.

With distances to three or more base stations, the positioning engine finds the point where the circles (in 3D, spheres) around them meet. This is trilateration.

Strengths: no synchronisation between base stations, good accuracy near the edge of coverage, and a two-way link to every tag for configuration, alerts and firmware updates. Costs: the tag transmits and listens several times per position. DS-TWR with four base stations, one at a time, takes twelve messages; one-to-many schemes cut that, but airtime per tag still limits how many tags an area can serve.

How does time difference of arrival (TDoA) work?

In uplink TDoA (UL-TDoA) the tag sends one short message, called a blink, and does not listen for a reply. Every base station that hears it records the arrival time on a shared, synchronised clock. If the blink reached one base station 3 ns before another, the tag is about 90 cm closer to it. Each difference places the tag on a curve called a hyperbola, and where the curves meet is the position. This is multilateration.

A 2018 study of UWB scalability notes that TDoA tags send only one packet per position, against two to four messages per base station for TWR. That means long battery life and many tags per area. The price is synchronisation to a fraction of a nanosecond, by timing cables or wirelessly from a reference base station: 1 ns of error is 30 cm. Accuracy also degrades faster than with TWR outside the area surrounded by base stations, and a pure blink tag needs a separate channel for configuration.

Downlink TDoA (DL-TDoA) reverses the direction. Synchronised base stations transmit on a schedule; the device listens and works out its own position, like a GPS receiver. Any number of devices can use it and the infrastructure never learns where they are, which helps privacy. The device must keep its receiver on, and the system cannot see devices unless they report back.

How do angle of arrival (AoA) and PDoA work?

A device with two or more antennas a couple of centimetres apart sees the same pulse arrive at each at a slightly different phase. That phase difference of arrival (PDoA) gives the angle of arrival (AoA). Add a distance from two-way ranging and one device can place a tag on its own; this is how phones point an arrow at a lost item.

AoA needs fewer base stations, but angle errors grow with distance: 5° off is about 1.75 m at 20 m. Reflections disturb the phase, antenna arrays need calibration, and each base station’s orientation must be known precisely. Infrastructure systems mostly combine AoA with TDoA or TWR.

Who transmits in each method?

TWR
The tag exchanges messages with each base station. No clock synchronisation.

Uplink TDoA
The tag sends one blink. Synchronised base stations (dashed) compare arrival times.

Downlink TDoA
Synchronised base stations transmit. The device listens and calculates its own position.

Squares are base stations (UWB anchors), the yellow circle is the tag or device. Dashed lines show base stations that share a synchronised clock.

How do the methods compare?

SS-TWR DS-TWR Uplink TDoA Downlink TDoA AoA (with ranging)
Tag messages per position 2 per base station 3 per base station (fewer with one-to-many schemes) 1 transmission None sent; listens to several 2–3 with one base station
Base-station clock synchronisation Not needed Not needed Sub-nanosecond Sub-nanosecond Not needed
Who knows the position System or tag System or tag System Device only System or device
Accuracy Good; limited by clock drift High, also near the edges High inside the base-station perimeter High inside the perimeter Falls with distance
Tag battery Moderate Shortest (most messages) Longest Moderate (receiver on) Long (one base station)
Tags per area Limited by airtime Limited by airtime High Unlimited Limited by airtime
Two-way link to tag Yes Yes Needs a side channel Broadcast only Yes
Standardised in IEEE 802.15.4 IEEE 802.15.4, FiRa FiRa Core 4.0 (2025), omlox FiRa Core 2.0 (2023), omlox FiRa (one-way AoA)

Geometry matters for every method: base stations should surround the tracked area, not stand in a line, or small timing errors become large position errors (dilution of precision). See planning an RTLS deployment.

Which method fits which use case?

  • Safety warnings and two-way messages, such as buzzing a pedestrian’s badge near a forklift: TWR or a hybrid with a two-way link.
  • Thousands of asset tags at low update rates, battery life first: uplink TDoA.
  • Phones or robots navigating themselves, with no limit on users: downlink TDoA. Android 17’s developer documentation describes an API that lets phones act as DL-TDoA tags.
  • Sparse infrastructure or pointing at a nearby object: AoA with ranging.

Where do hybrid approaches fit?

Hybrids try to keep what is good about TWR (accuracy, coverage, no synchronisation, a two-way link) while spending less airtime per tag. One family lets several base stations overhear a single exchange: omlox describes its RToF mode as “a single tag-to-satellite handshake that other satellites also receive”. Others schedule tags centrally, combine TWR with AoA, or let tags that are not moving report less often or sleep.

Where to go next

For the radio basics, read what is UWB. For how accuracy holds up with walls, metal and people in the way, continue with UWB accuracy and range. For base-station counts, placement and calibration, see planning an RTLS deployment and Noccela’s automatic calibration.

Frequently asked questions

What is the difference between TWR and TDoA?
In two-way ranging (TWR) a tag exchanges messages with each base station to measure the distance to it, so no clocks need to be synchronised. In time difference of arrival (TDoA) a tag sends one message and synchronised base stations compare when it arrived, which saves tag battery and airtime but needs precise synchronisation.
Which is more accurate, TWR or TDoA?
Inside the area surrounded by base stations both can reach similar accuracy. TWR usually holds up better at the edges of coverage and does not depend on synchronisation, while TDoA accuracy degrades faster outside the base-station perimeter and with any synchronisation error.
How many base stations do I need for a 2D or 3D position?
For TWR, at least three base stations in view give a 2D position and four give 3D. For TDoA, you need at least three for 2D and four for 3D, because each measurement is a difference between two base stations. In practice, plan for more so that a blocked signal does not stop positioning.
Does TDoA need cables between base stations?
TDoA needs the base stations' clocks synchronised to a fraction of a nanosecond. Some systems do this with timing cables, others wirelessly from a reference base station; two-way ranging needs no clock synchronisation at all.
What is downlink TDoA?
Downlink TDoA reverses the direction: base stations transmit on a schedule and the device listens and works out its own position, like a GPS receiver. Any number of devices can use it, but the infrastructure does not learn where they are.
What is the difference between AoA and PDoA?
PDoA, phase difference of arrival, is the measurement: the phase difference of one signal at two or more antennas. AoA, angle of arrival, is the result: the direction the signal came from, calculated from that phase difference.
Why is TWR said to be bad for battery life?
A tag using TWR must transmit and listen several times for every position, typically two or three messages per base station, while a TDoA tag transmits once. Hybrid and scheduled schemes reduce the gap.

Sources and further reading

Published . Last reviewed by the Noccela engineering team.

Put precise location to work

Tell us what you want to track and where. We will tell you what it takes.