Skip to content

Algorithm

Ben Baker edited this page Jun 15, 2018 · 14 revisions

The Algorithm

Multilateration is the underlying principle and in general is very simple. Imagine a simplified experiment with receivers placed in an infinite, homogeneous, acoustic medium. There is one source and the observed arrival at all receivers is a single impulse. It is then straightforward to identify the arrival time at any station and compute the differential travel-time for any station pair. Realize that an infinite number of sources can produce the observed differential travel-time. The consequence of the homogeneous model is that the candidate sources will be distributed along a hyperbola. Hence, the location algorithm proceeds by overlaying and summing many hyperbolas. The intersection of the hyperbolas generated from the differential travel-times in turn produces the event location.

Of course, differential travel-times and migration in homogeneous media is a bit too simplistic. Instead, the travel-time migration of processed correlograms is performed in arbitrarily heterogeneous media. Thus, what is really done under the hood is

  1. Phase-correlograms are computed for the all the differential arrival times. This is primarily handled by fdxc.F90.
  2. Then, the RMS averaging window or envelope of the phase-correlograms are computed. This is primarily handled by envelope.c.
  3. Finally, the processed phase-correlograms are migrated in the provided travel-time models. This is primarily handled by dsmxc.F90.

While this algorithm is quite simple and only requires a few lines of Python code the actual implementation is, regrettably, much more complicated because performance and parallelism are essential.

Clone this wiki locally