phased.GCCEstimator
Wideband direction of arrival estimation
Description
The phased.GCCEstimator
System object™ creates a direction of arrival estimator for wideband signals. This
System object estimates the direction of arrival or time of arrival among sensor array
elements using the generalized cross-correlation with phase transform algorithm
(GCC-PHAT). The algorithm assumes that all signals propagate from a single source lying
in the array far field so the direction of arrival is the same for all sensors. The
System object first estimates the correlations between all specified sensor pairs using
GCC-PHAT and then finds the largest peak in each correlation. The peak identifies the
delay between the signals arriving at each sensor pair. Finally, a least-squares
estimate is used to derive the direction of arrival from all estimated delays.
To compute the direction of arrival for pairs of element in the array:
Create the
phased.GCCEstimatorobject and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
creates a
GCC direction of arrival estimator System object, sGCC = phased.GCCEstimatorsGCC. This object estimates the direction of
arrival or time of arrival between sensor array elements using the GCC-PHAT
algorithm.
returns a GCC direction of arrival estimator object, sGCC = phased.GCCEstimator(Name=Value)sGCC,
with the specified property Name set to the specified
Value. You can specify several name-value pair arguments
in any order as Name1=Value1,...,NameN=ValueN.
Properties
Usage
Description
returns the direction of arrival, ang = sGCC(X)ang, of an input signal
X. The argument X is a matrix
specifying the received signals at the elements of the array specified in the
SensorArray property. Signals propagate from a single
source. Each column in X corresponds to the elements in the
array (if an array is used) or the number of subarrays (if a subarray is used).
Each row of X represents a single time snapshot.
[ returns the estimated
correlations, ang,R,lag]
= sGCC(X)R, between pairs of sensors, when you set the
CorrelationOutputPort property to true.
R is a matrix with P columns where
P is the number of sensor pairs. Each column in
R contains the correlation for the corresponding pair
of sensors. lag is a column vector containing the time lags
corresponding to the rows of the correlation matrix. The time lags are the same
for all sensor pairs.
Note
The object performs an initialization the first time the object is executed. This
initialization locks nontunable properties
and input specifications, such as dimensions, complexity, and data type of the input data.
If you change a nontunable property or an input specification, the System object issues an error. To change nontunable properties or inputs, you must first
call the release method to unlock the object.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object as the first input argument. For
example, to release system resources of a System object named obj, use
this syntax:
release(obj)
Examples
Algorithms
References
[1] Knapp, C. H. and G.C. Carter, “The Generalized Correlation Method for Estimation of Time Delay.” IEEE Transactions on Acoustics, Speech and Signal Processing. Vol. ASSP-24, No. 4, Aug 1976.
[2] G. C. Carter, “Coherence and Time Delay Estimation.” Proceedings of the IEEE. Vol. 75, No. 2, Feb 1987.
Extended Capabilities
Version History
Introduced in R2015b
See Also
phased.BeamscanEstimator | phased.RootMUSICEstimator | gccphat
