array_processing.algorithms.srcLoc module

array_processing.algorithms.srcLoc.srcLoc(rij, tau, nord=2, seedXY_size=0.05, seedV_size=0.3)[source]

Estimate a geographical source location and propagation velocity for an event recorded on an array of sensors.

Parameters:
  • rij(d, n) array; n array coordinates as [easting, northing, {elevation}] column vectors in d dimensions
  • tau(n*(n-1)/2, ) array; unique inter-sensor TDOA information (delays)
  • nord – Order of the norm to calculate the cost function (default is 2 for the usual Euclidean \(L^2\) norm)
  • seedXY_size (float) – Geographic seed value
  • seedV_size (float) – Propagation velocity seed value
Returns:

Tuple containing:

  • Sxyc(d+1, ) array; optimized source location as geographic coordinates (same as the columns of rij) and propagation speed
  • Srtc(d+1, ) array; optimized source location as [range, azimuth, {elevation}, propagation speed]

Return type:

tuple

Notes

This is a Pythonic method for srcLoc that might’ve been dubbed srcLocLite. It takes a naïve approach to the seed, ignoring Dr. Arnoult’s spacetime approach, but takes into account the quirks of the Nelder-Mead optimization and produces a fairly good (if not great) facsimile of the MATLAB version.