DME Component Libraries for .NET 2024 r1

## MitchellWalkerProbabilityOfDetectionScalar Class |

A SingleTargetRadarLinkScalar which represents the Mitchell-Walker probability of detection model. The
probability of detection (PDet) is a function of the signal-to-noise ratio (single pulse or integrated, with or without interference effects), the number
of pulses integrated, the probability of false alarm, and the radar cross section (RCS) fluctuation type (SwerlingTargetModel).
If enabled, the probability of detection for a constant false alarm rate (CFAR) can be evaluated based on the number of reference cells. A CFAR receiver
will adjust the detection threshold based on the noise in reference 'cells' around the cell being examined for the presence of a target.

Inheritance Hierarchy

SystemObject

AGI.Foundation.InfrastructureDefinitionalObject

AGI.Foundation.GeometryScalar

AGI.Foundation.RadarSingleTargetRadarLinkScalar

AGI.Foundation.RadarMitchellWalkerProbabilityOfDetectionScalar

AGI.Foundation.InfrastructureDefinitionalObject

AGI.Foundation.GeometryScalar

AGI.Foundation.RadarSingleTargetRadarLinkScalar

AGI.Foundation.RadarMitchellWalkerProbabilityOfDetectionScalar

Syntax

The MitchellWalkerProbabilityOfDetectionScalar type exposes the following members.

Constructors

Top

Properties

Name | Description | |
---|---|---|

ComputeMode |
Gets or sets the mode used for computing the signal-to-noise ratio.
| |

ConstantFalseAlarmRateReferenceCellCount |
Gets or sets the number of constant false alarm rate reference cells.
| |

EnableConstantFalseAlarmRate |
Gets or sets a value indicating whether or not to use a constant false alarm rate.
| |

EvaluateInterference |
Gets a value indicating whether or not the scalar should account for interference during the scalar evaluation.
(Inherited from SingleTargetRadarLinkScalar.) | |

IntendedSignalStrategy |
Gets the method used to identify the desired signal for scalar evaluation.
(Inherited from SingleTargetRadarLinkScalar.) | |

IsFrozen |
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an
ObjectFrozenException will be thrown if an attempt is made to do so.
(Inherited from DefinitionalObject.) | |

ProbabilityOfFalseAlarm |
Gets or sets the probability of false alarm used in order to determined the detection threshold.
| |

RadarReceiver |
Gets the IServiceProvider which represents the radar receiver.
(Inherited from SingleTargetRadarLinkScalar.) | |

RadarTransmitter |
Gets the IServiceProvider which represents the radar transmitter.
(Inherited from SingleTargetRadarLinkScalar.) | |

SignalPropagationGraph |
Gets the signal propagation graph.
(Inherited from SingleTargetRadarLinkScalar.) | |

Target |
Gets the IServiceProvider which represents the radar target.
(Inherited from SingleTargetRadarLinkScalar.) | |

UseLogarithmicSampling |
Gets or sets a value indicating whether computed values will be converted to a logarithmic scale
when performing sampling for access calculations. Radar scalars can span an extremely large
range of values, so in order to avoid comparing values larger than one with values very near zero,
the logarithmic scale gives a better means of analyzing the behavior of the function without running into
numerical issue with floating point numbers. This value is set by its derived classes and in most cases is set to false by default.
(Inherited from SingleTargetRadarLinkScalar.) |

Methods

Name | Description | |
---|---|---|

Add(Double) |
Adds a fixed scalar to this one.
(Inherited from Scalar.) | |

Add(Scalar) |
Adds another scalar to this one.
(Inherited from Scalar.) | |

CheckForSameDefinition(DefinitionalObject) |
Checks to determine if another instance has the same definition as this instance and
returns if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return for all derived-class instances.
Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from Scalar.) | |

CheckForSameDefinition(MitchellWalkerProbabilityOfDetectionScalar) |
Checks to determine if another instance has the same definition as this instance and
returns if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return for all derived-class instances.
Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
| |

CheckForSameDefinition(Scalar) |
Checks to determine if another instance has the same definition as this instance and
returns if it does. Derived classes MUST override this method and check
all new fields introduced by the derived class for definitional equivalence. It is NOT necessary
to check base class fields because the base class will already have done that. When overriding this method,
you should NOT call the base implementation because it will return for all derived-class instances.
Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
(Inherited from SingleTargetRadarLinkScalar.) | |

CheckForSameDefinition(SingleTargetRadarLinkScalar) | ||

Clone |
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).) | |

ComputeCurrentDefinitionHashCode |
Computes a hash code based on the current properties of this object. Derived classes MUST override this
method and compute a hash code that combines: a unique hash code seed, the base implementation result, and
the hash codes of all new fields introduced by the derived class which are used in the
CheckForSameDefinition(DefinitionalObject) method.
(Overrides SingleTargetRadarLinkScalarComputeCurrentDefinitionHashCode.) | |

CreateScalarDerivative |
Constructs a scalar which represents a derivative of this scalar.
(Inherited from Scalar.) | |

Divide(Double) |
Divides this scalar (numerator) by a fixed value (denominator).
(Inherited from Scalar.) | |

Divide(Scalar) |
Divides this scalar (numerator) by another one (denominator).
(Inherited from Scalar.) | |

EnumerateDependencies |
Enumerates the dependencies of this object by calling
EnumerateT(T) for each object that this object directly depends upon.
Derived classes which contain additional dependencies MUST override this method, call the base
implementation, and enumerate dependencies introduced by the derived class.
(Inherited from SingleTargetRadarLinkScalar.) | |

Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |

Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |

Freeze |
Freezes this object. Further attempts to modify it will result
in an ObjectFrozenException.
(Inherited from DefinitionalObject.) | |

FreezeAggregatedObjects |
Called by Freeze to also freeze any objects that are considered to be a part of this object.
Derived classes which contain additional aggregated objects MUST override this method, call the base
implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be
frozen in this method are frequently created in this object's constructor and are not settable via
properties.
(Inherited from SingleTargetRadarLinkScalar.) | |

GetDefinitionHashCode |
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.) | |

GetEvaluator |
Gets an evaluator that can be used to find the value of this scalar function at a given JulianDate.
(Inherited from Scalar.) | |

GetEvaluator(EvaluatorGroup) |
Gets an evaluator to compute the probability of detection of the received waveform using the Mitchell-Walker
algorithm. The probability of detection (PDet) is a
function of the signal-to-noise ratio (single pulse or integrated, with or without interference effects), the number
of pulses integrated, the probability
of false alarm, and the radar cross section (RCS) fluctuation type (SwerlingTargetModel).
(Overrides ScalarGetEvaluator(EvaluatorGroup).) | |

GetHashCode | Serves as the default hash function. (Inherited from Object.) | |

GetType | Gets the Type of the current instance. (Inherited from Object.) | |

IsSameDefinition |
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.) | |

MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |

Multiply(Double) |
Multiplies this scalar with a fixed value.
(Inherited from Scalar.) | |

Multiply(Scalar) |
Multiplies another scalar with this one.
(Inherited from Scalar.) | |

Power |
Raises this scalar to the given fixed exponent.
(Inherited from Scalar.) | |

Subtract(Double) |
Subtracts a fixed scalar from this one.
(Inherited from Scalar.) | |

Subtract(Scalar) |
Subtracts another scalar from this one.
(Inherited from Scalar.) | |

ThrowIfFrozen |
Throws ObjectFrozenException if this object IsFrozen.
This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.) | |

ToString | Returns a string that represents the current object. (Inherited from Object.) | |

ValidateProperties |
Validates all properties for use in constructing the signal evaluator.
(Overrides SingleTargetRadarLinkScalarValidateProperties.) |

Remarks

The algorithm for computing probability of detection comes from Mitchell, R.L. and J.F. Walker,
"Recursive Methods for Computing Detection Probabilities," IEEE Transactions on Aerospace Electronic Systems, Vol. 7, No. 4 (July 1971).
The SwerlingTargetModel is not directly configured on the scalar instance, but is obtained from the received radar signal.
The scalar will look for an instance of PointScattererInformationCollection using the GetDataByType(Type) method on the received signal.
The scalar will then try to obtain an instance of SignalSwerlingTargetModel from the last PointScattererInformation instance in
the collection. If an instance of the SignalSwerlingTargetModel is found, the SwerlingTargetModel is obtained from
SwerlingTargetModel, otherwise None is used,
indicating a non-fluctuating radar cross section.

See Also