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):
Define and set up your sum and difference monopulse DOA estimator. See Construction.
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(
creates
a URA monopulse tracker 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 a 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: 
step  Perform monopulse tracking using URA 
Common to All System Objects  

clone  Create System object with same property values 
getNumInputs  Expected number of inputs to a System object 
getNumOutputs  Expected number of outputs of a System object 
isLocked  Check locked states of a System object (logical) 
release  Allow System object property value changes 
The sumanddifference monopulse algorithm is used to the estimate the arrival direction of a narrowband signal impinging upon a uniform linear array (ULA). First, compute the conventional response of an array steered to an arrival direction φ_{0}. For a ULA, the arrival direction is specified by the broadside angle. To specify that the maximum response axis (MRA) point towards the φ_{0} direction, set the weights to be
$${w}_{s}=\left(1,{e}^{ikd\mathrm{sin}{\varphi}_{0}},{e}^{ik2d\mathrm{sin}{\varphi}_{0}},\dots ,{e}^{ik(N1)d\mathrm{sin}{\varphi}_{0}}\right)$$
$$v=\left(1,{e}^{ikd\mathrm{sin}\varphi},{e}^{ik2d\mathrm{sin}\varphi},\dots ,{e}^{ik(N1)d\mathrm{sin}\varphi}\right)$$
The second pattern, called the Difference Pattern, is obtained by using phasedreversed weights. The weights are determined by phasereversing the latter half of the conventional steering vector. For an array with an even number of elements, the phasereversed weights are
$${w}_{d}=i\left(1,{e}^{ikd\mathrm{sin}{\varphi}_{0}},{e}^{ik2d\mathrm{sin}{\varphi}_{0}},\dots ,{e}^{ikN/2d\mathrm{sin}{\varphi}_{0}},{e}^{ik(N/2+1)d\mathrm{sin}{\varphi}_{0}},\dots ,{e}^{ik(N1)d\mathrm{sin}{\varphi}_{0}}\right)$$
$${w}_{d}^{H}v\left(\phi \right)$$
The monopulse response curve is obtained by dividing the difference pattern by the sum pattern and taking the real part.
$$R(\phi )=Re\left(\frac{{w}_{d}^{H}v(\phi )}{{w}_{s}^{H}v(\phi )}\right)$$
$$z=Re\left(\frac{{w}_{d}^{H}x}{{w}_{s}^{H}x}\right)$$
The response curve is not single valued and can be inverted only when arrival angles lie within the mainlobe. The figure below shows the center portion of the monopulse response curve in the mainlobe for a 4element ULA array.
There are two desirable properties of the monopulse response curve. The first is that it have a steep slope. A steep slope insures robustness against noise. The second property is that the mainlobe be as wide as possible. A steep slope is ensure by a larger array but leads to a smaller mainlobe. You will need to trade off one property with the other.
For further details, see [1].
[1] Seliktar, Y. SpaceTime Adaptive Monopulse Processing. Ph.D. Thesis. Georgia Institute of Technology, Atlanta, 1998.
[2] Rhodes, D. Introduction to Monopulse. Dedham, MA: Artech House, 1980.