phased.CovarianceEstimator
R2026bDescription
The phased.CovarianceEstimator
System object™ creates a maximum-likelihood estimator of the sample covariance matrix (SCM).
The sample covariance matrix is derived from statistically independent and identically
distributed (i.i.d.) data snapshots of complex Gaussian random vectors. You can use the SCM in
array processing algorithms such as direction of arrival estimation, beamforming, adaptive
coherence estimation, and space-time adaptive processing, because of its simplicity and
statistical efficiency. The algorithm always assumes sufficient training data is
available.
To estimate the sample covariance matrix of vector:
Create the
phased.CovarianceEstimatorobject 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
estimator = phased.CovarianceEstimatorphased.CovarianceEstimator
System object with default property values.
creates a estimator = phased.CovarianceEstimator(Name=Value)phased.CovarianceEstimator
System object with each property Name set to a specified
Value. You can specify additional name-value arguments in any order
as (Name1=Value1,...,NameN=ValueN).
Example: estimator =
phased.CovarianceEstimator(Mode="Update",Method="SCM").
Properties
Usage
Description
estimates the covariance matrix, covmat = estimator(xadd)covmat, from the input snapshots
xadd. In this syntax, you can use the object function in either
Batch mode or Update mode.
If you set the
Modeproperty to"Batch"or leave it unspecified, the object operates inBatchmode and computes the covariance fromxadd.If you set the
Modeproperty to"Update", the object updates the current covariance estimate using the snapshotsxadd.
updates the covariance matrix by adding the snapshots in covmat = estimator(xadd,xrem)xadd and
removing the snapshots in xrem. To use this syntax, set the
Mode property to "Update and downdate". You can
use an empty value [] matrix for xadd or for
xrem to indicate that the object applies no updates or downdate
using these arguments.
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
More About
References
[1] Gini, Fulvio, and Maria Greco. “Covariance Matrix Estimation for CFAR Detection in Correlated Heavy Tailed Clutter.” Signal Processing, vol. 82, no. 12, Dec. 2002, pp. 1847–59.
[2] Pascal, F., et al. “Performance Analysis of Covariance Matrix Estimates in Impulsive Noise.” IEEE Transactions on Signal Processing, vol. 56, no. 6, June 2008, pp. 2206–17.
[3] De Maio, Antonio, and Maria Sabrina Greco, editors. Modern Radar Detection Theory. Institution of Engineering and Technology, 2015.
Extended Capabilities
Version History
Introduced in R2026b

