Documentation Center

  • Trial Software
  • Product Updates

phased.CFARDetector System object

Package: phased

Constant false alarm rate (CFAR) detector

Description

The CFARDetector object implements a constant false-alarm rate detector.

To perform the detection:

  1. Define and set up your CFAR detector. See Construction.

  2. Call step to perform CFAR detection according to the properties of phased.CFARDetector. The behavior of step is specific to each object in the toolbox.

Construction

H = phased.CFARDetector creates a constant false alarm rate (CFAR) detector System object™, H. The object performs CFAR detection on the input data.

H = phased.CFARDetector(Name,Value) creates object, H, with each specified property Name set to the specified Value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

Properties

Method

CFAR algorithm

Specify the algorithm of the CFAR detector as a string. Values of this property are:

'CA'Cell-averaging CFAR
'GOCA'Greatest-of cell-averaging CFAR
'OS'Order statistic CFAR
'SOCA'Smallest-of cell-averaging CFAR

Default: 'CA'

Rank

Rank of order statistic

Specify the rank of the order statistic as a positive integer scalar. The value must be less than or equal to the value of the NumTrainingCells property. This property applies only when you set the Method property to 'OS'.

Default: 1

NumGuardCells

Number of guard cells

Specify the number of guard cells used in training as an even integer. This property specifies the total number of cells on both sides of the cell under test.

Default: 2, indicating that there is one guard cell at both the front and back of the cell under test

NumTrainingCells

Number of training cells

Specify the number of training cells used in training as an even integer. Whenever possible, the training cells are equally divided before and after the cell under test.

Default: 2, indicating that there is one training cell at both the front and back of the cell under test

ThresholdFactor

Methods of obtaining threshold factor

Specify whether the threshold factor comes from an automatic calculation, the CustomThresholdFactor property of this object, or an input argument in step. Values of this property are:

'Auto'The application calculates the threshold factor automatically based on the desired probability of false alarm specified in the ProbabilityFalseAlarm property. The calculation assumes each independent signal in the input is a single pulse coming out of a square law detector with no pulse integration. The calculation also assumes the noise is white Gaussian.
'Custom'The CustomThresholdFactor property of this object specifies the threshold factor.
'Input port'An input argument in each invocation of step specifies the threshold factor.

Default: 'Auto'

ProbabilityFalseAlarm

Desired probability of false alarm

Specify the desired probability of false alarm as a scalar between 0 and 1 (not inclusive). This property applies only when you set the ThresholdFactor property to 'Auto'.

Default: 0.1

CustomThresholdFactor

Custom threshold factor

Specify the custom threshold factor as a positive scalar. This property applies only when you set the ThresholdFactor property to 'Custom'. This property is tunable.

Default: 1

ThresholdOutputPort

Output detection threshold

To obtain the detection threshold, set this property to true and use the corresponding output argument when invoking step. If you do not want to obtain the detection threshold, set this property to false.

Default: false

Methods

cloneCreate CFAR detector object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepPerform CFAR detection

Examples

Perform cell-averaging CFAR detection on a given Gaussian noise vector with a desired probability of false alarm of 0.1. Assume that the data is from a square law detector and no pulse integration is performed. Use 50 cells to estimate the noise level and 1 cell to separate the test cell and training cells. Perform the detection on all cells of input.

rng(5);
hdet = phased.CFARDetector('NumTrainingCells',50,...
    'NumGuardCells',2,'ProbabilityFalseAlarm',0.1);
N = 1000; x = 1/sqrt(2)*(randn(N,1)+1i*randn(N,1));
dresult = step(hdet,abs(x).^2,1:N);
Pfa = sum(dresult)/N;

Algorithms

phased.CFARDetector uses cell averaging in three steps:

  1. Identify the training cells from the input, and form the noise estimate. The next table indicates how the detector forms the noise estimate, depending on the Method property value.

    MethodNoise Estimate
    'CA'Use the average of the values in all the training cells.
    'GOCA'Select the greater of the averages in the front training cells and rear training cells.
    'OS'Sort the values in the training cells in ascending order. Select the Nth item, where N is the value of the Rank property.
    'SOCA'Select the smaller of the averages in the front training cells and rear training cells.

  2. Multiply the noise estimate by the threshold factor to form the threshold.

  3. Compare the value in the test cell against the threshold to determine whether the target is present or absent. If the value is greater than the threshold, the target is present.

For further details, see [1].

References

[1] Richards, M. A. Fundamentals of Radar Signal Processing. New York: McGraw-Hill, 2005.

See Also

| |

Was this topic helpful?