WAVES

class pyroomacoustics.doa.waves.WAVES(L, fs, nfft, c=343.0, num_src=1, mode='far', r=None, azimuth=None, colatitude=None, num_iter=5, **kwargs)

Bases: MUSIC

Class to apply Weighted Average of Signal Subspaces [WAVES] for Direction of Arrival (DoA) estimation.

Note

Run locate_sources() to apply the WAVES algorithm.

Parameters
  • L (numpy array) – Microphone array positions. Each column should correspond to the cartesian coordinates of a single microphone.

  • fs (float) – Sampling frequency.

  • nfft (int) – FFT length.

  • c (float) – Speed of sound. Default: 343 m/s

  • num_src (int) – Number of sources to detect. Default: 1

  • mode (str) – ‘far’ or ‘near’ for far-field or near-field detection respectively. Default: ‘far’

  • r (numpy array) – Candidate distances from the origin. Default: np.ones(1)

  • azimuth (numpy array) – Candidate azimuth angles (in radians) with respect to x-axis. Default: np.linspace(-180.,180.,30)*np.pi/180

  • colatitude (numpy array) – Candidate elevation angles (in radians) with respect to z-axis. Default is x-y plane search: np.pi/2*np.ones(1)

  • num_iter (int) – Number of iterations for CSSM. Default: 5

References

WAVES

E. D. di Claudio, R. Parisi, WAVES: Weighted average of signal subspaces for robust wideband direction finding, IEEE Trans. Signal Process., Vol. 49, Num. 10, 2179–2191, 2001