ESTANG = step(H,X,STANG) estimates
the incoming direction ESTANG of the input signal, X,
based on an initial guess of the direction.

Note:
The object performs an initialization the first time the step method
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

H

Tracker object of type phased.SumDifferenceMonopulseTracker2D.

X

Input signal, specified as a row vector whose number of columns
corresponds to number of channels.

STANG

Initial guess of the direction, specified as a 2-by-1 vector
in the form [AzimuthAngle; ElevationAngle] in degrees.
A typical initial guess is the current steering angle. Azimuth angles
must be between –180 and 180. Elevation angles must be between
–90 and 90. Angles are measured in the local coordinate system
of the array. For details regarding the local coordinate system of
the URA, type phased.URA.coordinateSystemInfo.

Output Arguments

ESTANG

Estimate of incoming direction, returned as a 2-by-1 vector
in the form [AzimuthAngle; ElevationAngle] in degrees.
Azimuth angles are between –180 and 180. Elevation angles are
between –90 and 90. Angles are measured in the local coordinate
system of the array.

Examples

Determine the direction of a target at around 60 degrees azimuth
and 20 degrees elevation of a URA.

ha = phased.URA('Size',4);
hstv = phased.SteeringVector('SensorArray',ha);
hmp = phased.SumDifferenceMonopulseTracker2D('SensorArray',ha);
x = step(hstv,hmp.OperatingFrequency,[60.1; 19.5]).';
est_dir = step(hmp,x,[60; 20]);

Algorithms

The tracker uses a sum-and-difference monopulse algorithm to
estimate the direction. The tracker obtains the difference steering
vector by phase-reversing the latter half of the sum steering vector.