Main Content

getMonopulseEstimator

Create monopulse estimator from monopulse feed

Description

estimator = getMonopulseEstimator(feed) creates a phased.MonopulseEstimator System object™, estimator, from a phased.MonopulseFeed System object, feed.

example

Examples

collapse all

After creating sum and difference channels, determine the direction of a target at approximately 24 degrees azimuth and 40 degrees elevation with respect to a 5-by-5 uniform rectangular array.

Create a monopulse feed system based on a URA.

fc = 200e6;
c = physconst('LightSpeed');
lambda = c/fc;
array = phased.URA('Size',[5 5],'ElementSpacing',lambda/2);
feed = phased.MonopulseFeed('SensorArray',array,'OperatingFrequency', ...
    fc,'Coverage','3D','AngleOutputPort',true);

Create a signal using a steering vector.

steervector = phased.SteeringVector('SensorArray',array);
x = steervector(feed.OperatingFrequency,[24;40]).';

Obtain the sum and difference channels and the estimated target angle.

[sumch,azch,elch,est_dir] = feed(x,[30;35]);
disp(est_dir)
   24.3705
   41.1997

Use a derived phased.MonopulseEstimator object to also obtain the target angle.

estimator = getMonopulseEstimator(feed);
est_dir = estimator(sumch,azch,elch,[30;35])
est_dir = 2×1

   24.3705
   41.1997

Input Arguments

collapse all

Monopulse feed, specified as a System object.

Output Arguments

collapse all

Monopulse estimator, returned as a phased.MonopulseEstimator System object.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2018b