CFAR Detector
A block of the CFAR receiver detection algorithm.
blockType: CFARDetector
Path in the library:
|
Description
Block CFAR Detector implements an algorithm for maintaining a constant false alarm probability level using noise power estimation.
The input signal sequence is divided into intervals (English cells — cells). The detection is recorded when the value of the signal cell under study (from eng. cell-under-test (CUT) — the tested cell exceeds the threshold value. To maintain a constant false alarm rate, the threshold is set to a multiple of the image noise power.
The detector evaluates the noise power from neighboring cells surrounding the cell under test (CUT) using one of three cell averaging methods or the Order statistics (OS) method.
The methods of cell averaging are:
-
Cell averaging (CA).
-
Averaging over the largest cell (GOCA).
-
Smallest cell Averaging (SOCA).
For each test cell, the detector:
-
Evaluates noise statistics based on cell values in the learning band surrounding the CUT cell.
-
Calculates the threshold by multiplying the noise estimate by the threshold factor.
-
Compares the value of the CUT cell with a threshold value to determine the presence or absence of a target. If the value is greater than the threshold, then the goal is present.
Ports
Entrance
X — input signal
real column vector M by 1
| real matrix M by N
A matrix of cells defined 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 can be changed to simulate a change in the length of the signal. A change in size can 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 — pass cells under test:q[<br>] a real vector of length D
The cells under test (CUT), specified as a real vector of length D. The indexes 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 the element string. The same index is applied to all columns of the matrix. Detection is performed independently for each column Xww for the indexes specified in Idx.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
K is the threshold coefficient of pass detection:q[<br>] positive scalar
The threshold coefficient used to calculate the detection threshold is set as a positive scalar value.
Dependencies
To use this port, set the Threshold factor method parameter to Input port
.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Output
Y — pass detection results:q[<br>] vector D by 1
| matrix D by N
| matrix 1 by L
| matrix 2 by L
Detection results, the format of which depends on the Output Format property:
-
If the Output Format parameter is 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 Idx, and N is the number of columns X. The Y lines correspond to the Idx lines. For each row, Y contains a1
in the column if there is a detection in the corresponding column X. Otherwise, Y contains0
. -
If the Output Format parameter is set to
Detection index
, then Y is a 1—by-L vector or a 2-by-L matrix containing detection indexes. 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 indexes of each detection in X. Each column Y has the format[detrow;detcol]
. If the Source of number of detections parameter is set toProperty
, 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, then the columns without detections are set toNaN
.
Data types: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
Th — calculated threshold for pass detection:q[<br>] scalar
The detection threshold applied to the cells under test is returned as a scalar.
-
If the Output format parameter is set to
CUT result
, then Th returns the detection threshold if the Y element is1
andNaN
if the Y element is0
. The output Th has the same size as Y. -
If the Output format parameter is 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 toProperty
, the number of detections is set by the Maximum number of detections parameter. If the number of actual detections is less than this value, the non-detections columns are set toNaN
.
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 is the noise power of
positive scalar
An estimate of the noise power for each detected test cell, returned as a positive scalar.
-
If the Output format parameter is set to
CUT result', then N returns the noise power when Y is `1
andNaN
if Y is0
. The output signal from port N has the same size as Y. -
If the Output format parameter is 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 toProperty
, 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, then the columns without detections are set toNaN
.
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 — pass noise power estimation algorithm:q[<br>] CA (default)
| GOCA
| SOCA
| OS
The noise power estimation algorithm, specified as CA
, GOCA
, SOCA
or `OS'.
-
CA
— cell averaging. -
'GOCA' — averaging over the largest cell.
-
`SOCA' — averaging over the smallest cell.
-
`OS' — order statistics.
Number of guard cells — number of pass protection cells:q[<br>] 2 (default)
| positive integer
Specify the number of safety 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 pass training cells:q[<br>] 2 (default)
| positive integer
Specify the number of training cells used in training as an even integer. If possible, the training cells are divided equally before and after the test cell.
Rank of order statistical — rank of ordinal statistics
1 (default)
| positive integer
Set the rank of the ordinal statistics used in the CFAR algorithm as a positive integer. The value of this parameter must be in the range from 1
to the value of the Number of training cells parameter.
Dependencies
To use this parameter, set the CFAR Algorithm parameter to OS
.
Threshold factor method — a method for determining the threshold coefficient of
Auto (default)
| Input port
| Custom
The method for determining the threshold coefficient is set as Auto
, Input port
or `Custom'.
-
Auto
— The application automatically calculates the threshold coefficient based on the desired probability of a false alarm specified in the Probability of false alarm parameter. The calculation assumes that each independent input signal is a single pulse coming from a detector with a quadratic order without pulse integration. The calculation also assumes that the noise is white Gaussian. -
`Input port' — the threshold coefficient is set using the input port K.
-
Custom
— the threshold factor is set using the Custom threshold factor parameter.
Probability of false alarm — probability of false alarm
0.1 (default)
The probability of a false alarm, set as a real scalar in the range from 0
to `1' (not inclusive).
Dependencies
To use this parameter, set the Threshold factor method parameter to Auto
.
Custom threshold factor — configurable threshold pass factor:q[<br>] 1 (default)
Adjustable threshold coefficient, set as a positive scalar.
Dependencies
To use this parameter, set the Threshold factor method parameter to Custom
.
Output format — the format of the detection results is
CUT result (default)
| Detection index
The format of the detection results returned to the output port Y is set as CUT result
or `Detection index'.
-
CUT result
— The detection results represent the logical detection values (1
or0
) for each tested cell.1
means that the value of the cell being checked exceeds the detection threshold. -
Detection index
— the results are a vector or matrix containing the indexes of the cells being tested that exceed the detection threshold.
Output threshold detection — output of the threshold coefficient
disabled (by default)
| enabled
Select this option to enable the output of detection thresholds via the Th output port.
Output estimated noise power — output noise power
disabled (by default)
| enabled
Select this option to enable the output of noise power through the output port N.
Source of the number of detections — the source of the number of detections for the pass report:q[<br>] Auto (default)
| Property
The source of the number of detections is set as Auto
or Property
.
-
Auto
— the number of registered detection indexes is equal to the total number of tested cells in which indexes are detected. -
Property
— the number of reported detections is determined by the value of the Maximum number of detections parameter.
Dependencies
To use this parameter, set the Output format parameter to `Detection index'.
Maximum number of detections — the maximum number of detection indexes at the output of
1 (default)
| positive integer
The maximum number of detection indexes that must be obtained at the output is set 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
.