Engee documentation

CFAR Detector

CFAR receiver detection algorithm block.

cfar detector

Description

The CFAR Detector unit implements an algorithm to maintain a constant false alarm probability level using noise power estimation.

The input signal sequence is divided into intervals (cells). Detection is registered when the value of the signal cell under test (from the English. cell-under-test (CUT) - the cell under test) exceeds a threshold value. To maintain a constant false alarm rate, the threshold is set to a multiple of the image noise power.

The detector estimates the noise power from neighbouring cells surrounding the cell under test (CUT) using one of three cell averaging or order statistics (OS) methods.

The cell averaging methods are:

  • Cell Averaging (CA).

  • Greatest Cell Averaging (GOCA).

  • Smallest cell averaging (SOCA).

Detector for each test cell:

  1. Estimates noise statistics from the cell values in the training band surrounding the CUT cell.

  2. Calculates the threshold by multiplying the noise estimate by the threshold factor.

  3. Compares the CUT cell value to the threshold value to determine whether or not a target is present. If the value is greater than the threshold, the target is present.

Ports

Input

X - input signal
real vector-column M by 1 | real matrix M by N

A cell matrix given as a real vector-column M by 1 or a real matrix M by N.

The number of samples for the first dimension of the input matrix may be varied to simulate a change in signal length. The change in dimension may occur, for example, in the case of a pulse waveform with a variable pulse repetition rate.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Idx - cells to be tested
`real vector of length D

Testable cells (CUT) specified as a real vector of length D. Indices indicate the input elements or test cells on which detection processing is performed.

If the input signal on port X is a vector, Idx indicates the element. If the input signal on port X is a matrix, Idx indicates an element row. The same index is applied to all columns of the matrix. Detection is performed independently for each column Xww for the indices specified in Idx.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

K - threshold detection coefficient
positive scalar

The threshold coefficient used to calculate the detection threshold is specified as a positive scalar value.

Dependencies

To use this port, set the Threshold factor method parameters to Input port.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Output

Y - detection results
vector D by 1 | matrix D by N | matrix 1 by L | matrix 2 by L

Detection results whose format depends on the Output Format property:

  • If the Output Format parameters are set to Cut result, then Y is a D by 1 vector or a D by N matrix containing the logical detection results. D is the length of Idx and N is the number of columns of X. The rows of Y correspond to the rows of Idx. For each row, Y contains 1 in a column if there is a detection in the corresponding column of X. Otherwise, Y contains 0.

  • If the Output Format parameters are set to Detection index, then Y is a 1-by-L vector or a 2-by-L matrix containing the detection indices. L is the number of detections found in the input data. If X is a column vector, Y contains the index of each detection in X. If X is a matrix, Y contains the row and column indices of each detection in X. Each column of Y is of the form [detrow;detcol]. If the Source of number of detections parameter is set to Property, then L is equal to the value of the Maximum number of detections parameter. If the number of actual detections is less than this value, the columns without detections are set to NaN.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Th - calculated detection threshold
scalar

The detection threshold applied to the cells under test is returned as a scalar.

  • If the Output format parameters are set to CUT result, then Th returns the detection threshold if the Y element is 1 and NaN if the Y element is 0. The output of Th is the same size as Y.

  • If the Output format parameters are set to Detection index, then Th returns the detection threshold for each corresponding detection in Y. If the Source of the number of detections parameter is set to Property, the number of detections is given by the Maximum number of detections parameter. If the number of actual detections is less than this value, the columns without detections are set to NaN.

Dependencies

To use this port, select the Output Detection Threshold checkbox.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

N - noise power
positive scalar

An estimate of the noise power for each detected test cell, returned as a positive scalar.

  • If the Output format parameters are set to CUT result, N returns the noise power when Y is 1 and NaN if Y is 0. The output signal from port N is the same size as Y.

  • If the Output format parameters are set to Detection index, then N returns the noise power for each corresponding detection in Y. If the Source of the number of detections parameter is set to Property, then L is equal to the value of the Maximum number of detections parameter. If the number of actual detections is less than this value, the columns without detections are set to NaN.

Dependencies

To use this port, select the Output estimated noise power checkbox.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Parameters

CFAR algorithm - noise power estimation algorithm
CA (by default) | GOCA | SOCA | OS

Noise power estimation algorithm specified as CA, GOCA, SOCA or OS.

  • CA - averaging over a cell.

  • GOCA - averaging over the largest cell.

  • SOCA - averaging over the smallest cell.

  • OS - order statistics.

Number of guard cells - number of guard cells
2 (By default) | `positive integer'.

Specify the number of guard cells used in training as an even integer. This parameter determines the total number of cells on both sides of the cell being tested.

Number of training cells - number of training cells
2 (By default) | positive integer.

Specify the number of training cells used in training as an even integer. If possible, the training cells are equally divided before and after the cell to be tested.

Rank of order statistic - rank of order statistic
1 (by default) | `positive integer'.

Set the rank of order statistic used in the CFAR algorithm as a positive integer. The value of this parameter should range from 1 to the value of the Number of training cells parameter.

Dependencies

To use this parameter, set the CFAR Algorithm parameters to OS.

Threshold factor method - the method for determining the threshold factor
Auto (by default) | Input port | Custom.

Threshold factor method, set as Auto, Input port or Custom.

  • Auto - the application automatically calculates the threshold factor based on the desired probability of false alarm specified in the Probability of false alarm parameters. The calculation assumes that each independent input signal is a single pulse coming from a quadratic order detector without pulse integration. The calculation also assumes that the noise is white Gaussian.

  • Input port - the threshold factor is set using the K input port.

  • Custom - the threshold factor is set using the Custom threshold factor parameters.

Probability of false alarm - probability of false alarm
0.1 (By default)

Probability of false alarm, specified as a real scalar in the range from 0 to 1 (not inclusive).

Dependencies

To use this parameter, set the Threshold factor method parameters to Auto.

Custom threshold factor - customised threshold factor
1 (By default).

Custom threshold factor set as a positive scalar.

Dependencies

To use this parameter, set the Threshold factor method parameter to Custom.

Output format - format of detection results
CUT result (by default) | Detection index.

The format of detection results returned to the Y output port is set as CUT result or Detection index.

  • CUT result - The detection results represent the logical detection values (1 or 0) for each cell under test. 1 means that the value of the cell under test exceeds the detection threshold.

  • Detection index - the results are a vector or matrix containing indices of tested cells exceeding the detection threshold.

*Output threshold detection - output threshold coefficient
Off (by default) | On

Select this check box to enable threshold detection output via the Th output port.

Output estimated noise power - output noise power
Off (By default) | On

Select this check box to enable noise power output from the N output port.

Source of the number of detections - source of the number of detections for the report
Auto (By default) | Property.

Source of the number of detections, set as Auto or Property.

  • Auto - the number of detection indexes reported is equal to the total number of test cells in which indexes are detected.

  • Property - the number of reported detections is determined by the value of the Maximum number of detections parameters.

Dependencies

To use this parameter, set the Output format parameter to Detection index.

Maximum number of detections - the maximum number of detection indexes in the output
1 (By default) | positive integer.

The maximum number of detection indices to be output is specified as a positive integer.

Dependencies

To use this parameter, set the Output format parameter to Detection index and the Source of the number of detections parameter to Property.