CFAR is a very common signal filtering method used to extract point target information that exceeds a dynamic threshold. The radar signal processing unit SPU of the AURIX™ TC3xx microcontroller integrates this hardware function and provides two typical CFAR algorithms.
1. Background introduction
When the radar echo signal power amplitude exceeds a certain threshold, it can be detected. This threshold cannot be fixed and must change dynamically according to the surrounding environment, target distribution, reflection intensity, clutter noise interference, etc., while CFAR (constant false alarm rate) is a typical means used to calculate dynamic thresholds. CFAR directly affects the probability of detection. For the same transceiver signal-to-noise ratio, a larger CFAR can obtain a larger detection probability.
2. Algorithm implementation
Since CFAR is very commonly used, the radar signal processing unit SPU of the AURIX™ TC3xx microcontroller integrates this hardware function and provides two typical CFAR algorithms, namely CA-CFAR (cell-averaging CFAR) and GOS-CFAR (generalized order statistic CFAR). Figure 1 is a typical CA-CFAR algorithm structure. SPU also integrates subcategories of the two algorithms to provide more detection methods. Both algorithms have their own advantages and disadvantages. GOS-CFAR has better performance in multi-target scenarios and is highly adaptable. Small adjustments to parameters have little impact on the filtering of clutter noise.
Figure 1: Typical CA-CFAR
In order to prevent the signals from each antenna with phase information from interfering with each other, NCI (non-coherent integer) power data without phase is usually used for CFAR processing, which can accurately represent the sum of the power of the echo signals on each antenna. The obtained CFAR result is based on bit (bit), and each bit corresponds to a piece of data in the NCI matrix. The data may be in a 32-bit or 16-bit storage format. The dimension of the NCI matrix is the number of range points multiplied by the number of Doppler points. The bits set to 1 in the CFAR result represent that the data corresponding to the NCI has been detected; the bits set to 0 (bits not set to 1 in the CFAR bit mask in Figure 2) represent the data corresponding to the NCI not detected.
The result detected by CFAR means that the power amplitude of the data point exceeds the dynamic threshold, and it is most likely a reflection point from a certain target. The information of this data point on each antenna needs to be retained for the next step of angle of arrival calculation. Data points that do not exceed the dynamic threshold may be noise and clutter and can be deleted. CFAR results can be used with the Bin rejection unit in the SPU to filter range-Doppler FFT results and delete unnecessary data points. Figure 2 graphically demonstrates how to filter range-Doppler FFT data with CFAR results.
Figure 2: Schematic diagram of range-Doppler FFT filtering of CFAR results
The Bin rejection unit in the SPU can easily implement the filtering function. The Bin rejection unit can set a variety of flexible judgment conditions, such as comparing with a set threshold, or setting the data vector dimensions that need to be retained, or setting the bit mask that needs to be retained in conjunction with the CFAR unit, etc. Data units that do not meet the conditions can be cleared or deleted.
Configure the CFAR results into the Bin rejection mask register in sequence. The register is 32 bits and has 64 groups, corresponding to a total of 2048 (=32x64) data. However, the range-Doppler FFT data dimension is often large, and the antenna dimension must also be considered, so the mask register needs to be configured multiple times to filter all three-dimensional data.
3. Use SPU one-dimensional CFAR to implement two-dimensional CFAR
The CFAR hardware implementation in the SPU is one-dimensional, which can be along the distance dimension or the Doppler dimension, but two-dimensional CFAR is often required in actual engineering applications. The theoretical two-dimensional CFAR implementation is to compare the measured point with the threshold calculated by the synthesis of a circle of surrounding points, which requires a large amount of calculation, especially when using GOS-CFAR, because the amount of calculation required for sorting is O(n^2 ), while one dimension is O(n). There is a two-dimensional CFAR synthesized from range and Doppler dimension CFAR respectively. This method effectively reduces the amount of engineering calculations, maintains real-time performance, and can also take into account performance in noisy environments. The following will introduce in detail how to use SPU's one-dimensional CFAR to implement two-dimensional CFAR and perform detection.
Figure 3: Two-dimensional CFAR, point target detection and arrival angle calculation process, and simulation results
The first line of the process in Figure 3 provides the two-dimensional CFAR, point target detection and angle of arrival calculation process. The steps shown in light blue are implemented using the SPU, while the green represents the steps implemented by the CPU. The second row of Figure 3 shows the simulation results of each step, which can intuitively represent the calculation method of two-dimensional CFAR. The first two steps in the figure are typical millimeter-wave radar signal preprocessing steps. In the first step, the range-dimensional NCI and GOS-CFAR are calculated at the same time. After the Doppler-dimensional CFAR is obtained in the second step, the two steps can be synthesized. dimension results.
It should be noted that since the storage method of CFAR is to represent a data point with one bit, and the Doppler result completed in the second step is the transpose of the distance result, so the bit and The (bit AND) operation is not simple and requires bit addressing of two mutually transposed CFAR results. Tricore™ CPU provides the bit operation instruction EXTR.U, which can easily extract a certain bit from a 32-bit word for processing. In some scenarios with frequent calls or short time margins, it is recommended to use assembly code to reduce the number of time-consuming memory accesses, enable the CPU instruction cache, and cooperate with the compiler's time optimization options to reduce code execution time. . For example, use the CPU to calculate a two-dimensional CFAR of 512*128 dimensions, detect and extract 128 point targets, and transfer the extracted target data to continuous memory to facilitate the implementation of the angle Fourier operation in the fourth step. The third step in Figure 3 takes about 1ms, and the CPU running frequency is 300MHz.
4. Summary
CFAR is a very common signal filtering method used to extract point target information that exceeds a dynamic threshold. The radar signal processing unit SPU of the AURIX ™ TC3xx microcontroller integrates this hardware function and provides two typical CFAR algorithms. In conjunction with the bin rejection hardware function in the SPU, the CFAR results are used to filter range-Doppler FFT to extract reflection points that may come from the target for the next step of angle of arrival calculation. In addition, the AURIX™ TC3xx CPU can perform bitwise AND operations on the one-dimensional CFAR results of two SPUs in a relatively short period of time to implement the two-dimensional CFAR filtering function and extract targets.