Direction of arrival using Root MUSIC
the directions of arrival,
ang = rootmusicdoa(
ang, of a set of plane
waves received on a uniform line array (ULA). The estimation uses
the root MUSIC algorithm. The input arguments
are the estimated spatial covariance matrix between sensor elements,
and the number of arriving signals,
this syntax, sensor elements are spaced one-half wavelength apart.
Assume a half-wavelength spaced uniform line array with 10 elements. Three plane waves arrive from the 0°, –25°, and 30° azimuth directions. Elevation angles are 0°. The noise is spatially and temporally white Gaussian noise.
Set the SNR for each signal to 5 dB. Find the arrival angles.
N = 10; d = 0.5; elementPos = (0:N-1)*d; angles = [0 -25 30]; Nsig = 3; R = sensorcov(elementPos,angles,db2pow(-5)); doa = rootmusicdoa(R,Nsig)
doa = 1×3 -0.0000 -25.0000 30.0000
These angles agree with the known input angles.
Assume a uniform line array 10 elements, as in the previous example. But now the element spacing is smaller than one-half wavelength. Three plane waves arrive from the 0°, –25°, and 30° azimuth directions. Elevation angles are 0°. The noise is spatially and temporally white Gaussian noise. The SNR for each signal is 5 dB.
Set element spacing to 0.4 wavelengths using the
ElementSpacing name-value pair. Then, find the arrival angles.
N = 10; d = 0.4; elementPos = (0:N-1)*d; angles = [0 -25 30]; Nsig = 3; R = sensorcov(elementPos,angles,db2pow(-5)); doa = rootmusicdoa(R,Nsig,'ElementSpacing',d)
doa = 1×3 -25.0000 30.0000 0.0000
The solution agrees with the known angles.
R— Spatial covariance matrix
Spatial covariance matrix, specified as a complex-valued, positive-definite, N-by-N matrix.
In this matrix, N represents the number of elements
in the ULA array. If
R is not Hermitian, a Hermitian
matrix is formed by averaging the matrix and its conjugate transpose,
Example: [ 4.3162, –0.2777 –0.2337i; –0.2777 + 0.2337i , 4.3162]
Complex Number Support: Yes
nsig— Number of arriving signals
Number of arriving signals, specified as a positive integer. The number of signals must be smaller than the number of elements in the ULA array.
comma-separated pairs of
the argument name and
Value is the corresponding value.
Name must appear inside quotes. You can specify several name and value
pair arguments in any order as
'ElementSpacing'— ULA element spacing
ULA element spacing, specified as a real-valued, positive scalar. Position units are measured in terms of signal wavelength.
 Van Trees, H.L. Optimum Array Processing. New York: Wiley-Interscience, 2002.
Usage notes and limitations:
Does not support variable-size inputs.