1

I have $3$ ground-based radio receivers (call them $i$, $j$, and $k$), with known coordinates $x_i,y_i,z_i$. A transmitter (call it $m$) with unknown coordinates $x(t)_m, y(t)_m, z(t)_m$, moving with unknown velocity $v$, emits radio signal pulses with known velocity $c$ at an unknown, varying rate.

We may assume that the transmitter is traveling in a straight line. We know nothing about its acceleration.

The ground-based receivers record the time of signal arrival at each receiver for each pulse. I'm able to sort through these timestamps, and "pair" them up. So, I have a table that looks something like this

+---------+------------+------------+------------+
| Pulse # | Receiver i | Receiver j | Receiver k |
+---------+------------+------------+------------+
|       1 |    1100.12 |    1100.27 |    1100.28 |
|       2 |    1101.24 |    1101.39 |    1101.41 |
|     ... |        ... |        ... |        ... |
+---------+------------+------------+------------+

I've just come up with some random values, for illustrative purposes


I'm then, of course, able to determine the rate at which pulses are emitted (which may or may not be useful in solving my problem... I think not).

My goal is to determine the velocity of the transmitter.


What I've tried.

I'm familiar with such approaches as the MUSIC algorithm, however these all rely on directional antennae (which my receivers are not), the frequency of the signal, etc, which I do not have.

My first thought was to use Time Delay of Arrival (TDoA) techniques to determine the transmitter location at each pulse, and then use this (coupled with the timestamps) to approximate velocity.

I've solved this problem before (finding the location of a transmitter in $3D$ space given time of signal arrival at $n$ stations) using $4$ stations, however, as far as I can tell, a single solution using only three receivers is not possible in $3D$.

I recently posted a similar question, an answer to which claims that one can solve for two points, one of which will be the actual transmitter coordinates, and one of which will be a reflection of that point across the plane of the receivers.

Unfortunately, when one attempts to actually solve this system (below), it quickly reduces to a singular matrix. I've tried various solvers (those provided by GSL, as well as a few provided by Python's SciPy and SymPy packages) to no avail. Anecdotally, in speaking with an applied maths prof., I was told that the given system cannot be solved (an answer to this question says likewise). In any case, I'll keep trying.

$$\sqrt{(x - x_i)^2 + (y - y_i)^2 + (z - z_i)^2} + c \cdot (t_j - t_i) = \sqrt{(x - x_j)^2 + (y - y_j)^2 + (z - z_j)^2}$$ $$\sqrt{(x - x_j)^2 + (y - y_j)^2 + (z - z_k)^2} + c \cdot (t_k - t_j) = \sqrt{(x - x_k)^2 + (y - y_k)^2 + (z - z_k)^2}$$ $$\sqrt{(x - x_i)^2 + (y - y_i)^2 + (z - z_i)^2} + c \cdot (t_k - t_i) = \sqrt{(x - x_k)^2 + (y - y_k)^2 + (z - z_k)^2}$$

Ideally, this should give two solutions, one of which is correct, which would be fine for my purposes


Since what I'm truly after is the velocity of the transmitter, I've created this question in hopes there's a better (perhaps simpler) way to accomplish this.

10GeV
  • 1,371
  • If you have matched times of arrival for $\ s\ $ signals at each of $\ r\ $ receivers with $\ r\ge2\ $ and $\ s\ge\frac{2r}{r−1}\ $, then I believe you should be able to obtain a small finite number of solutions for the times when, and the positions where, the signals were emitted. I suspect that the solution will be unique if $\ s\ $ is sufficiently large. – lonza leggiera Oct 24 '21 at 23:15
  • However, you say you know nothing about the transmitter's acceleration, which implies that it's velocity is not necessarily constant. If that's the the case I can't see how you could possibly determine anything more about the velocity than its average values between successive instants when the signals are transmitted. – lonza leggiera Oct 24 '21 at 23:16
  • @lonzaleggiera Thanks for the comments! Yes, I should've mentioned that the transmitter's acceleration is assumed to be negligible (i.e. its velocity is constant). – 10GeV Oct 25 '21 at 01:41
  • Ok. Then I think you can do it. But I was mistaken about being about being able to do it with only $2$ receivers. I now think you'll need at least $3$ non collinear receivers, and even then I think you'll always have at least two solutions which are reflections of each other in the plane containing the receivers. With $4$ non coplanar receivers, I believe it should be possible to obtain a unique solution. I'll have a go at fleshing out the details, and if it pans out, I'll post an answer. – lonza leggiera Oct 25 '21 at 02:13
  • There's one more ambiguity. If you only want the speed of the transmitter (i.e. the magnitude of its velocity), then I think you can get that with only two receivers. I believe you'll only need the extra receivers if you want to get the direction of the motion as well. – lonza leggiera Oct 25 '21 at 02:32
  • @lonzaleggiera Finding the speed would be sufficient, however (ideally) I'd like to determine the direction, as well (in any case, I'd be interested in learning how to determine the speed with two receivers, as well as the speed & direction using additional receivers). Thanks again! – 10GeV Oct 25 '21 at 03:21

1 Answers1

2

Let the velocity of the transmitter be $\ \mathbf{v}\ $, the times at which it emits $\ T\ $ radio pulses be $\ t_1, t_2,\dots, t_T\ $, and its position at time $\ t=t_1\ $ be $\ \mathbf{x}_0\ $. All these quantities are unknown.

Let the positions of the $\ R\ $ receivers be $\ \mathbf{p}_r, r=1,2,\dots,R\ $ and the time when the $\ i^{\,\text{th}}\ $ pulse arrives at the $\ r^{\,\text{th}}\ $ receiver be $\ a_{ir}\ $. All these quantities are known.

The position of the transmitter at time $\ t\ $ will be $\ \mathbf{x}_0+\mathbf{v}\big(t-t_1\big)\ $, so the distance between the transmitter and the $\ r^{\,\text{th}}\ $ receiver at the time when it transmits the $\ i^{\,\text{th}}\ $ pulse will be $\ \big\|\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big\|\ $. The time the pulse will take to travel this distance is $\ c^{-1}\big\|\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big\|\ $, therefore it will arrive at the $\ r^{\,\text{th}}\ $ receiver at time $\ t_i+$$c^{-1}\big\|\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big\|\ $, which we know to be $\ a_{ir}\ $. Therefore, \begin{align} (1)\hspace{1em}c\big(a_{ir}-t_i\big)&=\big\|\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big\| \end{align} for $\ i=1,2,\dots,T\ $ and $\ r=1,2,\dots,R\ $. Squaring this gives \begin{align} (2)\hspace{1em}c^2\big(a_{ir}-t_i\big)^2&=\big\|\mathbf{v}\big\|^2\big(t_i-t_1\big)^2+2\big(t_i-t_1\big)\big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle+\big\|\mathbf{x}_0-\mathbf{p}_r\big\|^2\ . \end{align} In these equations, we can take $\ t_i,\ $$i=1,2,\dots,T\ $, $\big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle,\ $$\big\|\mathbf{x}_0-\mathbf{p}_r\big\|^2,\ $$r=1,2,\dots,R\ $, and $\ \big\|\mathbf{v}\big\|^2\ $ as the unknown real numbers whose values we need to recover. There are a total of $\ T+2R+1\ $ of these, and we have $\ TR\ $ equations available to determine them, so if $\ TR\ge T+2R+1\ $, then there should only be a small finite number of solutions. If $\ R\ge2\ $, this will be true if and only if $\ T\ge\frac{2R+1}{R-1}\ $. For $\ R=2\ $, $\ T=5\ $ will be enough to achieve this, while for $\ R=3\ $, $\ T=4\ $ will suffice.

Even if one of these conditions is satisfied, there's unlikely to be a convenient formula for the solutions, but it should be possible to obtain good approximations to them by a numerical algorithm, such as the Newton-Raphson method, for instance. When the system of equations is overdetermined $\big($that is, $\ TR>T+2R+1\ $, and all the equations are $\text{used}\big)$, it will, in practice, have no exact solution anyway, because imprecision in the measurements of $\ a_{ir}\ $ means that the values we have for them are only approximations. In this case, the Newton-Raphson method will find the values of the unknown quantities that minimise the sum of squares $$ \sum_{i=1}^T\sum_{r=1}^R\Big(c^2\big(a_{ir}-t_i\big)^2-\big\|\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big\|^2\Big)^2\ . $$ Once we have determined the values of all the unknown quantities, we can obtain the speed of the transmitter by taking the square root of $\ \|\mathbf{v}\|^2\ $, and we can try to use the now known values of $\ \|\mathbf{v}\|,$$\,\big\|\mathbf{x}_0-\mathbf{p}_r\big\|^2$ and $\ \big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle\ $ to recover possible values for $\ \mathbf{x}_0\ $ and $\ \mathbf{v}\ $.

However, when $\ R=2\ $, and $\ U:\mathbb{R}^3\rightarrow\mathbb{R}^3\ $ is any rotation about the line through $\ \mathbf{p}_1\ $ and $\ \mathbf{p}_2\ $, then $\ U(\mathbf{x})=\mathbf{u}_0+\Theta\,\mathbf{x}\ $ for some orthogonal matrix $\ \Theta\ $ with $\ \mathbf{p}_r-\Theta\mathbf{p}_r=\mathbf{u}_0\ $ for $\ r=1,2\ $ $\big($because $\ U(\mathbf{p})=\mathbf{p}\ $ for all points $\ \mathbf{p}\ $ lying on the line through $\ \mathbf{p}_1\ $ and $\ \mathbf{p}_2\ \big)$, and \begin{align} \big\|\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big\|&=\big\|\Theta\big(\big(t_i-t_1\big)\mathbf{v}+\mathbf{x}_0-\mathbf{p}_r\big)\big\|\\ &=\big\|\big(t_i-t_1\big)\Theta\mathbf{v}+\Theta\mathbf{x}_0-\Theta\mathbf{p}_r\big\|\\ &=\big\|\big(t_i-t_1\big)\Theta\mathbf{v}+\Theta\mathbf{x}_0+\mathbf{u}_0-\mathbf{p}_r\big\|\ . \end{align} Thus, if $\ \mathbf{v}\ $,$\ \mathbf{x}_0\ $ and $\ t_i\ $, $\ i=1,2,\dots,T\ $, is any solution for the system of equations $(1)$, then so is $\ \mathbf{v}'=\Theta\,\mathbf{v}\ $, $\ \mathbf{x}_0'=\Theta\,\mathbf{x}_0+\mathbf{u}_0\ $ and $\ t_i\ $, $\ i=$$1,2,$$\dots,T\ $. Thus, with only two receivers it's impossible to recover $\ \mathbf{v}\ $ or $\ \mathbf{x}_0\ $ completely. Nevertheless, with a sufficient number of received pulses, the speed $\ \|\mathbf{v}\|\ $ of the receiver should still be uniquely determined.

When $\ R=3\ $, and $\ \mathbf{p}_1$, $\mathbf{p}_2$, $\mathbf{p}_3\ $ are not collinear, we will have known values $\ v=\|\mathbf{v}\|\ $, \begin{align} d_r&=\big\|\mathbf{x}_0-\mathbf{p}_r\big\|\ ,\ \text{and}\\ e_r&=\big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle \end{align} for $\ r=1,2,3\ $. Since $\ \mathbf{p}_3-\mathbf{p}_1\ $ and $\ \mathbf{p}_3-\mathbf{p}_2\ $ are linearly independent, we can solve the linear equations \begin{align} d_3^2-d_1^2-\big\|\mathbf{p}_3\big\|^2+\big\|\mathbf{p}_1\big\|^2&=2\big\langle\mathbf{p}_1-\mathbf{p}_3,\mathbf{x}_0\big\rangle\\ d_3^2-d_2^2-\big\|\mathbf{p}_3\big\|^2+\big\|\mathbf{p}_2\big\|^2&=2\big\langle\mathbf{p}_2-\mathbf{p}_3,\mathbf{x}_0\big\rangle \end{align} to obtain $\ \mathbf{x}_0=\mathbf{a}+\lambda\mathbf{u}\ $, where $\ \mathbf{u}\ $ is a unit vector perpendicular to $\ \mathbf{p}_3-\mathbf{p}_1\ $ and $\ \mathbf{p}_3-\mathbf{p}_2\ $, $\ \mathbf{a}\ $ a known point lying in the plane of $\ \mathbf{p}_1$, $\mathbf{p}_2$, and $\mathbf{p}_3\ $, and $\ \lambda\ $ a real parameter whose value must be either $\ \sqrt{d_1^2-\big\|\mathbf{a}-\mathbf{p}_1\big\|^2}\ $ or $\ {-}\sqrt{d_1^2-\big\|\mathbf{a}-\mathbf{p}_1\big\|^2}\ $. If $\ e_r\ $ is value recovered for $\ \big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle\ $ from the numerical solution of the system of equations $(2)$, then for each of the two possible values $\ \mathbf{a}\pm\Big(\sqrt{d_1^2-\big\|\mathbf{a}-\mathbf{p}_1\big\|^2}\Big)\mathbf{u}\ $ of $\ \mathbf{x}_0\ $, we can now solve the linear equations $$ e_r=\big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle $$ for $\ r=1,2,3\ $ to obtain the corresponding value of $\ \mathbf{v}\ $. The solution of either of these systems will always be the reflection of the solution of the other in the plane of $\ \mathbf{p}_1$, $\mathbf{p}_2$, and $\mathbf{p}_3\ $.

lonza leggiera
  • 28,646
  • 2
  • 12
  • 33
  • Thanks for the excellent answer! I've awarded the bounty. One question-- I don't entirely follow the end of the second half of your answer. What is $e_r$? – 10GeV Nov 02 '21 at 00:11
  • The scalar products $\ \big\langle\mathbf{v},\mathbf{x}_0-\mathbf{p}_r\big\rangle\ $ are (originally) unknowns whose values you recover when you solve the system of equations by whatever numerical method you choose to use. The $\ e_r\ $ are just those recovered values. – lonza leggiera Nov 02 '21 at 00:34
  • I've now added this clarification to the answer. – lonza leggiera Nov 02 '21 at 02:39