Click or drag to resize

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

Namespace:  AGI.Foundation.Radar
Assembly:  AGI.Foundation.Radar (in AGI.Foundation.Radar.dll) Version: 20.3.405.0 (20.3.405.0)
Syntax
public class MitchellWalkerProbabilityOfDetectionScalar : SingleTargetRadarLinkScalar

The MitchellWalkerProbabilityOfDetectionScalar type exposes the following members.

Constructors
  NameDescription
Public methodMitchellWalkerProbabilityOfDetectionScalar(MitchellWalkerProbabilityOfDetectionScalar, CopyContext)
Initializes a new instance as a copy of an existing instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph)
Initializes a new instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph, SignalToNoiseRatioComputeMode)
Initializes a new instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph, Boolean)
Initializes a new instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph, Boolean, SignalToNoiseRatioComputeMode)
Initializes a new instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph, Double, SignalToNoiseRatioComputeMode)
Initializes a new instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph, Boolean, Double, SignalToNoiseRatioComputeMode)
Initializes a new instance.
Public methodMitchellWalkerProbabilityOfDetectionScalar(IServiceProvider, IServiceProvider, IServiceProvider, IntendedSignalStrategy, SignalPropagationGraph, Boolean, Double, Boolean, Int32, SignalToNoiseRatioComputeMode)
Initializes a new instance.
Top
Properties
  NameDescription
Public propertyComputeMode
Gets or sets the mode used for computing the signal-to-noise ratio.
Public propertyConstantFalseAlarmRateReferenceCellCount
Gets or sets the number of constant false alarm rate reference cells.
Public propertyEnableConstantFalseAlarmRate
Gets or sets a value indicating whether or not to use a constant false alarm rate.
Public propertyEvaluateInterference
Gets a value indicating whether or not the scalar should account for interference during the scalar evaluation.
(Inherited from SingleTargetRadarLinkScalar.)
Public propertyIntendedSignalStrategy
Gets the method used to identify the desired signal for scalar evaluation.
(Inherited from SingleTargetRadarLinkScalar.)
Public propertyIsFrozen
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.)
Public propertyProbabilityOfFalseAlarm
Gets or sets the probability of false alarm used in order to determined the detection threshold.
Public propertyRadarReceiver
Gets the IServiceProvider which represents the radar receiver.
(Inherited from SingleTargetRadarLinkScalar.)
Public propertyRadarTransmitter
Gets the IServiceProvider which represents the radar transmitter.
(Inherited from SingleTargetRadarLinkScalar.)
Public propertySignalPropagationGraph
Gets the signal propagation graph.
(Inherited from SingleTargetRadarLinkScalar.)
Public propertyTarget
Gets the IServiceProvider which represents the radar target.
(Inherited from SingleTargetRadarLinkScalar.)
Public propertyUseLogarithmicSampling
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.)
Top
Methods
  NameDescription
Public methodAdd(Double)
Adds a fixed scalar to this one.
(Inherited from Scalar.)
Public methodAdd(Scalar)
Adds another scalar to this one.
(Inherited from Scalar.)
Protected methodCheckForSameDefinition(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.)
Protected methodCheckForSameDefinition(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).
Protected methodCheckForSameDefinition(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.)
Protected methodCheckForSameDefinition(SingleTargetRadarLinkScalar)
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).
(Overrides SingleTargetRadarLinkScalarCheckForSameDefinition(SingleTargetRadarLinkScalar).)
Public methodClone
Clones this object using the specified context.
(Overrides DefinitionalObjectClone(CopyContext).)
Protected methodComputeCurrentDefinitionHashCode
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.)
Public methodCreateScalarDerivative
Constructs a scalar which represents a derivative of this scalar.
(Inherited from Scalar.)
Public methodDivide(Double)
Divides this scalar (numerator) by a fixed value (denominator).
(Inherited from Scalar.)
Public methodDivide(Scalar)
Divides this scalar (numerator) by another one (denominator).
(Inherited from Scalar.)
Public methodEnumerateDependencies
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.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
(Inherited from DefinitionalObject.)
Protected methodFreezeAggregatedObjects
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.)
Public methodGetDefinitionHashCode
Gets a hash code representing the definition of this object.
(Inherited from DefinitionalObject.)
Public methodGetEvaluator
Gets an evaluator that can be used to find the value of this scalar function at a given JulianDate.
(Inherited from Scalar.)
Public methodGetEvaluator(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).)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
(Inherited from DefinitionalObject.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMultiply(Double)
Multiplies this scalar with a fixed value.
(Inherited from Scalar.)
Public methodMultiply(Scalar)
Multiplies another scalar with this one.
(Inherited from Scalar.)
Public methodPower
Raises this scalar to the given fixed exponent.
(Inherited from Scalar.)
Public methodSubtract(Double)
Subtracts a fixed scalar from this one.
(Inherited from Scalar.)
Public methodSubtract(Scalar)
Subtracts another scalar from this one.
(Inherited from Scalar.)
Protected methodThrowIfFrozen
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.
(Inherited from DefinitionalObject.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Protected methodValidateProperties
Validates all properties for use in constructing the signal evaluator.
(Overrides SingleTargetRadarLinkScalarValidateProperties.)
Top
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