Log In Sign Up

A Generalized TDoA/ToA Model for ToF Positioning

by   Maximilian von Tschirschnitz, et al.
Technische Universität München

Many applications require positioning. Time of Flight (ToF) methods calculate distances by measuring the propagation time of signals. We present a novel ToF localization method. Our new approach works infrastructure-less, without pre-defined roles like Anchors or Tags. It generalizes existing synchronization-less Time Difference of Arrival (TDoA) and Time of Arrival (ToA) algorithms. We show how known algorithms can be derived from our new method. A major advantage of our approach is that it provides a comparable or better clock error robustness, i.e. the typical errors of crystal oscillators have negligible impact for TDoA and ToA measurements. We show that our channel usage is for most cases superior compared to the state-of-the art.


page 1

page 2

page 3

page 4


Clock Error Analysis of Common Time of Flight based Positioning Methods

Today, many applications such as production or rescue settings rely on h...

Positioning of High-speed Trains using 5G New Radio Synchronization Signals

We study positioning of high-speed trains in 5G new radio (NR) networks ...

Probabilistic Time of Arrival Localization

In this paper, we take a new approach for time of arrival geo-localizati...

Towards Large-Scale Relative Localization in Multi-Robot Systems with Dynamic UWB Role Allocation

Ultra-wideband (UWB) ranging has emerged as a key radio technology for r...

Time Difference on Arrival Extraction from Two-Way Ranging

Two-Way Ranging enables the distance estimation between two active parti...

Characterizing the Impact of SNR Heterogeneity on Time-of-Arrival based Localization Outage Probability

In localization, an outage occurs if the positioning error exceeds a pre...

Cooperative Multi-Point Vehicular Positioning Using Millimeter-Wave Surface Reflection (Extended version)

Multi-point vehicular positioning is one essential operation for autonom...

I Introduction

The term tof refers to a class of methods which calculate distances by measuring propagation time of signals. When measuring tof there are two main approaches to determine positions, toa and tdoa. The most relevant approaches include sds-twr [hach_ss_twr], asym-ds-twr [alternative_twr], Whistle [Whistle], dpw [dpw] and the method published by anti_whistle which we will refer to as djkm.

All those methods are developed for specific setups. For example, some methods assume that the devices which are located are only capable to send signals (Whistle, dpw) or, vice versa, can only receive data (djkm). Another important difference is that some methods have been developed for sound signals (e.g. Whistle) or radio signals (e.g. dpw, djkm). The methods have all in common that no clock synchronization between devices is needed.

We have conducted a detailed analysis of those methods in a different publication [analysis_paper]. While this paper is independent and self contained we recommend the lecture of that other work as an overview of the state-of-the-art of tof methods.

One major drawback of the aforementioned methods is that they all need clearly defined roles of devices, e.g. there have to be Anchors with known positions which locate so called Tags. This restricts the ability to support infrastructureless-positioning, i.e. positioning without pre-defined roles or with changing roles. This makes it impossible for existing tdoa methods to determine relative positions between Nodes in scenarios where all devices are mobile.

Those scenarios include swarms of search and rescue drones, indoor navigation for firefighters and autonomous vehicle coordination.

This work is presenting a new method which can be seen as a generalization of the aforementioned methods in the sense that all existing methods can be derived from the proposed scheme. Our method, called dpp, can simultaneously perform toa and tdoa. Even without any clock synchronization the errors induced by clockdrift are negligible. We show that our method outperforms the existing methods in terms of accuracy, flexibility and channel-utilization in almost all situations.

The rest of the paper is structured as follows. We introduce the new method and show how the other methods can be derived from it (Section II). The clock errors are analyzed and compared with other methods in Section III followed by the evaluation of dpp in Section IV. The work is concluded with a conclusion and future work.

Ii DPP System Overview

For the following definitions, we assume that any access to the tof signal channel is coordinated by side communication channels (e.g. Wifi), and thus collisions (through simultaneous transmissions) are avoided. Also we assume that the Nodes can exchange information over a side channel.

We consider the devices’ clocks as imperfect with a typical clock drift accuracy of ppm. That means, we can not assume the devices to be synchronized nor to be running on one exact frequency. The only assumption we make over the device clocks is that their drift remains constant during one measurement cycle.

Ii-a Formal Definitions

As outlined in Section I, we are not differentiating between Anchors, Tags, Mirrors or such. Instead, all devices are represented as Nodes where each Node element is an element from the set of all Nodes . We define a function where is a Node and is a timestamp, that returns the cartesian coordinate of the Node at time . As a simplification, we write to refer to the current position of a Node. Further, we define that a System of Nodes is a subset of the available Nodes ().

A Node is further classified as one of three types:

  • Passive Nodes:
    Nodes which are only capable of receiving data and never transmit something

  • Active Nodes
    Nodes which are only capable of transmitting data and never receive something

  • Bilateral Nodes
    Nodes which are capable of receiving and transmitting data

This differentiation makes up a partitioning of: :

We define to be the speed of the signal used when transmitting between Nodes (e.g., speed of light). The tof between Nodes is defined as the euclidean distance between them divided through the signal velocity:

It follows that:

The tdoa between two Nodes in relation to signal source is, under the previous definition of Nodes, defined as:


In this document, representative Systems are sometimes selected as examples to visualize certain positioning scenarios. When Node Systems are presented in a figure, we use the following symbols:

  • Passive Nodes are labeled as and indexed individually by their suffix

  • This counts equivalently for Active () and Bilateral Nodes ()

  • Nodes with a known position (e.g., infrastructure mounted or Anchor devices) are depicted with a circle surrounding them

Ii-B DPP Operation Procedure and Message Diagram

The general operation-procedure of a dpp-Node-System is the following:

  • All of the Nodes in sequentially (turn-based) transmit two messages (Double Pulse)

  • All Nodes in listen constantly for any incoming messages

When each Active and Bilateral Node has communicated at least once, a so-called Cycle is completed. Fig. 1 shows an extract from such a sequence, and this way describes the different types of gathered measurements.

Figure 1: Double Pulsed Positioning (general message diagram extract)

Each receiving timestamp is labeled as , where is the Node receiving, the Node transmitting, and is the index of the signal of this combination of receiver and sender in the current cycle. Similarly, the transmission timestamps are labeled as , where is the transmitting Node and is the index of that Node’s transmission in the current cycle with typically in the range of .

Ii-C TDoA Value

In the following, we derive a formula to calculate tdoa values based on the values generated by the dpp operation model (II-B).

When comparing the schematic Figures in this paper with dpw [dpw], we can see that some subsets of the message diagram resemble dpw schemes. That allows us to apply the tools provided by dpw to our measurements.

Depending on the operating modes of the Nodes (), up to two dpw sub-schemes can be derived from the situation shown in the diagram (Fig. 1). That is possible since the order of pulse and mirror is not fixed in dpw [dpw]. The signals of could therefore either be seen as a mirror-reply, or as a pulse to (potentially) capturing and . Vice-versa the signals of can be interpreted as pulse or as mirror-reply to and . Both sub-schemes are illustrated in Fig. 2. Attention, mind the different ordering of the Nodes compared to the original dpw paper.

(a) pulsing and “mirroring”
(b) pulsing and “mirroring”
Figure 2: dpw sub-schemes in dpp protocol extract example (pulse: orange/thick, mirror: green/regular)

We assume that in a System, operating in dpp-mode, any Node triple of the following form generates novel input information for a dpw calculation:

First we define the timespans we would measure with any such triple.


with being arbitrary but constant. It determines which of the two mirror-replies should be used for the dpw calculation. The choice of the pulse does not make a difference in theory. However, it can be used in practice to reduce the error. Such a reduction can be done for example by averaging results that are based on different

s. Such a processing step can reduce the gaussian distributed measurement errors that might affect the

mirror-replies’ timestamps.

Note that all lines except (2) and (3) contain measurement input from all three Nodes. This shows that they are dependent on them. Displaying this relationship motivates the difference in notation.

We then define compound variables for those measurements:


Using the findings of dpw [dpw] we can use those measurements in combination with knowledge over to calculate the tdoa value :


Equation 8 can finally be used to calculate the tdoa values of dpp.

Ii-D ToA Value

In the following, we derive the formula which can be used to calculate toa values based on the values generated by the dpp operation model (II-B).

As we did with dpw, we can also identify up to two asym-ds-twr schemes in the transmission diagram (Fig. 1). This becomes evident when inspecting an extract of the diagram and restructuring the visual representation as seen in Fig. 3. When assuming the role distribution , we can spot the two possible asym-ds-twr measurements we can take.

Figure 3: dpp extract with two twr paths outlined (green(solid) & orange(dashed))

Therefore, when performing dpp on a System of Nodes, any Node tuple fulfilling,

generates new input data for an asym-ds-twr calculation (comp. [alternative_twr]). Note that the Nodes generating this twr input could simultaneously generate the mentioned dpw input.

For such a tuple the timespans measured can be expressed as follows:

is assumed arbitrary but constant. It determines which of the possible ds-twr paths to use. As with the in the tdoa derivation earlier (gaussian distributed) measurement errors, that affect the ds-twr paths timestamps, can potentially be reduced.

Using the findings of [alternative_twr] it follows:


Equation 11 is the final formula to calculate the distance between node and . This means we can calculate the tof between two Bilateral Nodes and using only the measurements gathered in the regular dpp operation cycle (II-B).

Iii Error Analysis

In the following, we analyze dpp for its conditioning towards errors.

It is well known that clocks, or more precise the oscillators they are based on, in general contain imperfections [allan1987time]. That means that not even the highest quality clocks can be trusted with perfect timekeeping. Since tof-based methods rely on measurements of signals propagating with very high speeds such as the speed of sound, or the speed of light , these imperfections pose a major problem regarding the accuracy of the localization.

As mentioned in Sec. II-A we assume a clock drift of ppm which is a typical value for crystal oscillators in the industry [jiang2007asymmetric]. We model the clock drift by defining a worst case drift value for every device () clock separately: .

Iii-a TDoA Value Error

Since we deduced all our tdoa values based on the exact method described in dpw [dpw], we can conduct the error estimation in a very similar way.

First, the erroneous values are defined:


Then using (4), (5) and (6) it follows:

Where and designate the error with the calculation method (5) or (6). While represents the erroneous value resulting with application of the combining transformation from (7).

The overall worst-case error in the Node combination is then the difference between the true and erroneous value:


Consequently, the overall tdoa error follows:

We then add and subtract :

The maximal value can take on is apparently (that is the maximal difference of arrival time). Therefore we can assume , from what follows:


Which aligns with the error estimations from dpw [dpw]. That means that the tdoa value of the dpp method has the same worst case (clockdrift induced) error as dpw.

Iii-B ToA Value Error

We used the findings of the aysm-DS-twr to calculate the distance values between two Bilaterals (II-D). We can therefore apply the same method for its error estimation. For all the dpp-method-term calculating (11) is besides a renaming () equivalent to the one described in the works of alternative_twr. Therefore we can apply the same transformations to (11), which results in the error estimate:


Therefore the toa (clock drift induced) error of dpp is equivalent to the one of asym-ds-twr

Iii-C Error Analysis Summary

We can, therefore, estimate that the error each measurement can be characterized as:


In comparison with the worst-case error estimated of compared methods [dpw, alternative_twr, hach_ss_twr, Whistle, anti_whistle] the proposed method is always at least as well (error) conditioned as the compared ones.

The detailed and unified analysis and comparision of the errors of [dpw, alternative_twr, hach_ss_twr, Whistle, anti_whistle] can be found in our other publication [analysis_paper].

Finally, it is noted that the equality stated in (18) does not necessarily translate for its errors. In other words, does not need to be equal to as they depend on different clocks. One depends on and the other on .

Iv Evaluation of DPP

In the following, we analyze how dpp is related to other tof method in the literature and how its tdoa and toa calculation is improving existing methods..

Iv-a Relation to other tdoa methods

We can then extend and re-arrange (8) with (1):


Those equations can be interpreted as follows: With knowledge of one distance between either or we can use the measurement to calculate the tdoa value respectively .

If we compare the roles of the Nodes in the setup ( and ) we can make two observations:

djkm can be derived

We look at the case , and , rename and remove the secondary pulses. Renaming is valid w.l.o.g. here as the capabilities of the Nodes we rename to include the capabilities we rename from.

Now the setup exactly resembles the djkm method [anti_whistle]. In addition, our complete dpp setup calculates the same tdoa information as djkm (comp. (15)) would.

dpw can be derived

As already mentioned, dpw schemes can be derived from the dpp scheme. In the case , and this is achieved by renaming and removing the second pulse from . Then this sub-scheme exactly resembles dpw (comp. [dpw]). Further, we calculate with dpp the exact same tdoa information (compare (8)) as the dpw that was derived would.

For the particular case we can also deduce:


This value seems to be neither of the type toa nor tdoa and is therefore of particular interest for acquiring a deeper understanding of the relation between toa and tdoa. Nonetheless an analysis of the properties of this value would be out of the scope of this work and is subject to future work.

For the special case it can be shown that:


This follows directly from (4) and shows the symmetry between the two values in (18)

Iv-B Accuracy Improvement

For situations in which we try to position a Passive Node the only known applicable method until now was djkm (inv-Whistle). With dpp, there is now a new method for such situations. djkm has in those cases a worst case tdoa error of:


The worst case tdoa error of dpp was previously shown (in Section III-A) to be:


is typically in the order of magnitude of milliseconds. It is usually many orders of magnitudes larger than , which is typically in the order of magnitudes of nanoseconds. Consequently, the accuracy of dpp is orders of magnitudes higher. This improvement can be attributed to the additional second pulse of dpp compared to djkm. In situations where dpw or twr are applicable, we have shown that dpp has the same worst-case error estimates (III-A and III-B).

Iv-C Efficient Mobile Positioning

dpp solves the problem of mobile positioning by performing toa and tdoa simultaneously. That way we only require a minimum of three Bilateral Nodes in our System to position the whole System. In practice, we recommend the use of four Bilateral Nodes for error correction.

Figures Fig. (h)h and Fig. (g)g show those two minimalistic examples of the new class of positioning situations that becomes available now. The positioning is achieved by first using the toa values between the Bilateral Nodes to establish their relative positions and then using that information for tdoa-based positioning of the remaining Nodes.

Iv-D New Cases

dpp further allows addressing some situations that could not be positioned by one existing method alone. We present some example of such setups:

Iv-D1 More Flexible Positioning of a Passive Node

Until dpp the only method which could be used to position a Passive Node was djkm. To generate tdoa-values for a Passive Node, djkm requires an infrastructure of Bilateral Nodes [anti_whistle]. dpp allows in such cases for other, more flexible device roles in the infrastructure.

For example the minimal setup to create three individual tdoa values for a Passive Node using djkm is depicted in Fig. (a)a. For dpp, the setups in figs. (c)c, (h)h, (b)b and (a)a are all sufficient constellations.

Concerning the tdoa solution engine, for practical reasons it is often even required to generate four tdoa values in order to position a Node sufficiently. Also for this requirement, dpp is an improvement. While dpp can be used to calculate four tdoa values in figs. (f)f, (g)g and (e)e, djkm will only work for the first case.

(a) Positioning one Passive Node using three Bilaterals (fixed)
(b) Positioning one Passive Node using two Bilaterals and one Active (fixed)
(c) Positioning one Passive Node using three Active and one Bilateral (fixed)
(d) Positioning one Active Node using three Passive and one Bilateral (fixed)
(e) Positioning one Passive Node using four Bilaterals (fixed)
(f) Positioning one Passive Node using four Active and one Bilateral (fixed)
(g) Positioning one (or more) Active or Passive Node using four mobile Bilaterals
(h) Positioning one (or more) Active or Passive Node using three mobile Bilaterals
Figure 4: Example Node Systems demonstrating the advantages of DPP

Iv-D2 Mixed Tag Roles

All of the earlier presented known methods are limited to the one type (Active, Passive, Bilateral) of Tag they are positioning. With dpp, this restriction does not apply anymore. dpp allows for the combination of Active, Passive, and consequently Bilateral Tags to be positioned in the same operation cycle.

Iv-D3 Gathering of TDoA and ToA values

Next to djkm, dpp is the only method known to us, which generates toa and tdoa values simultaneously. Moreover we have shown that djkm has a worst-case error larger than dpp.

Iv-E Improved Performance

Another benefit which comes with the generalization of tdoa and toa methods into dpp is a reduction in redundancy. dpp uses in almost all cases equal or very often even fewer messages to gather the same set of measurements as the existing methods.

Iv-E1 Improvement Compared to DPW

dpw requires to send three messages for every combination of Tags and Mirrors in the System [dpw]. For a given amount of Mirrors and Tags dpw needs at least messages for a complete operation cycle, where :

For instance, dpw needs signals when operating on the System displayed in Fig. (d)d.

dpp requires for its operation to send two signals from every Active or Bilateral Node in the System. In comparison to dpw, dpp does require signals to operate one complete cycle on the same setup in Fig. (d)d.

In general, the amount of signals required by dpp () for a system with Actives (“Tags”) and Bilaterals (“Mirrors”) is:

Even if we set “mirror-count” which resembles the situation in dpw, it is apparent that with an increasing number of Tags, dpp requires less signals to locate the same amount of Tags, due to the fact that

While the output of tdoa values generated are the same for both methods, dpp simultaneously yields toa values and the new value type from (17).

It can be assumed that the situation (or even ) rarely occurs in real-world scenarios. Therefore in almost all realistic Node setups, the application of the dpp scheme improves a setup that was previously operated on the dpw scheme in terms of sent Nodes/signals.

Iv-E2 Performance Improvement Against DJKM

When comparing dpp with djkm, one has to bear the mentioned difference in accuracy (Sec. IV-B) in mind. However, even leaving this advantage aside, dpp outperforms djkm.

To substantiate that statement, one has to realize the operation principle of djkm as it is defined in the original paper [anti_whistle]. djkm specifies a distinct order after which Anchors should communicate with each other. This coordination is necessary to avoid collisions on the transmission medium. This specific order consists of two rounds. To describe the ordering, we consider our set of Anchors as an ordered list.

First Round

In the first round, as described in [anti_whistle] each Anchor performs communication with its successor in the list. This process starts with the first Anchor in the list and ends with the last one. For example, the first Anchor interacts with the second, then the second interacts with the third, and so on.

Second Round

In the second round, only Anchors with an uneven index in the list communicate in the same sequential order with each other. Again, this starts with the first Anchor and ends with the last uneven Anchor. For example the first interacts with the third, then the third with the fifth, and so on.

This sequential chain of communicating Anchors can be reduced as shown in Fig. 5.

Figure 5: djkm with Anchor message re-use

In this Figure, the first message emitted by is used to initialize the djkm communication with the new Anchor device . From s perspective, this signal is still a reply in and ’s djkm communication. For this signal resembles the initial message in and ’s djkm communication. That way, the exchange of one signal can be saved whenever an Anchor has a predecessor since we can then reuse its reply message to the predecessor as the initial message for its successor. Note that the first Anchor in the list still has to transmit its initial message.

The number of signals () transmitted in one operation Cycle can therefore be calculated depending on the number of Anchors ():


Where and are the numbers of signals transmitted in the first and second round.

The djkm System which uses the least amount of signals for gathering three tdoas is shown in Fig. (a)a. According to the formula derived, the amount of packages transmitted in this scheme is:

When using dpp, according to (IV-E1) this exact setup takes only signals to finish the dpp cycle. According to IV-A, it produces the exact same tdoa values.

In general, the signal requirements of every setup can be optimized by switching the scheme of operation from djkm to dpp.

That can be argued as follows. A System of Anchors/Bilaterals and Tags/Passives operating on djkm requires (23) signals. dpp requires for the exact same setup only signals. See (IV-E1).

Furthermore, dpp allows us in many situations to use Active instead of Bilateral Nodes while achieving the same result as djkm would with all Nodes being bilateral. For instance (b)b will yield in one dpp cycle the values and additionally . Applying (8) and (1), the resulting equation-set,

can then be transformed to

Under knowledge of the circled Nodes positions, this gives the tdoa values and . djkm would result in Fig. (a)a, a fully bilateral infrastructure with the measurement set , which is isomorphic.

The shown relaxation of restrictions does not only simplify the construction of positioning infrastructure. It also reduces the energy consumption of the whole network. That reduction roots in the fact that the energy consumption of radios that are commonly used for tof is in practice orders of magnitudes larger when operating in RX mode rather than in TX [dw_power_consumption].

Iv-E3 Bilaterals

Bilateral Nodes can be interpreted as operating active and passive at the same time. It was already mentioned in Sec. IV-D2 that both types of Tags get processed in the same cycle when using dpp. This way, the preceding two paragraphs both apply simultaneously to any Tag with type Bilateral, generating the discussed tdoa values. That information can be used as input for a tdoa solver.

At the same time we already discussed that any pair of Bilaterals yields a toa value through asym-ds-twr when performing dpp. Again, this measurement comes at no additional performance cost as the same signals get used for twr, dpw, and direct values at the same time. While the authors of djkm mention that their System does measure toa values between the Anchors, this does only work for certain pairs of Anchors [anti_whistle]. It also does not work for Tag-Nodes with the role active or bilateral.

V Conclusion and Future Work

In this work we presented a novel tof method, capable of tracking the relative positions of a large number of devices without the need for a fixed infrastructure. It is capable of collecting tdoa and toa values simultaneously (tdoa: (8) and toa: (11)).

We have proven our method to be more flexible, accurate, and efficient than existing methods.

Our tof positioning is therefore suitable for applications such as swarm drone coordination, Indoor Navigation/Guidance, and autonomous driving.

Since we excluded the side channel communication between the nodes from our analysis, future work has to include the protocol overhead for coordination of the pulses of Active Nodes for a realistic implementation of the proposed method.