Collecting snapshots

API references

doatools.model.snapshots.get_narrowband_snapshots(array, sources, wavelength, source_signal, noise_signal=None, n_snapshots=1, return_covariance=False)[source]

Generates snapshots based on the narrowband snapshot model (see Chapter 8.1 of [1]).

Let \(\mathbf{A}\) be the steering matrix, \(\mathbf{s}(t)\) be the source signal vector, and \(\mathbf{n}(t)\) be the noise signal matrix. Then the snapshots received at the array is given by

\[\mathbf{y}(t) = \mathbf{A}\mathbf{s}(t) + \mathbf{n}(t), t = 1, 2, ..., N,\]

where \(N\) denotes the number of snapshots.

Parameters:
  • array (ArrayDesign) – The array receiving the snapshots.
  • sources (SourcePlacement) – Source placement.
  • wavelength (float) – Wavelength of the carrier wave.
  • source_signal (SignalGenerator) – Source signal generator.
  • noise_signal (SignalGenerator) – Noise signal generator. Default value is None, meaning no additive noise.
  • n_snapshots (int) – Number of snapshots. Default value is 1.
  • return_covariance (bool) – If set to True, also returns the sample covariance matrix. Default value is False.
Returns:

Depending on return_covariance.

  • If return_covariance is False, returns the snapshots matrix, \(\mathbf{Y}\), where each column represents a snapshot.

  • If return_covariance is True, also returns sample covariance matrix, which is computed by

    \[\mathbf{R} = \frac{1}{N} \mathbf{Y} \mathbf{Y}^H.\]

References

[1] H. L. Van Trees, Optimum array processing. New York: Wiley, 2002.