Main Content


Sum and difference monopulse for URA


The SumDifferenceMonopulseTracker2D object implements a sum and difference monopulse algorithm for a uniform rectangular array.

To estimate the direction of arrival (DOA):

  1. Define and set up your sum and difference monopulse DOA estimator. See Construction.

  2. Call step to estimate the DOA according to the properties of phased.SumDifferenceMonopulseTracker2D. 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.SumDifferenceMonopulseTracker2D creates a tracker System object, H. The object uses sum and difference monopulse algorithms on a uniform rectangular array (URA).

H = phased.SumDifferenceMonopulseTracker2D(Name,Value) creates a URA monopulse tracker 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.URA object.

Default: phased.URA 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


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 non-negative integer. A value of zero indicates that no quantization is performed. You can specify this property as single or double precision.

Default: 0


stepPerform monopulse tracking using URA
Common to All System Objects

Allow System object property value changes


collapse all

Using a URA, determine the direction of a target at approximately 60° azimuth and 20° elevation.

array = phased.URA('Size',4);
steeringvec = phased.SteeringVector('SensorArray',array);
tracker = phased.SumDifferenceMonopulseTracker2D('SensorArray',array);
x = steeringvec(tracker.OperatingFrequency,[60.1; 19.5]).';
est_dir = tracker(x,[60; 20])
est_dir = 2×1



expand all


[1] Seliktar, Y. Space-Time Adaptive Monopulse Processing. Ph.D. Thesis. Georgia Institute of Technology, Atlanta, 1998.

[2] Rhodes, D. Introduction to Monopulse. Dedham, MA: Artech House, 1980.

Extended Capabilities

Version History

Introduced in R2011a