
Calibration and Uncertainty Characterization for Ultra-Wideband
Two-Way-Ranging Measurements
Mohammed Ayman Shalaby, Charles Champagne Cossette, James Richard Forbes, Jerome Le Ny
Abstract— Ultra-Wideband (UWB) systems are becoming
increasingly popular for indoor localization, where range mea-
surements are obtained by measuring the time-of-flight of
radio signals. However, the range measurements typically suffer
from a systematic error or bias that must be corrected for
high-accuracy localization. In this paper, a ranging protocol
is proposed alongside a robust and scalable antenna-delay
calibration procedure to accurately and efficiently calibrate
antenna delays for many UWB tags. Additionally, the bias and
uncertainty of the measurements are modelled as a function
of the received-signal power. The full calibration procedure
is presented using experimental training data of 3 aerial
robots fitted with 2 UWB tags each, and then evaluated
on 2 test experiments. A localization problem is then for-
mulated on the experimental test data, and the calibrated
measurements and their modelled uncertainty are fed into an
extended Kalman filter (EKF). The proposed calibration is
shown to yield an average of 46% improvement in localiza-
tion accuracy. Lastly, the paper is accompanied by an open-
source UWB-calibration Python library, which can be found at
https://github.com/decargroup/uwb calibration.
I. INTRODUCTION
Robotic localization and mapping applications typically
require a means of acquiring position information relative
to a reference point with known location. Global Naviga-
tion Satellite System (GNSS) provides accurate and pre-
cise positioning information outdoors; however, localization
performance degrades significantly in obstructed or indoor
environments [1, 2]. An attractive indoor localization option
that has been increasingly gaining traction is the use of
ultra-wideband (UWB) radio signals between transceivers,
or tags, as a means of ranging. UWB transceivers, such as the
DWM1000 module provided by Decawave [3], are typically
inexpensive, consume little power, and provide a means for
data transfer between robots, thus deeming them particularly
useful for a variety of robotic applications [4–6].
UWB-based ranging typically relies on measuring the
time-of-flight (ToF) of radio signals from one tag to another.
This requires estimating the offset between the clock on each
tag. Furthermore, the clocks often run at different rates due
to physical imperfections in the individual clock’s crystal
oscillator, causing the offset to be time-varying. The rate
This work was supported by the NSERC Alliance Grant program, by the
CFI JELF program, and by the FRQNT.
M. A. Shalaby, C. C. Cossette, and J. R. Forbes are with the department
of Mechanical Engineering, McGill University, Montreal, QC H3A
0C3, Canada. {mohammed.shalaby@mail.mcgill.ca,
charles.cossette@mail.mcgill.ca,
james.richard.forbes@mcgill.ca}.J. Le Ny is with the
department of Electrical Engineering, Polytechnique Montreal, Montreal,
QC H3T 1J4, Canada. {jerome.le-ny@polymtl.ca}.
(a) SS-TWR.
(b) Proposed DS-TWR.
Fig. 1: Timeline schematics for two tags iand jrepresenting the different
TWR ranging protocols, where t`represents the `th timestamp for a TWR
instance and ∆t`k ,t`−tk.
of change of the clock offset is referred to as the clock
skew. In order to negate the effect of the clock offset during
ranging, different ranging protocols have been proposed,
with the choice being dependent on the specific application
and availability of tags [7], [8, Section 7.1.4]. A commonly
used protocol is two-way ranging (TWR), which relies on
averaging out the measured ToF between two signals to
negate the clock offset. This form of TWR is referred to
as single-sided TWR (SS-TWR), and is shown in Figure 1a.
Nonetheless, even after correcting for clock offsets, UWB
range measurements typically suffer from a systematic error
or bias. A significant contributor to this error is the skew
between the clocks of the two ranging tags, as the different
tags measure the passage of time in different units [9, 10].
This additional bias can be corrected by estimating the clock
skew between the tags and embedding a skew-dependent
correction factor when computing the range measurement,
as proposed in [9]. However, this necessitates estimating
the clock skew between all tags involved in ranging. Al-
ternatively, [10] proposes a form of computing the range
measurement utilizing double-sided TWR (DS-TWR), which
is shown to mitigate clock-skew-dependent bias.
Another source of ranging bias stems from relative-pose-
dependent antenna radiation pattern [11], where pose refers
to both position and attitude. The varying signal strength
can cause timestamping errors, and this effect is typically
addressed using data-driven models. In [12], a simple ex-
periment with pre-localized fixed tags or anchors is used to
determine a relation between bias and the distance between
ranging tags, while in [13], models are trained using the
distance between the tags and 7 features extracted from the
channel impulse response (CIR). In [14] and [15], a robot
arXiv:2210.05888v3 [cs.RO] 16 Feb 2023