Documentation

espritdoa

Direction of arrival using TLS ESPRIT

Description

example

ang= espritdoa(R,nsig)estimates the directions of arrival,ang, of a set of plane waves received on a uniform line array (ULA). The estimation employs theTLS ESPRIT, the total least-squares ESPRIT, algorithm. The input arguments are the estimated spatial covariance matrix between sensor elements,R, and the number of arriving signals,nsig. In this syntax, sensor elements are spaced one-half wavelength apart.

example

ang= espritdoa(___,Name,Value)estimates the directions of arrival with additional options specified by one or moreName,Valuepair arguments. This syntax can use any of the input arguments in the previous syntax.

Examples

collapse all

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. The SNR for each signal is 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 = espritdoa(R,Nsig)
doa =1×330.0000 -0.0000 -25.0000

Theespritdoafunction returns the correct angles.

Assume a uniform line array with 10 elements. The element spacing is 0.4 wavelength. Three plane waves arrive from the 0°, –25°, and 30° azimuth directions. Elevation angles are 0°. The noise is spatially and temporally white. The SNR for each signal is 5 dB. 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 = espritdoa(R,Nsig,'ElementSpacing',d)
doa =1×3-25.0000 -0.0000 30.0000

espritdoareturns the correct angles.

Input Arguments

collapse all

Spatial covariance matrix, specified as a complex-valued, positive-definite,N-by-Nmatrix. In this matrix,Nrepresents the number of elements in the ULA array. IfRis not Hermitian, a Hermitian matrix is formed by averaging the matrix and its conjugate transpose,(R+R')/2.

Example:[ 4.3162, –0.2777 – 0.2337i; –0.2777 + 0.2337i , 4.3162]

Data Types:double
Complex Number Support:Yes

Number of arriving signals, specified as a positive integer.

Example:3

Data Types:double

Name-Value Pair Arguments

Specify optional comma-separated pairs ofName,Valuearguments.Nameis the argument name andValueis the corresponding value.Name必须出现在引号。您可以指定数name and value pair arguments in any order asName1,Value1,...,NameN,ValueN.

Example:‘ElementSpacing’, 0.45

ULA element spacing, specified as a real-valued, positive scalar. Position units are measured in terms of signal wavelength.

Example:0.4

Data Types:double

Row weights specified as a real-valued positive scalar. These weights are applied to the selection matrices which determine the ESPRIT subarrays. A larger value is generally better but the value must be less than or equal to (Ns–1)/2, whereNs是麻木了er of subarray elements. The number of subarray elements isNs= N–1. The value ofN是麻木了er of ULA elements, as specified by the dimensions of the spatial covariance matrix,R. A detailed discussion of selection matrices and row weighting can be found in Van Trees[1], p. 1178.

Example:5

Data Types:double

Output Arguments

collapse all

Directions of arrival angle returned as a real-valued, 1-by-Mvector. The dimensionM是麻木了er of arriving signals specified in the argument,nsig. This angle is the broadside angle. Angle units are degrees and angle values lie between –90° and 90°.

References

[1] Van Trees, H.L.Optimum Array Processing. New York: Wiley-Interscience, 2002.

Extended Capabilities

Introduced in R2013a