Click or drag to resize

Single Target Radar Link Scalars

Single target radar link scalars are used to compute radar metrics such as "Integrated Signal-to-Noise Ratio" and "Probability-of-Detection" for a single target. All single target radar link scalars derive from the SingleTargetRadarLinkScalar base class.

Note Note

The functionality described in this topic requires a license for the Radar Library and the Communications Library.

Available Scalars

Below is a complete list of the single target radar link scalar types provided by the library:

At a minimum, the properly configured radar transmitter, radar target, and radar receiver platforms, as well as an IntendedSignalStrategy and a SignalPropagationGraph are required to construct an instance of each SingleTargetRadarLinkScalar type. Refer to the Signals and SignalProcessors and Radar Targets topics for more information on how to properly configure the transmitter, receiver, and target platforms. Most of the scalar types use the ISignalOutputService service to identify the output signal processor for the receiver platform. Make sure that an extension providing this service has been added to the receiver's extensions collection. (such as SignalOutputExtension)

The library also provides the following scalar types, which operate on a ProcessedRadarWaveform and therefore require the IProcessedRadarWaveformOutputService service, in order to discover the output RadarWaveformProcessor. Make sure that an extension providing this service has been added to the receiver's extensions collection. (such as ProcessedRadarWaveformOutputExtension)

Just as in the Communications Library, a IntendedSignalStrategy instance is used to identify the intended radar signal from the interference signals in the received SignalCollection. Currently, the following strategies are provided by the Communications Library:

You can also create your own strategy by extending IntendedSignalStrategy.

Each of the scalars listed above provides a GetEvaluator. method which returns a ScalarEvaluator. When evaluating, keep in mind that the time passed represents the time at which the pulsed waveform is transmitted. The scalar value returned, however, is computed at the time of pulsed waveform reception, including any light time delays from the transmitter to the target and from the target to the receiver.

The SignalPropagationGraph must contain at least two links, one representing the forward link from the radar transmitter to the target and one representing the return link from the target back to the radar receiver. Additionally, the signal graph can contain links from interference sources to the radar receiver, for modeling interference or jamming.

See the Code Sample topic for an example of how to configure SingleTargetRadarLinkScalar types.

Access Query Constraints

The Radar Library provides AccessConstraints, which can be used to find the periods of time when the above SingleTargetRadarLinkScalar parameters are within certain minimum and maximum thresholds.

JulianDate analysisStart = new GregorianDate(2016, 2, 22, 17, 0, 0).ToJulianDate();
JulianDate analysisEnd = analysisStart.AddMinutes(20);

//Construct the SingleTargetRadarLinkScalar
MitchellWalkerProbabilityOfDetectionScalar mitchellWalkerScalar = new MitchellWalkerProbabilityOfDetectionScalar(transmitter, target, receiver, signalStrategy, signalGraph);

//Construct the SingleTargetRadarObjectConstraint with the desired minimum and maximum values
double minimumProbabilityOfDetection = 1e-6;
double maximumProbabilityOfDetection = 0.8;
SingleTargetRadarObjectConstraint constraint = new SingleTargetRadarObjectConstraint(mitchellWalkerScalar, minimumProbabilityOfDetection, maximumProbabilityOfDetection);

EvaluatorGroup group = new EvaluatorGroup();
AccessEvaluator evaluator = constraint.GetEvaluator(transmitter, group);

AccessQueryResult result = evaluator.Evaluate(analysisStart, analysisEnd);
Spatial Analysis Library Figure of Merit

The Radar Library also provides a generalized RadarFigureOfMerit class, which can be used with the Spatial Analysis Library to compute coverage over a grid using the above SingleTargetRadarLinkScalar parameters. To learn more about setting up a coverage calculation, see the Coverage topic.

JulianDate epoch = new GregorianDate(2016, 2, 22, 17, 0, 0).ToJulianDate();

SpecifiedCentralBodyCoverageGrid grid = new SpecifiedCentralBodyCoverageGrid(earth, gridPointList);
ParameterizedTemporallyPartitionedCoverageDefinition coverage = new ParameterizedTemporallyPartitionedCoverageDefinition();

transmitter.LocationPoint = coverage.GridPoint;
receiver.LocationPoint = coverage.GridPoint;

coverage.Grid = grid;
coverage.GridPointPlaceholder = transmitter;

ElevationAngleConstraint constraint = new ElevationAngleConstraint
    ConstrainedLink = new LinkSpeedOfLight(coverage.GridPointPlaceholder, target, earth.InertialFrame),
    ConstrainedLinkEnd = LinkRole.Transmitter

coverage.AddAsset(new AssetDefinition(target, constraint));

CoverageResults results = coverage.ComputeCoverageOverTheGrid(epoch, epoch.AddSeconds(60.0), Duration.FromSeconds(60.0));

MitchellWalkerProbabilityOfDetectionScalar mitchellWalkerScalar =
    new MitchellWalkerProbabilityOfDetectionScalar(transmitter, target, receiver, signalStrategy, signalGraph);

var fom = new RadarFigureOfMerit(mitchellWalkerScalar);
var gridData = GridDescriptiveStatistics.ComputeFigureOfMeritData(results, fom, new TimeInterval(epoch, epoch.AddSeconds(60.0)), Duration.FromSeconds(60.0));