A fast two-dimensional CFAR target detection method based on parallel sliding window calculation
By employing a parallel sliding window computation method, the problems of low detection accuracy and low computational efficiency in 2D CFAR detection are solved, achieving efficient and accurate target detection.
Patent Information
- Application Number
- CN202310641173.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-01
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2043-06-01
AI Technical Summary
Existing two-dimensional CFAR detection methods have shortcomings in detection performance and computational efficiency, resulting in low detection accuracy and long calculation time, which may lead to false alarms.
The parallel sliding window calculation method is adopted. By extending the Doppler edge of the radar's two-dimensional detection plane, the sum of the reference area and the protection area is calculated in parallel. Combined with the constant false alarm rate detection threshold calculation, the position of the detected target is determined.
It improved detection accuracy, reduced false alarms, and increased computational efficiency.
Smart Images

Figure CN116973863B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of rapid radar image detection technology, specifically relating to a fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation. Background Technology
[0002] Constant False Alarm Rate (CFAR) detection technology, as an important research topic in the radar field, has gradually become a popular research subject in radar signal processing since the last century. The basic principle of CFAR detection is to estimate the average power of background clutter based on reference cells near the detection cell to obtain an adaptive detection threshold, thereby ensuring that the false alarm probability remains constant during detection. The excellent detection performance of CFAR has led to its widespread application in radar target detection, including target detection and tracking, imaging, early warning, fire control, guidance, and intelligent transportation. Since radar clutter and background noise coexist in both the range dimension and the Doppler dimension, the detection performance of traditional one-dimensional CFAR algorithms, including the cell-averaged CFAR algorithm (CA-CFAR) and the ordered statistical CFAR algorithm (OS-CFAR), is significantly reduced. Therefore, the research and application of two-dimensional CFAR detection is extremely important.
[0003] The principle of 2D CFAR detection is as follows: Figure 1 As shown, the CFAR processing window includes the target cell, protection cells, and reference cells. The target cell is located at the center of the CFAR processing window. The purpose of setting up protection cells is to prevent target energy across multiple cells from leaking into adjacent cells. The data in the reference cells is used to estimate the background clutter level. The estimated background clutter level is multiplied by a threshold factor to obtain the detection threshold. If the value of the target cell exceeds the detection threshold, it is a target; otherwise, it is not a target. Compared to one-dimensional CFAR detection, two-dimensional CFAR detection can detect data with two dimensions of information, thus having higher detection accuracy, stronger adaptability, and robustness. Although two-dimensional constant false alarm rate (CFAR) detection has better performance, the computational load increases significantly, making it difficult to meet real-time requirements.
[0004] To improve the detection efficiency of the two-dimensional CFAR algorithm, the patent "A fast two-dimensional CFAR target detection system and method" (application number: 201811267196.5) decomposes the two-dimensional coherent accumulation results into the distance dimension and velocity dimension respectively for CFAR detection, thus achieving fast two-dimensional CFAR detection; the patent "A two-dimensional scaled fast constant false alarm detection method" (application number: 201811344417.4) first divides the two-dimensional detection plane into equal blocks, uses the detection threshold to filter out the target sub-blocks, and then traverses and judges the target sub-blocks to select the target, which greatly reduces the detection time; the patent "An improved two-dimensional constant false alarm method" (201210288754.2) first finds the maximum spectral value of each distance, and then performs one-dimensional CFAR detection on this sequence to obtain the target distance, reducing the computational complexity by nearly half.
[0005] While the three patents mentioned above improve the efficiency of two-dimensional CFAR detection, they reduce the number of detection units, affecting the accuracy of clutter estimation and thus impacting detection accuracy. Patents "A Radar CFAR Target Detection Based on Prefix Summation Algorithm" (Application No.: 202110831314.6) and "A Two-Dimensional CFAR Threshold Calculation Method Based on Integral Images" (Application No.: 202111276338.6) have high sliding window calculation efficiency, but the initial table construction process is computationally time-consuming, failing to reduce the computational load of the detection process in practical applications. Patent "FMCW Radar Moving Target Constant False Alarm Detection Method" (Application No.: 202110781265.X) obtains the current background noise estimate through Monte Carlo independent random experiments, using the noise estimate to derive the decision threshold and ultimately achieve current moving target detection. While this avoids sliding window operation and improves detection efficiency, the invention assumes that clutter noise is fixed for a specific radar, an assumption that may lead to false alarms and reduce radar detection performance.
[0006] In summary, most current two-dimensional CFAR detection methods have low detection performance, take a long time to calculate, and have the potential for false alarms. Summary of the Invention
[0007] The purpose of this invention is to provide a fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation that improves detection accuracy, increases computational efficiency, and reduces false alarms.
[0008] The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation provided by this invention includes the following steps:
[0009] S1. Variable definition processing is performed for the two-dimensional detection plane of the radar and the two-dimensional CFAR target detection algorithm, and Doppler edge expansion processing is performed for the two-dimensional detection plane of the radar.
[0010] S2. Using the two-dimensional detection plane processed in step S1, perform one-dimensional reference area summation and one-dimensional protection area summation calculations on the first row of distance dimension data in the plane;
[0011] S3. Using the calculation results of step S2, calculate and process the mean value of the one-dimensional reference area and the mean value of the one-dimensional protection area for each detection point in the distance dimension;
[0012] S4. Using the two-dimensional detection plane processed in step S1 and the calculation results in step S3, perform a two-dimensional reference area summation calculation on the first column of Doppler data in the plane;
[0013] S5. Using the calculation results from step S4, perform a two-dimensional reference area summation calculation for each Doppler detection point;
[0014] S6. Perform constant false alarm rate (CFAR) detection threshold calculation for all detection points on the two-dimensional detection plane;
[0015] S7. Using the calculation results obtained in step S6, the location of the detection target is determined through traversal filtering.
[0016] Step S1 involves variable definition processing for the radar's two-dimensional detection plane and the two-dimensional CFAR target detection algorithm, and Doppler edge extension processing for the radar's two-dimensional detection plane. Specifically, this includes:
[0017] Define the two-dimensional detection plane dataset of the radar as the range-Doppler matrix data, where the range dimension of the matrix data is row and the Doppler dimension is col, and the detection point is data(i,j), where i = 1, 2, 3, ..., row and j = 1, 2, 3, ..., col;
[0018] In the two-dimensional CFAR target detection algorithm, both the reference window and the guard window for clutter estimation are defined as rectangular windows. The size of the rectangular reference window is N_row*N_col, where N_row is the range dimension length of the reference window and N_col is the Doppler dimension length of the reference window; the size of the rectangular guard window is M_row*M_col, where M_row is the range dimension length of the guard window and M_col is the Doppler dimension length of the guard window.
[0019] Doppler edge extension processing of the two-dimensional detection plane is achieved by copying, flipping, and moving the data of N_col+M_col on one side of the Doppler image of the two-dimensional detection plane to the opposite side;
[0020] Step S2, using the two-dimensional detection plane processed in step S1, involves calculating the sum of the one-dimensional reference area and the sum of the one-dimensional protection area for the first row of distance dimension data in the plane. Specifically, this includes:
[0021] The sliding direction of the detection window is defined as "forward", and the already calculated direction is defined as "backward". The first detection unit in the distance dimension is data(1,j), where j = 1,2,3,...,col. There are no available reference units in the backward direction of the distance dimension of the detection unit. The reference area is extended in the forward direction to keep the number of reference points in the distance dimension constant at 2*N_row, thereby ensuring that the clutter estimation is normal.
[0022] Define the forward far-end index of the distance dimension as ah_plus = M_row + 1 + 2 * N_row, and the forward near-end index of the distance dimension as ah_subt = M_row + 1; average the data of the forward far-end index and the forward near-end index to obtain the total number of cells in the distance dimension reference region, which is used to meet the reference point quantity requirement. The total number of cells in the distance dimension reference region is shown below:
[0023] ah_plus-ah_subt=2*N_row
[0024] Within the distance dimension protection area, sum the M_row values belonging to the range i = 2 to M_row+1 in the detection points data(1,j) and data(i,j);
[0025] The sum of the distance reference regions for the first row of data in the distance dimension is shown below:
[0026]
[0027] The total distance dimension protected area of the first row of data is shown below:
[0028]
[0029] Step S3, using the calculation results from step S2, performs one-dimensional reference area mean and one-dimensional protection area mean calculations for each detection point in the distance dimension. Specifically, this includes:
[0030] The distance-dimensional sliding window is divided into five stages, and parallel computation is performed on different Doppler units in the detection point data(i,j). Specifically, this includes:
[0031] (1) Edge detection points with no data in the backward reference region of the distance dimension:
[0032] For edge detection points without data in the backward reference region of the range dimension, the sample quantity and quality of clutter energy estimation are ensured by expanding the forward reference region. Based on the space occupied by the protection unit, the backward region units are included in the total protection region M_sum(i,j). The detection point data(i,j) covered in the region includes the first M_row+1 range units, and the value of i ranges from i=1 to M_row+1. When the reference window slides each time, the forward indices ah_plus and ah_subt are incremented by 1. The forward indices ah_plus and ah_subt are used as "pointers" to index the radar range dimension data.
[0033] The reference area summation update process is expressed by the following formula:
[0034] N_sum(i,j)=N_sum(i-1,j)+data(ah_plus,j)-data(ah_subt,j)
[0035] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ah_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window;
[0036] The process of updating the total protected area is expressed by the following formula:
[0037] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)
[0038] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, and data(ah_subt,j) represents the protection unit data added after the sliding window;
[0039] (2) Edge points in the backward reference region of the distance dimension where the number of data samples is less than a set value:
[0040] For edge points in the backward reference region with fewer than a set value of data samples, based on step (1), local clutter estimation is completed by including data points outside the protection unit in the backward region into the samples; the range of the value of i for the detection point data(i,j) covered in the region is i=M_row+2~M_row+N_row+1. Continuing from step (1), the window continues to slide forward, and backward near-end data is continuously added to the reference region summation while forward near-end data is deleted until the backward reference region reaches a complete state; the protection region summation adopts the opposite operation to the reference region summation, deleting backward near-end data and adding forward near-end data; the backward near-end index in the distance dimension is defined as ba_plus, and the calculation formula is as follows:
[0041] ba_plus = i - M_row - 1
[0042] The first detection point in step (2) is i = M_row + 2. According to the above formula, the backward proximal index at the first detection point is:
[0043] ba_plus = 1
[0044] Through the above processing, backward region points are gradually added to the region to which the detection point belongs; each time the reference sliding window slides, the indices ah_plus and ba_plus are incremented by 1.
[0045] The reference area summation update process is expressed by the following formula:
[0046] N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)-data(ah_subt,j)
[0047] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window;
[0048] The process of updating the total protected area is expressed by the following formula:
[0049] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j)
[0050] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the protection unit data added after sliding window, and data(ba_plus,j) represents the protection unit data deleted after sliding window;
[0051] (3) Distance to the middle segment region:
[0052] The detection point data(i,j) is slid-windowed to the middle region. The range of values for i in the detection points data(i,j) covered by this region is: M_row+N_row+1<i<row-M_row-N_row+1. The first detection point in the region of step (3) is located at i=M_row+N_row+2. It can be calculated that:
[0053] ba_subt = 1
[0054] The calculated index is used to progressively delete detection points outside the backward region reference window;
[0055] The detection point located in the middle section continues step (2) to slide forward. During the sliding window process, the total reference area and the total protection area are updated until the forward reference area reaches the edge, or the detection point is at the edge of the area i = M_row + N_row + 2 ~ row - M_row - N_row.
[0056] Each time the reference sliding window slides, the indices ah_plus, ah_subt, ba_plus, and ba_subt are incremented by 1.
[0057] The reference area summation update process is expressed by the following formula:
[0058] N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)+data(ah_plus,j)
[0059] -data(ba_subt,j)-data(ah_subt,j)
[0060] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the back reference cell data added after the sliding window, data(ah_plus,j) represents the forward reference cell data added after the sliding window, data(ba_subt,j) represents the back reference cell data deleted after the sliding window, and data(ah_subt,j) represents the forward reference cell data deleted after the sliding window;
[0061] The process of updating the total protected area is expressed by the following formula:
[0062] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j)
[0063] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the forward protection unit data added after sliding window, and data(ba_plus,j) represents the backward reference unit data deleted after sliding window;
[0064] (4) Edge points in the forward reference region of the distance dimension where the number of detection units is less than a set value:
[0065] For edge points where the number of detection units in the forward reference region is less than a set value, based on step (3), by including the reference points in the backward region into the sample, the number of clutter samples remains unchanged, thereby achieving low-distortion local clutter estimation; the range of the value of i in the detection point data(i,j) covered in the region is i=row-M_row-N_row+1~row-M_row; continuing from step (3), the window continues to slide forward. During each window slide, the forward near-end reference unit is deleted and the backward near-end reference unit is added; the forward near-end reference unit is added and the backward near-end reference unit is deleted. At the same time, during the window slide, the index ah_subt and ba_plus are both assigned and incremented by 1;
[0066] The reference area summation update process is expressed by the following formula:
[0067] N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)-data(ah_subt,j)
[0068] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window;
[0069] The process of updating the total protected area is expressed by the following formula:
[0070] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j)
[0071] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the protection unit data added after sliding window, and data(ba_plus,j) represents the protection unit data deleted after sliding window;
[0072] (5) Edge points within the forward reference region of the distance dimension that have no data:
[0073] For edge points without data within the forward reference region, the backward reference region is expanded to ensure that the number of clutter energy estimation samples is 2*N_row; the value range of i for the detection points data(i,j) covered within the region is i = row - M_row + 1 to row; during each window sliding, the reference region sum is added to the backward near-end reference unit and deleted to the backward far-end reference unit; the guard region sum is deleted to the backward near-end reference unit and deleted to the forward far-end reference unit. At the same time, during the window sliding process, the indices ba_plus and ba_plus are both incremented by 1.
[0074] The reference area summation update process is expressed by the following formula:
[0075] N_sum(i,:)=N_sum(i-1,:)+data(ba_plus,:)-data(ba_subt,:)
[0076] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,:) represents the reference cell data added after the sliding window, and data(ba_subt,:) represents the reference cell data deleted after the sliding window;
[0077] The process of updating the total protected area is expressed by the following formula:
[0078] M_sum(i,:)=M_sum(i-1,:)-data(ba_plus,:)
[0079] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, and data(ba_plus,:) represents the protection unit data deleted after sliding window;
[0080] Based on the above steps (1)-(5), parallel addition and subtraction operations are repeatedly performed on the detection points of each row of the distance dimension. After parallel sliding window calculation, the sum of the distance dimension reference region of all detection points data(i,j) in the two-dimensional detection plane is stored in matrix N_sum(i,j), and the sum of the distance dimension protected region is stored in matrix M_sum(i,j).
[0081] Step S4, using the two-dimensional detection plane processed in step S1 and the calculation results from step S3, performs a two-dimensional reference region summation calculation on the first column of Doppler data in the plane, specifically including:
[0082] Doppler detection is performed in a horizontal shift order from low frequency to high frequency. Doppler edge expansion is achieved based on symmetrical region stitching. The position of edge point data(i,j1) in the Doppler dimension is j1 = win_width + 1, and the position of edge point data(i,j2) in the Doppler dimension is j2 = win_width + col, where win_width represents the sliding window half-width of the Doppler dimension, and the calculation formula is as follows:
[0083] win_width = N_col + M_col
[0084] Different distance cells in the detection point data(i,j) are all processed in parallel, where i = 1, 2, 3, ..., row;
[0085] The reference window size for 2D CFAR detection is (2*N_row+1)*(2*N_col+1), the guard window size is (2*M_row+1)*(2*M_col+1), and the reference area is a loop-shaped window;
[0086] Based on the distance dimension reference region sum N_sum(i,j) and distance dimension protected region sum M_sum(i,j) calculated in step S3, a two-dimensional reference region sum N_sum_all(i,j) is constructed; by adding the distance dimension reference region sum N_sum(i,j) within the range of j = 1 to 2*win_width+1, and adding the rectangular data of the left and right sides of the loop window detection point, including the distance dimension protected region sum M_sum(i,j) within the range of j = 1 to N_col and the range of j = win_width+M_col+2 to 2*win_width+1, the data is processed by adding them together.
[0087] The following formula represents the calculation process of the sum of the reference region sample set for the initial detection point data(i,1):
[0088]
[0089] Where N_sum_all(i,win_width+1) represents the sum of the sample set of the two-dimensional sliding window reference region at the initial detection point (i,1);
[0090] Step S5, which uses the calculation results from step S4 to perform a two-dimensional reference region summation calculation for each Doppler detection point, specifically includes:
[0091] The sum of the reference sample set is computed in parallel within the Doppler sliding reference region. The coordinates of the detection points range from j = win_width + 2 to win_width + col. During each sliding window operation, the sum of the two-dimensional reference region N_sum_all(i,j) is updated. The update process includes adding the distance dimension reference region sum N_sum(i,j + win_width) and subtracting the distance dimension reference region sum N_sum(i,j - 1 - win_width). This update is implemented to achieve the update of the two-dimensional reference region sum for the loop window. In addition, the sums of the distance-dimensional protected regions M_sum(i,j-1-M_col) and M_sum(i,j+win_width) need to be added, and M_sum(i,j-1-win_width) and M_sum(i,j+M_col) need to be subtracted. The above process is repeated at each Doppler detection point for parallel processing. The calculation process is described by the following formula: N_sum_all(i,j)=N_sum_all(i,j-1)-N_sum(i,j-1-win_width)
[0092] +N_sum(i,j+win_width)+M_sum(i,j-1-M_col)
[0093] +M_sum(i,j+win_width)-M_sum(i,j-1-win_width)
[0094] -M_sum(i,j+M_col)
[0095] Where N_sum_all(i,j) represents the sum of the sample set within the two-dimensional sliding window reference region corresponding to the detection point (i,j), N_sum_all(i,j-1) represents the sum of the sample set within the two-dimensional sliding window reference region corresponding to the previous detection point in the Doppler dimension, N_sum(i,j-1-win_width) represents the elements in the distance dimension reference region located at (i,j-1-win_width) that will be deleted after sliding the window at the left end of the two-dimensional sliding window reference region, N_sum(i,j+win_width) represents the elements in the distance dimension reference region located at (i,j+win_width) that will be added after sliding the window at the right end of the two-dimensional sliding window reference region, and M_sum(i,j-1-M_ `col` represents the element in the distance-dimensional protected region (i,j-1-M_col) that will be added after the sliding window is opened at the left end of the two-dimensional sliding window reference region. `M_sum(i,j+win_width)` represents the element in the distance-dimensional protected region (i,j+win_width) that will be added after the sliding window is opened at the right end of the two-dimensional sliding window reference region. `M_sum(i,j-1-win_width)` represents the element in the distance-dimensional protected region (i,j-1-win_width) that will be deleted after the sliding window is opened at the left end of the two-dimensional sliding window reference region. `M_sum(i,j+M_col)` represents the element in the distance-dimensional protected region (i,j+M_col) that will be deleted after the sliding window is opened at the right end of the two-dimensional sliding window reference region.
[0096] Step S6, which involves calculating the constant false alarm rate (CFAR) detection threshold for all detection points on the two-dimensional detection plane, specifically includes:
[0097] Based on the sum of reference area samples N_sum_all(i,j) of all detection points on the radar's two-dimensional detection plane calculated in steps S4 and S5, the constant false alarm rate (CFAR) detection threshold for each detection point is calculated using the constant false alarm rate (CFAR) detection formula. The total number of reference sample points is expressed by the following formula:
[0098] N_num = (2*N_row+1)*(2*N_col+1)-(2*M_row+1)*(2*M_col+1) The false alarm parameter is calculated using the following formula:
[0099] beta=N_num*(P_fa∧(-1 / N_num)-1)
[0100] Where P_fa is the false alarm probability;
[0101] The threshold of the detection point data(i,j) is then calculated using the following formula:
[0102] N_th(i,j)=N_sum_all(i,j) / N_num*beta
[0103] Step S7, which uses the calculation results obtained in step S6 to determine the location of the detection target through traversal filtering, specifically includes:
[0104] Using the threshold calculated in step S6, and through a traversal filtering process, detection points that meet the following conditions are recorded as "targets":
[0105] data(i,j)>N_th(i,j)
[0106] The location of the detection point marked as "target" is recorded, thereby completing the determination of the detection target.
[0107] The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation provided by this invention introduces the ideas of parallel sliding window computation and pointer computation to calculate the mean of the reference area and the mean of the protection area of each monitoring point in parallel. At the same time, it introduces the distance dimension local clutter estimation method, obtains the constant false alarm detection threshold by calculating the clutter level, and compares it with the detection points to determine the location of the detected target. The accuracy of this invention is improved, the computational efficiency is increased, and the number of false alarms is reduced. Attached Figure Description
[0108] Figure 1 This is a schematic diagram illustrating the two-dimensional CFAR detection principle in the method of the present invention.
[0109] Figure 2 This is a schematic diagram of the method flow of the present invention.
[0110] Figure 3 This is a schematic diagram of the detection process of the two-dimensional CFAR target detection method proposed in this invention.
[0111] Figure 4 This is a diagram showing the detection effect of the two-dimensional CFAR target detection method proposed in this invention.
[0112] Figure 5 This is a comparison of the running time of the proposed two-dimensional CFAR target detection method and the traditional two-dimensional CFAR target detection method. Detailed Implementation
[0113] like Figure 2 The diagram shown illustrates the method flow of this invention: The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation provided by this invention includes the following steps:
[0114] S1. Variable definition processing is performed for the radar's two-dimensional detection plane and the two-dimensional CFAR target detection algorithm, and Doppler edge extension processing is performed on the radar's two-dimensional detection plane; specifically including:
[0115] Define the two-dimensional detection plane dataset of the radar as the range-Doppler matrix data, where the range dimension of the matrix data is row and the Doppler dimension is col, and the detection point is data(i,j), where i = 1, 2, 3, ..., row and j = 1, 2, 3, ..., col;
[0116] In the two-dimensional CFAR target detection algorithm, both the reference window and the guard window for clutter estimation are defined as rectangular windows. The size of the rectangular reference window is N_row*N_col, where N_row is the range dimension length of the reference window and N_col is the Doppler dimension length of the reference window; the size of the rectangular guard window is M_row*M_col, where M_row is the range dimension length of the guard window and M_col is the Doppler dimension length of the guard window.
[0117] By copying and moving the data from data(i,1) to data(i,N_col+M_col) on the left side to the right side within the two-dimensional detection plane, and simultaneously copying, flipping, and moving the data from data(i,col-N_col-M_col+1) on the right side to data(i,col) to the left side, the Doppler edge extension processing of the two-dimensional detection plane is achieved.
[0118] S2. Using the two-dimensional detection plane processed in step S1, perform one-dimensional reference area summation and one-dimensional protection area summation calculations on the first row of distance dimension data in the plane; specifically including:
[0119] The sliding direction of the detection window is defined as "forward", and the already calculated direction is defined as "backward". The first detection unit in the distance dimension is data(1,j), where j = 1,2,3,...,col. There are no available reference units in the backward direction of the distance dimension of the detection unit. The reference area is extended in the forward direction to keep the number of reference points in the distance dimension constant at 2*N_row, thereby ensuring that the clutter estimation is normal.
[0120] Define the forward far-end index of the distance dimension as ah_plus = M_row + 1 + 2 * N_row, and the forward near-end index of the distance dimension as ah_subt = M_row + 1; average the data of the forward far-end index and the forward near-end index to obtain the total number of cells in the distance dimension reference region, which is used to meet the reference point quantity requirement. The total number of cells in the distance dimension reference region is shown below:
[0121] ah_plus-ah_subt=2*N_row
[0122] Within the distance dimension protection area, sum the M_row values belonging to the range i = 2 to M_row+1 in the detection points data(1,j) and data(i,j);
[0123] The sum of the distance reference regions for the first row of data in the distance dimension is shown below:
[0124]
[0125] The total distance dimension protected area of the first row of data is shown below:
[0126]
[0127] S3. Using the calculation results from step S2, calculate and process the one-dimensional reference area mean and one-dimensional protection area mean for each detection point in the distance dimension; specifically including:
[0128] The distance-dimensional sliding window is divided into five stages, and parallel computation is performed on different Doppler units in the detection point data(i,j). Specifically, this includes:
[0129] (1) Edge detection points with no data in the backward reference region of the distance dimension:
[0130] For edge detection points without data in the backward reference region of the range dimension, the sample quantity and quality of clutter energy estimation are ensured by expanding the forward reference region. Based on the space occupied by the protection unit, the backward region units are included in the total protection region M_sum(i,j). The detection point data(i,j) covered in the region includes the first M_row+1 range units, and the value of i ranges from i=1 to M_row+1. When the reference window slides each time, the forward indices ah_plus and ah_subt are incremented by 1. The forward indices ah_plus and ah_subt are used as "pointers" to index the radar range dimension data.
[0131] The reference area summation update process is expressed by the following formula:
[0132] N_sum(i,j)=N_sum(i-1,j)+data(ah_plus,j)-data(ah_subt,j)
[0133] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ah_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window;
[0134] The process of updating the total protected area is expressed by the following formula:
[0135] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)
[0136] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, and data(ah_subt,j) represents the protection unit data added after the sliding window;
[0137] (2) Edge points in the backward reference region of the distance dimension where the number of data samples is less than a set value:
[0138] For edge points in the backward reference region with fewer than a set value of data samples, based on step (1), local clutter estimation is completed by including data points outside the protection unit in the backward region into the samples; the range of the value of i for the detection point data(i,j) covered in the region is i=M_row+2~M_row+N_row+1. Continuing from step (1), the window continues to slide forward, and backward near-end data is continuously added to the reference region summation while forward near-end data is deleted until the backward reference region reaches a complete state; the protection region summation adopts the opposite operation to the reference region summation, deleting backward near-end data and adding forward near-end data; the backward near-end index in the distance dimension is defined as ba_plus, and the calculation formula is as follows:
[0139] ba_plus = i - M_row - 1
[0140] The first detection point in step (2) is i = M_row + 2. According to the above formula, the backward proximal index at the first detection point is:
[0141] ba_plus = 1
[0142] Through the above processing, backward region points are gradually added to the region to which the detection point belongs; each time the reference sliding window slides, the indices ah_plus and ba_plus are incremented by 1.
[0143] The reference area summation update process is expressed by the following formula:
[0144] N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)-data(ah_subt,j)
[0145] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window;
[0146] The process of updating the total protected area is expressed by the following formula:
[0147] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j)
[0148] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the protection unit data added after sliding window, and data(ba_plus,j) represents the protection unit data deleted after sliding window;
[0149] (3) Distance to the middle segment region:
[0150] The detection point data(i,j) is slid-windowed to the middle region. The range of values for i in the detection points data(i,j) covered by this region is: M_row+N_row+1<i<row-M_row-N_row+1. The first detection point in the region of step (3) is located at i=M_row+N_row+2. It can be calculated that:
[0151] ba_subt = 1
[0152] The calculated index is used to progressively delete detection points outside the backward region reference window;
[0153] The detection point located in the middle section continues step (2) to slide forward. During the sliding window process, the total reference area and the total protection area are updated until the forward reference area reaches the edge, or the detection point is at the edge of the area i = M_row + N_row + 2 ~ row - M_row - N_row.
[0154] Each time the reference sliding window slides, the indices ah_plus, ah_subt, ba_plus, and ba_subt are incremented by 1.
[0155] The reference area summation update process is expressed by the following formula:
[0156] N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)+data(ah_plus,j)
[0157] -data(ba_subt,j)-data(ah_subt,j)
[0158] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the back reference cell data added after the sliding window, data(ah_plus,j) represents the forward reference cell data added after the sliding window, data(ba_subt,j) represents the back reference cell data deleted after the sliding window, and data(ah_subt,j) represents the forward reference cell data deleted after the sliding window;
[0159] The process of updating the total protected area is expressed by the following formula:
[0160] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j)
[0161] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the forward protection unit data added after sliding window, and data(ba_plus,j) represents the backward reference unit data deleted after sliding window;
[0162] (4) Edge points in the forward reference region of the distance dimension where the number of detection units is less than a set value:
[0163] For edge points where the number of detection units in the forward reference region is less than a set value, based on step (3), by including the reference points in the backward region into the sample, the number of clutter samples remains unchanged, thereby achieving low-distortion local clutter estimation; the range of the value of i in the detection point data(i,j) covered in the region is i=row-M_row-N_row+1~row-M_row; continuing from step (3), the window continues to slide forward. During each window slide, the forward near-end reference unit is deleted and the backward near-end reference unit is added; the forward near-end reference unit is added and the backward near-end reference unit is deleted. At the same time, during the window slide, the index ah_subt and ba_plus are both assigned and incremented by 1;
[0164] The reference area summation update process is expressed by the following formula:
[0165] N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)-data(ah_subt,j)
[0166] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window;
[0167] The process of updating the total protected area is expressed by the following formula:
[0168] M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j)
[0169] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the protection unit data added after sliding window, and data(ba_plus,j) represents the protection unit data deleted after sliding window;
[0170] (5) Edge points within the forward reference region of the distance dimension that have no data:
[0171] For edge points without data within the forward reference region, the backward reference region is expanded to ensure that the number of clutter energy estimation samples is 2*N_row; the value range of i for the detection points data(i,j) covered within the region is i = row - M_row + 1 to row; during each window sliding, the reference region sum is added to the backward near-end reference unit and deleted to the backward far-end reference unit; the guard region sum is deleted to the backward near-end reference unit and deleted to the forward far-end reference unit. At the same time, during the window sliding process, the indices ba_plus and ba_plus are both incremented by 1.
[0172] The reference area summation update process is expressed by the following formula:
[0173] N_sum(i,:)=N_sum(i-1,:)+data(ba_plus,:)-data(ba_subt,:)
[0174] Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,:) represents the reference cell data added after the sliding window, and data(ba_subt,:) represents the reference cell data deleted after the sliding window;
[0175] The process of updating the total protected area is expressed by the following formula:
[0176] M_sum(i,:)=M_sum(i-1,:)-data(ba_plus,:)
[0177] Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, and data(ba_plus,:) represents the protection unit data deleted after sliding window;
[0178] Based on the above steps (1)-(5), parallel addition and subtraction operations are repeatedly performed on the detection points of each row of the distance dimension. After parallel sliding window calculation, the sum of the distance dimension reference region of all detection points data(i,j) in the two-dimensional detection plane is stored in matrix N_sum(i,j), and the sum of the distance dimension protected region is stored in matrix M_sum(i,j). In the method of the present invention, the above steps (1)-(5) are used to repeatedly perform parallel addition and subtraction operations 4 to 6 times on the detection points of each row of the distance dimension.
[0179] S4. Using the two-dimensional detection plane processed in step S1 and the calculation results in step S3, perform a two-dimensional reference region summation calculation for the Doppler dimension in the plane; specifically including:
[0180] Doppler detection is performed in a horizontal shift order from low frequency to high frequency. Doppler edge expansion is achieved based on symmetrical region stitching. The position of edge point data(i,j1) in the Doppler dimension is j1 = win_width + 1, and the position of edge point data(i,j2) in the Doppler dimension is j2 = win_width + col, where win_width represents the sliding window half-width of the Doppler dimension, and the calculation formula is as follows:
[0181] win_width = N_col + M_col
[0182] Different distance cells in the detection point data(i,j) are all processed in parallel, where i = 1, 2, 3, ..., row;
[0183] The reference window size for 2D CFAR detection is (2*N_row+1)*(2*N_col+1), the guard window size is (2*M_row+1)*(2*M_col+1), and the reference area is a loop-shaped window;
[0184] Based on the distance dimension reference region sum N_sum(i,j) and distance dimension protected region sum M_sum(i,j) calculated in step S3, a two-dimensional reference region sum N_sum_all(i,j) is constructed; by adding the distance dimension reference region sum N_sum(i,j) within the range of j = 1 to 2*win_width+1, and adding the rectangular data of the left and right sides of the loop window detection point, including the distance dimension protected region sum M_sum(i,j) within the range of j = 1 to N_col and the range of j = win_width+M_col+2 to 2*win_width+1, the data is processed by adding them together.
[0185] The following formula represents the calculation process of the sum of the reference region sample set for the initial detection point data(i,1):
[0186]
[0187] Where N_sum_all(i,win_width+1) represents the sum of the sample set of the two-dimensional sliding window reference region at the initial detection point (i,1);
[0188] S5. Using the calculation results from step S4, perform a two-dimensional reference area summation calculation for each Doppler detection point; specifically including:
[0189] The sum of the reference sample set is computed in parallel within the Doppler sliding reference region. The coordinates of the detection points range from j = win_width + 2 to win_width + col. During each sliding window operation, the sum of the two-dimensional reference region N_sum_all(i,j) is updated. The update process includes adding the distance dimension reference region sum N_sum(i,j + win_width) and subtracting the distance dimension reference region sum N_sum(i,j - 1 - win_width). This update is implemented to achieve the update of the two-dimensional reference region sum for the loop window. In addition, the sums of the distance-dimensional protected regions M_sum(i,j-1-M_col) and M_sum(i,j+win_width) need to be added, and M_sum(i,j-1-win_width) and M_sum(i,j+M_col) need to be subtracted. The above process is repeated at each Doppler detection point for parallel processing. The calculation process is described by the following formula: N_sum_all(i,j)=N_sum_all(i,j-1)-N_sum(i,j-1-win_width)
[0190] +N_sum(i,j+win_width)+M_sum(i,j-1-M_col)
[0191] +M_sum(i,j+win_width)-M_sum(i,j-1-win_width)
[0192] -M_sum(i,j+M_col)
[0193] Where N_sum_all(i,j) represents the sum of the sample set within the two-dimensional sliding window reference region corresponding to the detection point (i,j), N_sum_all(i,j-1) represents the sum of the sample set within the two-dimensional sliding window reference region corresponding to the previous detection point in the Doppler dimension, N_sum(i,j-1-win_width) represents the elements in the distance dimension reference region located at (i,j-1-win_width) that will be deleted after sliding the window at the left end of the two-dimensional sliding window reference region, N_sum(i,j+win_width) represents the elements in the distance dimension reference region located at (i,j+win_width) that will be added after sliding the window at the right end of the two-dimensional sliding window reference region, and M_sum(i,j-1-M_ `col` represents the element in the distance-dimensional protected region (i,j-1-M_col) that will be added after the sliding window is opened at the left end of the two-dimensional sliding window reference region. `M_sum(i,j+win_width)` represents the element in the distance-dimensional protected region (i,j+win_width) that will be added after the sliding window is opened at the right end of the two-dimensional sliding window reference region. `M_sum(i,j-1-win_width)` represents the element in the distance-dimensional protected region (i,j-1-win_width) that will be deleted after the sliding window is opened at the left end of the two-dimensional sliding window reference region. `M_sum(i,j+M_col)` represents the element in the distance-dimensional protected region (i,j+M_col) that will be deleted after the sliding window is opened at the right end of the two-dimensional sliding window reference region.
[0194] S6. Calculate the constant false alarm rate (CFAR) detection threshold for all detection points on the two-dimensional detection plane; specifically including:
[0195] Based on the sum of reference area samples N_sum_all(i,j) of all detection points on the radar's two-dimensional detection plane calculated in steps S4 and S5, the constant false alarm rate (CFAR) detection threshold for each detection point is calculated using the constant false alarm rate (CFAR) detection formula. The total number of reference sample points is expressed by the following formula:
[0196] N_num = (2*N_row+1)*(2*N_col+1)-(2*M_row+1)*(2*M_col+1) The false alarm parameter is calculated using the following formula:
[0197] beta=N_num*(P_fa∧(-1 / N_num)-1)
[0198] Where P_fa is the false alarm probability;
[0199] The threshold of the detection point data(i,j) is then calculated using the following formula:
[0200] N_th(i,j)=N_sum_all(i,j) / N_num*beta
[0201] The specific process of object detection is as follows: Figure 3 As shown;
[0202] S7. Using the calculation results obtained in step S6, the location of the detection target is determined through a traversal filtering process; specifically including:
[0203] Using the threshold calculated in step S6, and through a traversal filtering process, detection points that meet the following conditions are recorded as "targets":
[0204] data(i,j)>N_th(i,j)
[0205] The locations of the detection points marked as "targets" are recorded, thereby completing the determination of the detection target;
[0206] like Figure 4 The diagram shows the detection effect of the method of this invention. This method uses an impulse pulse ultra-wideband radar to detect three human targets located at 4 meters, 5 meters, and 6 meters behind a wall. The data is converted into a range-Doppler image by performing a Fourier transform in the time domain. Target detection is then performed using both the classic two-dimensional constant false alarm rate (CFAR) detection algorithm and the two-dimensional CFAR target detection algorithm proposed in this invention. The detection results are compared. The comparison shows that the target detection method proposed in this invention can accurately locate the breathing signals of three human targets at different distances, avoiding false alarms caused by non-uniform clutter and achieving target localization.
[0207] like Figure 5 The figure shown is a comparison of the computation time of the method of the present invention. The computation time of different detection methods is obtained through the Monte Carlo method and then compared and analyzed. Figure 5 The horizontal axis in the figure represents the detection window width, and the vertical axis represents the computation time as a logarithm of 10. Each point in the figure has undergone 100 calculations and the average value is taken. As can be seen from the figure, compared with the classic two-dimensional constant false alarm rate (CFAR) detection, the two-dimensional CFAR target detection method proposed in this invention can reduce the computation time by at least 1.5 orders of magnitude. When the detection window width is 80 or more, the computation time of the algorithm can be reduced by 3 orders of magnitude.
Claims
1. A fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation, comprising the following steps: S1. Variable definition processing is performed for the two-dimensional detection plane of the radar and the two-dimensional CFAR target detection algorithm, and Doppler edge expansion processing is performed for the two-dimensional detection plane of the radar. S2. Using the two-dimensional detection plane processed in step S1, perform one-dimensional reference area summation and one-dimensional protection area summation calculations on the first row of distance dimension data in the plane; S3. Using the calculation results of step S2, calculate and process the mean value of the one-dimensional reference area and the mean value of the one-dimensional protection area for each detection point in the distance dimension; S4. Using the two-dimensional detection plane processed in step S1 and the calculation results in step S3, perform a two-dimensional reference area summation calculation on the first column of Doppler data in the plane; S5. Using the calculation results from step S4, perform a two-dimensional reference area summation calculation for each Doppler detection point; S6. Perform constant false alarm rate (CFAR) detection threshold calculation for all detection points on the two-dimensional detection plane; S7. Using the calculation results obtained in step S6, the location of the detection target is determined through traversal filtering.
2. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 1, characterized in that... Step S1 involves variable definition processing for the radar's two-dimensional detection plane and the two-dimensional CFAR target detection algorithm, and Doppler edge extension processing for the radar's two-dimensional detection plane. Specifically, this includes: Define the two-dimensional detection plane dataset of the radar as the range-Doppler matrix data, where the range dimension of the matrix data is row and the Doppler dimension is col, and the detection point is data(i,j), where i = 1, 2, 3, ..., row and j = 1, 2, 3, ..., col; In the two-dimensional CFAR target detection algorithm, both the reference window and the guard window for clutter estimation are defined as rectangular windows. The size of the rectangular reference window is N_row*N_col, where N_row is the range dimension length of the reference window and N_col is the Doppler dimension length of the reference window; the size of the rectangular guard window is M_row*M_col, where M_row is the range dimension length of the guard window and M_col is the Doppler dimension length of the guard window. Doppler edge extension processing of the two-dimensional detection plane is achieved by copying, flipping, and moving the data of one side N_col+M_col of the Doppler image of the two-dimensional detection plane to the opposite side.
3. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 2, characterized in that... Step S2, using the two-dimensional detection plane processed in step S1, involves calculating the sum of the one-dimensional reference area and the sum of the one-dimensional protection area for the first row of distance dimension data in the plane. Specifically, this includes: The sliding direction of the detection window is defined as "forward" and the already calculated direction is defined as "backward". The first detection unit in the distance dimension is data(1,j), where j = 1,2,3,...,col. There are no available reference units in the backward direction of the distance dimension of the detection unit. The reference area is extended in the forward direction to keep the number of reference points in the distance dimension constant at 2*N_row, thereby ensuring that the clutter estimation is normal. Define the forward far-end index of the distance dimension as ah_plus = M_row + 1 + 2 * N_row, and the forward near-end index of the distance dimension as ah_subt = M_row + 1; average the data of the forward far-end index and the forward near-end index to obtain the total number of cells in the distance dimension reference region, which is used to meet the reference point quantity requirement. The total number of cells in the distance dimension reference region is shown below: ah_plus-ah_subt=2*N_row Within the distance dimension protection area, sum the M_row values belonging to the range i = 2 to M_row+1 in the detection points data(1,j) and data(i,j); The sum of the distance reference regions for the first row of data in the distance dimension is shown below: The total distance dimension protected area of the first row of data is shown below:
4. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 3, characterized in that... Step S3, using the calculation results from step S2, performs one-dimensional reference area mean and one-dimensional protection area mean calculations for each detection point in the distance dimension. Specifically, this includes: The distance-dimensional sliding window is divided into five stages, and parallel computation is performed on different Doppler units in the detection point data(i,j). Specifically, this includes: (1) Edge detection points with no data in the backward reference region of the distance dimension: For edge detection points without data in the backward reference region of the range dimension, the sample quantity and quality of clutter energy estimation are ensured by expanding the forward reference region. Based on the space occupied by the protection unit, the backward region units are included in the total protection region M_sum(i,j). The detection point data(i,j) covered in the region includes the first M_row+1 range units, and the value of i ranges from i=1 to M_row+1. When the reference window slides each time, the forward indices ah_plus and ah_subt are incremented by 1. The forward indices ah_plus and ah_subt are used as "pointers" to index the radar range dimension data. The reference area summation update process is expressed by the following formula: N_sum(i,j)=N_sum(i-1,j)+data(ah_plus,j)-data(ah_subt,j) where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ah_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window; The process of updating the total protected area is expressed by the following formula: M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j) Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, and data(ah_subt,j) represents the protection unit data added after the sliding window; (2) Edge points in the backward reference region of the distance dimension where the number of data samples is less than a set value: For edge points in the backward reference region with fewer than a set value of data samples, based on step (1), local clutter estimation is completed by including data points outside the protection unit in the backward region into the samples; the range of the value of i for the detection point data(i,j) covered in the region is i=M_row+2~M_row+N_row+1. Continuing from step (1), the window continues to slide forward, and backward near-end data is continuously added to the reference region summation while forward near-end data is deleted until the backward reference region reaches a complete state; the protection region summation adopts the opposite operation to the reference region summation, deleting backward near-end data and adding forward near-end data; the backward near-end index in the distance dimension is defined as ba_plus, and the calculation formula is as follows: ba_plus = i - M_row - 1 The first detection point in step (2) is i = M_row + 2. According to the above formula, the backward proximal index at the first detection point is: ba_plus = 1 Through the above processing, backward region points are gradually added to the region to which the detection point belongs; each time the reference sliding window slides, the indices ah_plus and ba_plus are incremented by 1. The reference area summation update process is expressed by the following formula: N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)-data(ah_subt,j) Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window; The process of updating the total protected area is expressed by the following formula: M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j) Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the protection unit data added after sliding window, and data(ba_plus,j) represents the protection unit data deleted after sliding window; (3) Distance to the middle segment region: The detection point data(i,j) is slid-windowed to the middle region. The range of values for i in the detection points data(i,j) covered by this region is: M_row+N_row+1<i<row-M_row-N_row+1. The first detection point in the region of step (3) is located at i=M_row+N_row+2. It can be calculated that: ba_subt = 1 The calculated index is used to progressively delete detection points outside the backward region reference window; The detection point located in the middle section continues step (2) to slide forward. During the sliding window process, the total reference area and the total protection area are updated until the forward reference area reaches the edge, or the detection point is at the edge of the area i = M_row + N_row + 2 ~ row - M_row - N_row. Each time the reference sliding window slides, the indices ah_plus, ah_subt, ba_plus, and ba_subt are incremented by 1. The reference area summation update process is expressed by the following formula: N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)+data(ah_plus,j)-data(ba_subt,j)-data(ah_subt,j) Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the back reference cell data added after the sliding window, data(ah_plus,j) represents the forward reference cell data added after the sliding window, data(ba_subt,j) represents the back reference cell data deleted after the sliding window, and data(ah_subt,j) represents the forward reference cell data deleted after the sliding window; The process of updating the total protected area is expressed by the following formula: M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j) Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the forward protection unit data added after sliding window, and data(ba_plus,j) represents the backward reference unit data deleted after sliding window; (4) Edge points in the forward reference region of the distance dimension where the number of detection units is less than a set value: For edge points where the number of detection units in the forward reference region is less than a set value, based on step (3), by including the reference points in the backward region into the sample, the number of clutter samples remains unchanged, thereby achieving low-distortion local clutter estimation; the range of the value of i in the detection point data(i,j) covered in the region is i=row-M_row-N_row+1~row-M_row; continuing from step (3), the window continues to slide forward. During each window slide, the forward near-end reference unit is deleted and the backward near-end reference unit is added; the forward near-end reference unit is added and the backward near-end reference unit is deleted. At the same time, during the window slide, the index ah_subt and ba_plus are both assigned and incremented by 1; The reference area summation update process is expressed by the following formula: N_sum(i,j)=N_sum(i-1,j)+data(ba_plus,j)-data(ah_subt,j) Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,j) represents the reference cell data added after the sliding window, and data(ah_subt,j) represents the reference cell data deleted after the sliding window; The process of updating the total protected area is expressed by the following formula: M_sum(i,j)=M_sum(i-1,j)+data(ah_subt,j)-data(ba_plus,j) Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, data(ah_subt,j) represents the protection unit data added after sliding window, and data(ba_plus,j) represents the protection unit data deleted after sliding window; (5) Edge points within the forward reference region of the distance dimension that have no data: For edge points with no data in the forward reference region, the backward reference region is expanded to ensure that the number of clutter energy estimation samples is 2*N_row; the value range of i for the detection points data(i,j) covered in the region is i=row-M_row+1~row; during each window sliding, the backward near-end reference unit is added to the total reference region, and the backward far-end reference unit is deleted; the backward near-end reference unit is deleted to the total guard region, and the forward far-end reference unit is deleted. At the same time, during the window sliding process, the indices ba_plus and ba_plus are both incremented by 1. The reference area summation update process is expressed by the following formula: N_sum(i,:)=N_sum(i-1,:)+data(ba_plus,:)-data(ba_subt,:) Where N_sum(i,j) represents the sum of the current distance gate reference regions, N_sum(i-1,j) represents the sum of the previous distance gate reference regions, data(ba_plus,:) represents the reference cell data added after the sliding window, and data(ba_subt,:) represents the reference cell data deleted after the sliding window; The process of updating the total protected area is expressed by the following formula: M_sum(i,:)=M_sum(i-1,:)-data(ba_plus,:) Where M_sum(i,j) represents the sum of the current distance gate protection area, M_sum(i-1,j) represents the sum of the previous distance gate protection area, and data(ba_plus,:) represents the protection unit data deleted after sliding window; Based on the above steps (1)-(5), parallel addition and subtraction operations are repeatedly performed on the detection points of each row of the distance dimension. After parallel sliding window calculation, the sum of the distance dimension reference region of all detection points data(i,j) in the two-dimensional detection plane is stored in matrix N_sum(i,j), and the sum of the distance dimension protected region is stored in matrix M_sum(i,j).
5. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 4, characterized in that... Step S4, using the two-dimensional detection plane processed in step S1 and the calculation results from step S3, performs a two-dimensional reference region summation calculation on the first column of Doppler data in the plane, specifically including: Doppler detection is performed in a horizontal shift order from low frequency to high frequency. Doppler edge expansion is achieved based on symmetrical region stitching. The position of edge point data(i,j1) in the Doppler dimension is j1 = win_width + 1, and the position of edge point data(i,j2) in the Doppler dimension is j2 = win_width + col, where win_width represents the sliding window half-width of the Doppler dimension, and the calculation formula is as follows: win_width = N_col + M_col Different distance cells in the detection point data(i,j) are processed in parallel, where i = 1, 2, 3, ..., row; The reference window size for 2D CFAR detection is (2*N_row+1)*(2*N_col+1), the guard window size is (2*M_row+1)*(2*M_col+1), and the reference area is a loop-shaped window; Based on the distance dimension reference region sum N_sum(i,j) and distance dimension protected region sum M_sum(i,j) calculated in step S3, a two-dimensional reference region sum N_sum_all(i,j) is constructed; by adding the distance dimension reference region sum N_sum(i,j) within the range of j = 1 to 2*win_width+1, and adding the rectangular data of the left and right sides of the loop window detection point, including the distance dimension protected region sum M_sum(i,j) within the range of j = 1 to N_col and the range of j = win_width+M_col+2 to 2*win_width+1, the data is processed by adding them together. The following formula represents the calculation process of the sum of the reference region sample set for the initial detection point data(i,1): Where N_sum_all(i,win_width+1) represents the sum of the sample set of the two-dimensional sliding window reference region at the initial detection point (i,1).
6. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 5, characterized in that... Step S5, which uses the calculation results from step S4 to perform a two-dimensional reference region summation calculation for each Doppler detection point, specifically includes: The sum of the reference sample set is calculated in parallel within the Doppler sliding reference region. The coordinates of the detection points range from j = win_width + 2 to win_width + col. During each sliding window operation, the sum of the two-dimensional reference region N_sum_all(i,j) is updated. The update process includes adding the distance dimension reference region sum N_sum(i,j + win_width) and subtracting the distance dimension reference region sum N_sum(i,j-1 - win_width). To update the sum of the two-dimensional reference region for the loop window, the distance dimension protected region sums M_sum(i,j-1 - M_col) and M_sum(i,j + win_width) also need to be added, and M_sum(i,j-1 - win_width) and M_sum(i,j + M_col) subtracted. The above process is repeated at each Doppler detection point for parallel computation. The calculation process is described by the following formula: N_sum_all(i,j)=N_sum_all(i,j-1)-N_sum(i,j-1-win_width)+N_sum(i,j+win_width)+M_sum(i,j-1-M_col)+M_sum(i,j+win_width)-M_sum(i,j-1-win_width)-M_sum(i,j+M_col) Where N_sum_all(i,j) represents the sum of the sample set within the two-dimensional sliding window reference region corresponding to the detection point (i,j), N_sum_all(i,j-1) represents the sum of the sample set within the two-dimensional sliding window reference region corresponding to the previous detection point in the Doppler dimension, N_sum(i,j-1-win_width) represents the elements in the distance dimension reference region located at (i,j-1-win_width) that will be deleted after sliding the window at the left end of the two-dimensional sliding window reference region, N_sum(i,j+win_width) represents the elements in the distance dimension reference region located at (i,j+win_width) that will be added after sliding the window at the right end of the two-dimensional sliding window reference region, and M_sum(i,j-1-M_ `col` represents the element in the distance-dimensional protected region (i,j-1-M_col) that will be added after the sliding window is opened at the left end of the two-dimensional sliding window reference region. `M_sum(i,j+win_width)` represents the element in the distance-dimensional protected region (i,j+win_width) that will be added after the sliding window is opened at the right end of the two-dimensional sliding window reference region. `M_sum(i,j-1-win_width)` represents the element in the distance-dimensional protected region (i,j-1-win_width) that will be deleted after the sliding window is opened at the left end of the two-dimensional sliding window reference region. `M_sum(i,j+M_col)` represents the element in the distance-dimensional protected region (i,j+M_col) that will be deleted after the sliding window is opened at the right end of the two-dimensional sliding window reference region.
7. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 6, characterized in that... Step S6, which involves calculating the constant false alarm rate (CFAR) detection threshold for all detection points on the two-dimensional detection plane, specifically includes: Based on the sum of reference area samples N_sum_all(i,j) of all detection points on the radar's two-dimensional detection plane calculated in steps S4 and S5, the constant false alarm rate (CFAR) detection threshold for each detection point is calculated using the constant false alarm rate (CFAR) detection formula. The total number of reference sample points is expressed by the following formula: N_num=(2*N_row+1)*(2*N_col+1)-(2*M_row+1)*(2*M_col+1) The false alarm parameter is calculated using the following formula: beta=N_num*(P_fa∧(-1 / N_num)-1) Where P_fa is the false alarm probability; The threshold of the detection point data(i,j) is then calculated using the following formula: N_th(i,j)=N_sum_all(i,j) / N_num*beta.
8. The fast two-dimensional CFAR target detection algorithm based on parallel sliding window computation according to claim 7, characterized in that... Step S7, which uses the calculation results obtained in step S6 to determine the location of the detection target through traversal filtering, specifically includes: Using the threshold calculated in step S6, and through a traversal filtering process, detection points that meet the following conditions are recorded as "targets": data(i,j)>N_th(i,j) The location of the detection point marked as "target" is recorded, thereby completing the determination of the detection target.
Citation Information
Patent Citations
Improved two-dimension constant false alarm method
CN102819010B
Rapid two-dimensional CFAR target detection system and detection method
CN109100701A
A two-dimensional scaled-down fast constant false alarm rate detection method
CN109856604B
Constant false alarm detection method for moving targets in FMCW radar
CN113671459B
Two-dimensional CFAR threshold calculation method based on integral image
CN113985382A