This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

phased.RootWSFEstimator System object

Root WSF direction of arrival (DOA) estimator for ULA


The RootWSFEstimator object implements a root weighted subspace fitting direction of arrival algorithm.

To estimate the direction of arrival (DOA):

  1. Define and set up your root WSF DOA estimator. See Construction.

  2. Call step to estimate the DOA according to the properties of phased.RootWSFEstimator. The behavior of step is specific to each object in the toolbox.


Starting in R2016b, instead of using the step method to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example, y = step(obj,x) and y = obj(x) perform equivalent operations.


H = phased.RootWSFEstimator creates a root WSF DOA estimator System object, H. The object estimates the signal's direction of arrival using the root weighted subspace fitting (WSF) algorithm with a uniform linear array (ULA).

H = phased.RootWSFEstimator(Name,Value) creates object, H, with each specified property Name set to the specified Value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).



Handle to sensor array

Specify the sensor array as a handle. The sensor array must be a phased.ULA object.

Default: phased.ULA with default property values


Signal propagation speed

Specify the propagation speed of the signal, in meters per second, as a positive scalar. You can specify this property as single or double precision.

Default: Speed of light


System operating frequency

Specify the operating frequency of the system in hertz as a positive scalar. The default value corresponds to 300 MHz. You can specify this property as single or double precision.

Default: 3e8


Source of number of signals

Specify the source of the number of signals as one of 'Auto' or 'Property'. If you set this property to 'Auto', the number of signals is estimated by the method specified by the NumSignalsMethod property.

Default: 'Auto'


Method to estimate number of signals

Specify the method to estimate the number of signals as one of 'AIC' or 'MDL'. 'AIC' uses the Akaike Information Criterion and 'MDL' uses the Minimum Description Length Criterion. This property applies when you set the NumSignalsSource property to 'Auto'.

Default: 'AIC'


Number of signals

Specify the number of signals as a positive integer scalar. This property applies when you set the NumSignalsSource property to 'Property'. You can specify this property as single or double precision.

Default: 1


Iterative method

Specify the iterative method as one of 'IMODE' or 'IQML'.

Default: 'IMODE'


Maximum number of iterations

Specify the maximum number of iterations as a positive integer scalar or 'Inf'. This property is tunable. You can specify this property as single or double precision.

Default: 'Inf'


stepPerform DOA estimation
Common to All System Objects

Allow System object property value changes


expand all

Estimate the DOAs of two signals received by a 10-element ULA with a 1 m element spacing. The antenna operating frequency is 150 MHz. The actual direction of the first signal is 10° in azimuth and 20° in elevation. The direction of the second signal is 45° in azimuth and 60° degrees in elevation.

fs = 8000;
t = (0:1/fs:1).';
x1 = cos(2*pi*t*300);
x2 = cos(2*pi*t*400);
array = phased.ULA('NumElements',10,'ElementSpacing',1);
array.Element.FrequencyRange = [100e6 300e6];
fc = 150e6;
x = collectPlaneWave(array,[x1 x2],[10 20;45 60]',fc);
noise = 0.1/sqrt(2)*(randn(size(x))+1i*randn(size(x)));
estimator = phased.RootWSFEstimator('SensorArray',array,...
doas = estimator(x + noise);
az = broadside2az(sort(doas),[20 60])
az = 1×2

   10.0001   45.0107


expand all


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

Extended Capabilities

Introduced in R2012a