Package: phased
2D MVDR (Capon) spatial spectrum estimator
The MVDREstimator2D
object computes a 2D minimum
variance distortionless response (MVDR) spatial spectrum estimate.
This DOA estimator is also referred to as a Capon estimator.
To estimate the spatial spectrum:
Define and set up your 2D MVDR spatial spectrum estimator. See Construction.
Call step
to estimate the spatial
spectrum according to the properties of phased.MVDREstimator2D
.
The behavior of step
is specific to each object in
the toolbox.
Note:
Starting in R2016b, instead of using the 
H = phased.MVDREstimator2D
creates a 2D
MVDR spatial spectrum estimator System object, H
.
The object estimates the signal's spatial spectrum using a
narrowband MVDR beamformer.
H = phased.MVDREstimator2D(
creates
object, Name
,Value
)H
, with each specified property Name
set to the specified Value. You can specify additional namevalue
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 an array object in the Default: 

Signal propagation speed Specify the propagation speed of the signal, in meters per second, as a positive scalar. 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. Default: 

Number of phase shifter quantization bits The number of bits used to quantize the phase shift component of beamformer or steering vector weights. Specify the number of bits as a nonnegative integer. A value of zero indicates that no quantization is performed. Default: 

Perform forwardbackward averaging Set this property to Default: 

Azimuth scan angles (degrees) Specify the azimuth scan angles (in degrees) as a real vector. The angles must be between –180 and 180, inclusive. You must specify the angles in ascending order. Default: 

Elevation scan angles Specify the elevation scan angles (in degrees) as a real vector or scalar. The angles must be between –90 and 90, inclusive. You must specify the angles in ascending order. Default: 

Enable DOA output To obtain the signal's direction of arrival (DOA), set this
property to Default: 

Number of signals Specify the number of signals for DOA estimation as a positive
scalar integer. This property applies when you set the Default: 
clone  Create 2D MVDR spatial spectrum estimator object with same property values 
getNumInputs  Number of expected inputs to step method 
getNumOutputs  Number of outputs from step method 
isLocked  Locked status for input attributes and nontunable properties 
plotSpectrum  Plot spatial spectrum 
release  Allow property value and input characteristics changes 
reset  Reset states of 2D MVDR spatial spectrum estimator object 
step  Perform spatial spectrum estimation 
Estimate the DOAs of two signals received by a 50element URA with a rectangular lattice. The antenna operating frequency is 150 MHz. The actual direction of the first signal is –37 degrees in azimuth and 0 degrees in elevation. The direction of the second signal is 17 degrees in azimuth and 20 degrees in elevation. This example also plots the spatial spectrum.
fs = 8000; t = (0:1/fs:1).'; x1 = cos(2*pi*t*300); x2 = cos(2*pi*t*400); ha = phased.URA('Size',[5 10],'ElementSpacing',[1 0.6]); ha.Element.FrequencyRange = [100e6 300e6]; fc = 150e6; x = collectPlaneWave(ha,[x1 x2],[37 0;17 20]',fc); % additive noise noise = 0.1*(randn(size(x))+1i*randn(size(x))); % construct MVDR DOA estimator for URA hdoa = phased.MVDREstimator2D('SensorArray',ha,... 'OperatingFrequency',fc,... 'DOAOutputPort',true,'NumSignals',2,... 'AzimuthScanAngles',50:50,... 'ElevationScanAngles',30:30); % use the step method to obtain the output and DOA estimates [~,doas] = step(hdoa,x+noise); plotSpectrum(hdoa);
[1] Van Trees, H. Optimum Array Processing. New York: WileyInterscience, 2002.