I'm not entirely certain, but I think this forum is most appropriate for this question.

I know the location of three observers. A nearby source, who's location is unknown emits a beam of radiation at an unknown time. I know the time at which each observer "saw" the radiation, and I also know the propagation speed of the beam (namely, the speed of light).

Is there a way to determine the location of the source? Or, perhaps, to determine some bits of information about it's location (its direction, etc)? I've been doing some research into multilateration techniques, however I'm unable to find anything that solves this particular problem.


This seems to be similar to what I'm after: Multilateration Code

Namely, I want to code an algorithm that, given the timestamps and locations of the observers, can compute the location of many sources. However, the answers to the above question aren't particularly useful.

  • 1
    How many dimensions are you working in? Geometry on a sphere/ellipsoid or planar? Do you have an error model for your locations and timestamps?
    – Spacedman
    Aug 22 '20 at 8:39
  • @Spacedman sorry, I should've included this information. Two dimensions is fine for now. I'd like to use the WGS84 ellipsoid, however a planar is good enough if it means greatly simplifying the calculations. I do not have an error model.
    – user168936
    Aug 22 '20 at 20:58

In 2D space solution seems deceptively simple, because you have only 1 parameter to optimize, that is T0, i.e. time of radiation release. When this is known, one can compute distances, buffer points accordingly and accurately locate 'point' where all 3 buffers intersect. This is rather simple function for GIS in projected coordinate system:

enter image description here

Note that stations are labelled by time stamps in seconds and I used velocity equal 343 m/sec. Length of edges expressed in metres.

The tricky part is defining search interval for T0. I set upper interval very close to time minimum (6) and defined lower as 6 - (1036/343), i.e. used longest edge between stations expressed in seconds. These are results of test run within this range:

enter image description here

Values in column DISTANCE computed as minimum total of distances to two nearest neighbors for each intersection point, i.e. value to be minimized. GIS function also returns number of intersection pairs - third column. As one can see function has potentially more than 1 minimum, which makes it hard for optimization. However we can safely dismiss cases, where only one pair of intersections found, because it means that only 2 out of 3 buffers intersect each other. It makes function uni-modal. So I used colored values for search limits and golden section search solved task in 10 seconds. Minimum with centimetre positional accuracy was found at T0 = 5.2620 seconds.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.