Augmented covariance matrices for difference coarrays

API references

class doatools.estimation.coarray.CoarrayACMBuilder1D(array)[source]

Bases: object

Creates a coarray-based augmented covariance matrix builder.

Based on the specified sensor array, creates a callable object that can transform sample covariance matrices obtained from the physical array model into augmented covariance matrices under the difference coarray model

Parameters:array (ArrayDesign) – A 1D grid-based sensor array. Common candidates include CoPrimeArray, NestedArray, MinimumRedundancyLinearArray.
__call__(R, method='ss')[source]

A shortcut to transform().

input_size

Retrieves the size of the input covariance matrix.

output_size

Retrieves the size of the output/transformed covariance matrix.

get_virtual_ula(name=None)[source]

Retrieves the corresponding virtual uniform linear array.

Parameters:name (str) – Name of the virtual uniform linear array. If not specified, a default name will be generated.
Returns:A uniform linear array corresponding to the augmented covariance matrix.
Return type:UniformLinearArray
transform(R, method='ss')[source]

Transforms the input sample covariance matrix.

Parameters:
  • R (ndarray) – Sample covariance matrix.
  • method (str) –

    'ss' for spatial-smoothing based transformation, and 'da' for direct-augmentation based transformation.

    It should be noted that direct-augmentation does not guarantee the positive-definiteness of augmented covariance matrix, which may lead to unexpected results when using beamforming-based estimators.

Returns:

The augmented covariance matrix.

Return type:

ndarray

References

[1] M. Wang and A. Nehorai, “Coarrays, MUSIC, and the Cramér-Rao Bound,” IEEE Transactions on Signal Processing, vol. 65, no. 4, pp. 933-946, Feb. 2017.

[2] P. Pal and P. P. Vaidyanathan, “Nested arrays: A novel approach to array processing with enhanced degrees of freedom,” IEEE Transactions on Signal Processing, vol. 58, no. 8, pp. 4167-4181, Aug. 2010.