Table of Contents
Introduction
This is the second post in a series about TDoA. The previous post covers the geometry of hyperbolas and their branches so check that out first if you need a refresher.
Note that in this and subsequent posts, I'll be using the following convention:
- Distances will be measured in light-milliseconds (lmsec).
- Time will be measured in milliseconds (msec)
- The speed of light will be 1 light-millisecond per millisecond.
I like this convention for a couple reasons:
It conveniently blurs the distinction between distances and times:
- A radio signal travels $x$ lmsecs in $x$ msecs.
- It takes $y$ msecs for a radio signal to travel $y$ lmsecs.
The scale of the things we're interested in falls into a nice range:
- The approximate size of a Maidenhead square (like "DM42") is 1 lmsec.
- The approximate circumference of Earth is 134 lmsecs.
- The resolution of time measurements in WSJT-X is about 5 msecs (but this won't be important until some future post).
Scenario 1: Two Receiver Stations
Description
In this simple scenario we have:
- There are two receiving stations, $R_A$ and $R_B$, both at known locations.
- The clocks of $R_A$ and $R_B$ are synchronized, for example to GPS time.
- There is one sending station, $S_U$, at an unknown location.
- $S_U$ begins sending a message at time $T_U$.
- $R_A$ and $R_B$ begin receiving the message at times $T_{UA}$ and $T_{UB}$, respectively.
Analysis
If we say that the propagation durations from $S_U$ to $R_A$ and $R_B$ are $P_{UA}$ and $P_{UB}$, respectively, then we have two simultaneous equations:
- $P_{UA} = T_{UA} - T_U$
- $P_{UB} = T_{UB} - T_U$
Subtracting the second from the first, gives us:
- $P_{UA} - P_{UB} = T_{UA} - T_{UB}$
Note that $T_U$ is now gone which is good because we have no way of obtaining that value - we can't know exactly when $S_U$ decided to begin sending because we are not assuming any cooperation from it. What remains is an equation that tells us that the difference in propogation durations is equal to the difference in times of arrival.
Keeping in mind that propagation durations are directly proportional to the distance between sender and receiver, we can also say this:
- $\overline{S_U R_A} - \overline{S_U R_B} = T_{UA} - T_{UB}$
Finally, recall that the geometry of hyperbola branches tells us that the difference in distances is the constant $M$ which identifies a branch. Put it all together and we get:
$M = T_{UA} - T_{UB}$
Note that this equation is subtracting a time $T_{UB}$ reported by $R_B$ from a time $T_{UA}$ reported by $R_A$. This operation is only meaningful if the clocks of $R_A$ and $R_B$ are synchronized which is why synchronization was specified as part of the scenario's description. TDoA always requires that the clocks at receiving stations are synchronized.
Visualization
Having determined the value of $M$ which identifies a particular branch, the following figure illustrates what we can say about $S_U$: We have reason to believe that it's on the $M$ branch but we don't know where on that M branch.
Applications
This seems like a limited result but it can be used to validate reported locations. For instance, if $S_U$ reports a location that puts it on or near the $M$ branch then it's reasonable to believe that the location they're reporting is valid.
Scenario 2: N Receiving Stations
Description
Scenario 2 is nothing more than multiple copies of Scenario 1, combined.
Analysis
The analysis is the same as in Scenario 1 but we will end up with more branches. If there are $N$ receivers there will be $N(N-1)/2$ pairs, each identifying a branch in its own family.
Visualization
Let's visualize an instance with $N=3$ which will have 3 receiving stations, 3 pairs, and 3 branches.
At this point, we should also face the fact that there always will be some error in these measurements and that they will be reflected in our calculations and visualizations. In the following figure, the errors manifest as the branches not quite exactly intersecting at one single point, as they would in the ideal case. However, we can still clearly see that these three branches come close to intersecting in a small region and it is reasonable to assume that $S_U$ is located in or near that region.
As $N$ increases $N(N-1)/2$ increases quite quickly. An instance with $N=4$ will have 4 receiving stations, 6 pairs and 6 branches.
Applications
With higher $N$ values, we see that it is possible to determine the approximate location at which a sending location is located.
Learn More and Try It Out
RTL-SDR.com posted an article titled "KiwiSDR TDoA Direction Finding Now Freely Available for Public Use" back in 2018. Many of the links in the article are now dead but, as of 2024, the sites referenced still exist - you just need to Google for them.
Conclusion
In the next post, we'll investigate the question of whether or not there's a way to perform TDoA without the need to synchronize the clocks of the receiving stations. Spoiler: There is, and I call it "Difference of TDoA" or "DoTDoA".
73s