Object detection with CFAR

Constant false alarm rate (CFAR) methods are designed to maintain a constant false alarm during threshold calculation for target detections using a power profile 1. In fact, a profile can be a profile obtained by observing a particular sensor output. In addition, since the threshold value depends not only on the noise power but also on the intereferers power, different adaptive thresholdings have been proposed for a variety of scenarios.

In all CFAR methods, a training window around the cell under test is selected with which the noise plus interference power level is estimated. Indeed, some cells around the cell under test are ignored so that a wideband target or clutter can be detected or removed. These cells are illustrated in the following figure.


cell averaging CFAR (CA-CFAR) is optimum for a uniform background noise and clutters. For instance, if the sensor is in a dense scattering environment such as on a forest with a dense trees population, the CA-CFAR can be used to find an optimum threshold for the power profile. However, this algorithm fails in keeping the false alarm rate constant in the presence of non-uniform clutters. In fact, for computing the threshold value, the noise plus clutter power is estimated by the summation of the cell reference values (see the above figure) and denoting it as \(Z=\sum_{i=1}^{N} x_i\). The Z value should be multiplied to a constant T to maintain a constant FAR:

\[T = (P_{fa})^{-\frac{1}{N}} - 1 \quad\quad (19)\]

in which N is the length of reference window (in the above figure is 10) and P_fa is the false alarm probability which is defined as:

\[P_{fa} = p_r (Y > Y_0 | H_0) \quad\quad (20)\]

meaning that the probability of the cell under test is greater than the threshold value when there is no target (or hypothesis 0, H_0). The detection probability is:

\[P_d = p_r (Y > Y_0 | H_1) \quad\quad (21)\]

where H_1 represents the hypothesis of the target presence.

In contrast, greater of CFAR (GO-CFAR) is designed specially to control the false alarm rate during the clutter power transition but it fails in detecting the closely spaced target such that they may appear in the reference window. In this CFAR, Z is:

\[\begin{split}Z &= max⁡(Y_1,Y_2 ) \quad\quad (22) \\ Y_1 &= \sum^{n}_{i=1} X_i \\ Y_2 &= \sum^{N}_{i=n+1} X_i\end{split}\]

where \({X_1, X_2, \cdots, X_n}\) is on the left side of the CUT, and \({X_{n+1}, X_2, \cdots, X_N}\) is on the right side. In fact, \(Y_1, Y_2\) are the power for the first and second halves of the reference window around the cell under test. The constant multiplier T, in this case, is found by having \(P_{fa}\) and solving the following equation for T 2, 3:

\[\begin{split}P_{fa}^{GO} = (1+T)^{-n} + (1+T)^{-(N-n)}- \sum_{i=0}^{n-1} \binom{n+i-1}{i} (2+T)^{-(n+i) } \\ - \sum_{i=0}^{N-n-1} \binom{n+i-1}{i} (2+T)^{-(N-n+i) } \quad\quad (23)\end{split}\]

where n is the size of reference window on the left side of CUT. On the other hand, the smallest of CA (SO-CFAR) can detect two near targets by selecting the minimum of the power in two halves of the reference window 2. Therefore possibly if two targets are close, the reference window for one of them contains the other in just one side of the window and the other target power is not computed in the noise power estimation. However, if there are more than two close targets this CFAR fails. The constant value T is obtained by:

\[P_{fa}^{SO} = (1+T) ^{-n}+(1+T) ^{-(N-n)} - P_{fa}^{GO} \quad\quad (24)\]

In contrast to all previous CFARs, order statistic CFAR (OS-CFAR) uses the ordered data in the reference window to determine Z. More specifically, if the ordered reference cells are:

\[x_{(1)} \leq x_{(2) } \leq \cdots \leq x_{(N)} \quad\quad\quad (25)\]

then \(Z = x_{(k)}\). The parameter k depends on the length of clutters and the number of targets in the scene. The constant value T determined by:

\[\begin{split}P_{fa}^{OS} &= T \sum_{i=k}^{N} \sum_{L = max⁡(0,i-r)}^{min⁡(i,N-r)} \binom{N-r} {L} \binom{r}{i-L} \sum_{j_1=0}^{L} \sum_{j_2=0}^{i-L} \times \\ & \frac{\binom{L}{j_1} \binom{i-L}{j_2} (-1)^{j_1+j_2} } {N-r-L+T+j_1+(j_2+r-i+L)/(1+C)} \quad\quad (26)\end{split}\]

in which r is the length of clutter in the reference window, C is the total clutter power. Of course the obvious difference between OS-CFAR and the other CA-CFARs is considering the presence of clutters and the background should not be uniform necessarily. Furthermore, it can be shown that in the uniform clutter region has the maximum detection probability for \(k=7N/8\) 2.

The following is a table of useful CFAR methods with their pros and cons:





Optimum performance in a homogeneous clutter environment

Degrades performance in the presence of an interference


FAR is remained the same for the clutter transition region

Fails to detect two closely spaced targets


Detecting two closely separated targets

Degrades significantly when the targets are in both leading and lagging windows or there are more than two close targets


Detecting narrowband multiple targets

Increases CFAR at the clutter edges

Indeed, there are three CFAR parameters managing its performance:

  1. gap length,

  2. training length,

  3. false alarm rate (\(P_{fa}\))

The CFAR method also can be different, but we found smallest-of cell-averaging CFAR (SOCA-CFAR) has better performance than cell-averaging, greatest-of cell-averaging CFARs. These functions are defined in radar.RadarFcnLib.

In an ideal system, the detection rate (\(P_d\)) should be very high as 99%, and false alarm rate (\(P_{fa}\)) should be very low as one thousandth. With low \(P_d\), the number of points lost is high leading to losing target information. On the other hand, with high \(P_{fa}\), the number of erroneous detected points is high, which in turn, becomes annoying. Thus, there is a tradeoff between \(P_d\) and \(P_{fa}\). We always aim to have high P_d, or low miss probability, even though if there are extra points that are not from the targets. Moreover, the higher the SNR is, the lower the \(P_{fa}\) is for a particular \(P_d\). Thus, depending on the size and range of targets, \(P_{fa}\) should be adjusted, which is now done manually.

Although training length (\(N_t\)) in CFAR controls \(P_d\), it is not influencing it as \(P_{fa}\). Therefore, we used to tune this length to achieve a desired \(P_d\) without having extra points.

Furthermore, the gap length (\(N_g\)) determines how much close the targets can be. Hence, we set them from 2 to 10 in order to be able to detect the targets as close as possible.



P. P. Gandhi and S. A. Kassam, “Analysis of CFAR processors in nonhomogeneous background,” IEEE Trans. Aerosp. Electron. Syst., vol. 24, no. 4, pp. 427–445, Jul. 1988.


H. Rohling, “Radar CFAR Thresholding in Clutter and Multiple Target Situations,” IEEE Trans. Aerosp. Electron. Syst., vol. AES-19, no. 4, pp. 608–621, Jul. 1983.


V. G. Hansen and J. H. Sawyers, “Detectability Loss Due to “Greatest Of” Selection in a Cell-Averaging CFAR, ” in IEEE Transactions on Aerospace and Electronic Systems, vol. AES-16, no. 1, pp. 115-118, Jan. 1980.