A real-time clustering method for broadband collision pulses based on FPGA
By designing a broadband collision pulse real-time clustering method on the FPGA platform, using high-speed AD acquisition and STFT processing, the real-time and applicability problems of traditional DSP methods in high bandwidth and complex pulse scenarios are solved, and more efficient pulse clustering processing is achieved.
Patent Information
- Application Number
- CN202111326389.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-10
- Publication Date
- 2025-03-25
- Estimated Expiration
- 2041-11-10
AI Technical Summary
The traditional DSP-based pulse clustering method has poor real-time performance and limited application scope when facing scenarios with large signal bandwidth, collision of pulses and large data throughput.
The real-time clustering method of broadband collision pulses based on FPGA is adopted, and the number of parallel processing subunits and inter-group clustering is determined through high-speed AD acquisition and FPGA synchronization data processing, and digital channelization is used to realize multi-channel parallel detection and frequency and time domain clustering.
It improves the real-time and scope of application of pulse clustering, can handle broadband collision pulse scenarios more efficiently, and makes up for the shortcomings of traditional DSP methods.
Smart Images

Figure CN114492557B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of electronic reconnaissance, and in particular relates to a method for implementing real-time clustering of broadband collision pulses in the field of radar reconnaissance. Background Art
[0002] In modern electronic warfare, electronic reconnaissance technology is the most important means of obtaining intelligence on the enemy's strategic deployment, military forces and equipment. Electronic reconnaissance technology uses our electronic reconnaissance equipment to intercept the enemy's electromagnetic signals, process and analyze them, identify the operating frequency, pulse characteristics and modulation mode of the enemy's electronic equipment, locate the enemy's position, and win the initiative in the war for us. Among them, pulse clustering is the most important part of electronic reconnaissance technology. This method can calculate parameters such as pulse frequency, pulse arrival time, pulse end time, signal power, etc. from massive data, so as to accurately calculate important parameters such as pulse frequency, pulse width and pulse repetition period. The broadband collision pulse scenario has the characteristics of large signal bandwidth and overlapping collision of pulse signals in the time domain and frequency domain. When performing pulse clustering, the signal is complex and the data volume is large. This type of special scenario poses new challenges to the pulse clustering method.
[0003] The traditional pulse clustering method is based on the DSP processing platform. Its main processing flow is to store all the pulse detection results in the external storage space. First, the target data is read out point by point from the external storage space for frequency-dimensional clustering and then stored back to the external storage, and then read point by point for time-dimensional clustering. Since DSP is a sequential execution chip, when faced with scenarios with large signal bandwidth, pulse collisions and large data throughput, pulse clustering involves a large amount of redundant calculations and repeated reading and writing of external storage space, which leads to serious time consumption and limited scope of application. With the increasing complexity of the electromagnetic environment, composite electronic devices are constantly emerging, with characteristics such as larger bandwidth, more complex pulse forms, and continuously improving anti-interference capabilities. This puts higher demands on electronic reconnaissance technology, and there is an urgent need for a pulse clustering method with stronger real-time performance and wider scope of application. Summary of the invention
[0004] The technical problem solved by the present invention is: in view of the poor real-time performance and insufficient adaptability of the traditional pulse clustering method based on DSP, a broadband collision pulse real-time clustering method based on FPGA with higher real-time performance and wider application range is proposed.
[0005] The purpose of the present invention is achieved through the following technical steps: A broadband collision pulse real-time clustering method based on FPGA, comprising the following steps:
[0006] A1. According to the high-speed AD acquisition characteristics and the FPGA synchronous data processing capability, the number of parallel processing sub-units for broadband collision pulse target detection is determined, and the number of inter-group clusters is determined in combination with the high-speed AD acquisition duration and the number of parallel processing sub-units;
[0007] A2. Use STFT to perform digital channelization processing and calculate the signal power and effective channel number in the frequency domain;
[0008] A3, complete pulse target detection and generate a multi-channel parallel detection result matrix;
[0009] A4. Complete frequency domain clustering between adjacent channels in parallel according to the detection result matrix;
[0010] A5. Clustering between adjacent time units based on the frequency domain clustering results;
[0011] A6, execute A4 and A5 in a loop to complete the time domain clustering process;
[0012] A7. According to the clustering result of A6 and the number of inter-group clusters, the pipeline completes the inter-group clustering processing and outputs the pulse description word.
[0013] Preferably, the method for determining the number of clusters between groups is as follows:
[0014]
[0015] Among them, T ADC is the AD acquisition duration in milliseconds, f s is the AD sampling rate, N win is the number of time units in a detection window, and K is the number of data points in a time unit.
[0016] Preferably, in A2, the signal power and the frequency domain effective channel number are calculated in the following manner:
[0017] AD samples the broadband collision pulse, and the FPGA synchronizes the AD sampling signal, and caches the N-channel AD data after synchronization in the sampling order to N parallel processing sub-units. Each parallel processing sub-unit caches K-point data in FIFO mode to represent a time unit;
[0018] The N-way parallel processing sub-units simultaneously output data that are multiplied by the K-point Hamming window data to complete the windowing process, and perform K-point STFT processing to realize digital channelization and determine the effective channel number in the frequency domain; and calculate the power values of all time units on the effective channel in the frequency domain, and cache the power values, M effective channel numbers and detection results into FIFO.
[0019] Preferably, an adaptive detection algorithm is used to complete pulse target detection. win A time unit is a detection window, Nwin The value range is 256-1024.
[0020] Preferably, in A4, frequency domain clustering between adjacent channels is performed in parallel in the following manner:
[0021] Read the first time unit from each FIFO to form the first group of N time units, and read the detection results, channel numbers and power values corresponding to M valid channels;
[0022] The following processing is performed on every two adjacent time units in N time units at the same time, and N / 2 frequency domain clustering results are output in parallel, which are recorded as Time1~Time n , each channel contains 4 pulse information:
[0023] S1. Perform an OR operation on the detection results corresponding to the same valid channel of adjacent time units to obtain the combined detection results of adjacent time units, and determine the average channel number, point number, pulse start time, pulse end time and power sum of the pulse information according to the detection results to form a temporary PDW;
[0024] S2, calculate all the pulse information in M valid channels according to the method in S1, take the first 4 pulse information as the inter-channel clustering temporary PDW output; if the number of temporary PDWs is less than 4, fill the rest with 0, and record the number of valid data in the 4 temporary PDWs.
[0025] Preferably, the same pulse information is confirmed by:
[0026] In each clock cycle, the point with the detection result of 1 is searched and the number of consecutive 1s is counted; the channel number corresponding to the point with the first detection result of 1 is taken as the starting channel number, and the channel number corresponding to the last consecutive 1 point is taken as the ending channel number, and all points between the starting and ending channels are considered to be the same pulse information.
[0027] Preferably, the average channel number of the same pulse information is the sum of the starting channel number and the ending channel number multiplied by the channel clustering accuracy, the point sum is the number of 1s in the detection result matrix, the pulse start time is the time unit corresponding to the point where the detection result is 1 for the first time, the pulse end time is the time unit corresponding to the point where the last detection result of the same pulse is 1, and the power sum is the power sum corresponding to the points where the detection result of the same pulse is 1.
[0028] Preferably, the clustering operation between adjacent time units is completed in the following manner according to the frequency domain clustering result:
[0029] In the first step, the four PDWs in Time1 are PDW1, PDW2, PDW3, and PDW4, and the four PDWs in Time2 are PDW5, PDW6, PDW7, and PDW8; follow the steps below to complete the merger of PDW5 and PDW1:
[0030] If the average channel number in PDW5 is 0, PDW5 is output, the data valid flag of whether PDW5 is 0 is set to 0, and the merge flag of whether PDW1 is merged is set to 0;
[0031] If PDW5 is not 0 and PDW1 is 0, PDW5 is output, the data valid flag is set to 1, and the merge flag is set to 0;
[0032] If PDW5 is not 0, PDW1 is not 0 and the absolute value of the average channel difference is greater than 3, PDW5 is output, the data valid flag is set to 1, and the merge flag is set to 0;
[0033] If PDW5 is not 0, PDW1 is not 0 and the absolute value of the average channel difference is less than 3, the two pulses are merged, the data valid flag is set to 1, the merge flag is set to 1, and the PDW5 information is updated: wherein TOA is updated to the TOA to which PDW1 belongs, TOE is updated to the TOE to which PDW5 belongs, the average channel number is updated to the PDW5 channel number, the power is updated to the sum of the PDW1 power and the PDW5 power, and the points are updated to the sum of the PDW1 and PDW5 points;
[0034] And so on, the merging process of PDW5 and PDW2 to PDW4 is completed at the same time;
[0035] The second step is to delay for 1 clock cycle and output 4 temporary merging results and the flags of whether PDW1 to PDW4 are merged. The first result with the merging flag of 1 is selected in order as the final merging result of PDW5 and the first time unit time1, and recorded as PDW9. The merging flag of this bit is set to 1, and the other flags are set to 0.
[0036] In the third step, PDW6, PDW7, and PDW8 are merged with the pulse in time1 in the same way, and the merged results are reordered according to the principle of "non-0 first, 0 last" to form PDW10~PDW12; PDW1~PDW4 simultaneously obtain four merged results, and these results are ORed to obtain the final PDW merge flag, and the number of non-0 in PDW9~PDW12 is counted and recorded as P;
[0037] Step 4: The non-zero and unmerged data in PDW1~PDW4 are recorded as candidate PDWs as reg1~reg4. If the number is less than 4, fill it with 0; determine the final clustering results of the two time units according to P and the number of valid data in the candidate PDWs. If P is greater than or equal to 4, select [PDW9, PDW10, PDW11, PDW12] as the clustering result; if P is equal to 3, select [PDW9, PDW10, PDW11, reg1] as the clustering result; if P is equal to 2, select [PDW9, PDW10, reg1, reg2] as the clustering result; if P is equal to 1, select [PDW9, reg1, reg2, reg3] as the clustering result; if P is equal to 0, select [reg1, reg2, reg3, reg4] as the clustering result;
[0038] Step 5: For Time1~Time n , the time domain clustering operation of N / 2 frequency domain inter-clustering results is completed in a loop in sequence according to the first step to the fourth step, and the two-dimensional intra-group clustering results of the first group of parallel N time units are obtained.
[0039] Preferably, A7 forms a pulse description word in the following manner:
[0040] The first step is to merge the adjacent two-dimensional intra-group clustering results obtained by A5 and A6 according to the clustering operation between adjacent time units, and obtain four merge marks;
[0041] In the second step, the four merge flags are judged in turn, and the PDWs that have never been merged and have a point count greater than 16 are output as the inter-group clustering results;
[0042] The third step is to determine the number of clusters N between groups according to step (1) group , the above processing is completed in pipeline, and T is obtained in the set scenario by combining the time sequence. ADC The two-dimensional clustering result of duration forms a pulse description word.
[0043] Preferably, in the first step of merging processing, when the channel number is updated, the starting channel number is the channel number corresponding to the starting point where the detection result is continuously 1, and the ending channel number is the channel number corresponding to the ending point where the detection result is continuously 1; after the merging is completed, 4 merged results and the number of valid data are obtained.
[0044] The beneficial effects of the present invention compared with the prior art are:
[0045] The traditional pulse clustering method is based on the DSP processing platform. Faced with scenarios with large signal bandwidth, pulse collisions and large data throughput, the processing method using DSP sequential execution is limited in scope of application and cannot meet real-time requirements. The present invention designs a highly parallel two-dimensional real-time clustering structure based on the real-time clustering requirements of large-bandwidth collision pulse scenarios and utilizes the characteristics of FPGA pipeline processing. The processing method of the present invention lays a multi-channel parallel processing architecture through steps A2 and A3, and completes the two-dimensional pipeline pulse clustering processing through steps A4 to A7, thereby making up for the shortcomings of traditional DSP-based clustering methods. The present invention adopts a highly parallel architecture and utilizes the characteristics of FPGA pipeline processing to more efficiently complete pulse clustering in broadband collision pulse scenarios. It is a fast calculation method for pulse clustering with stronger real-time performance and a wider range of applications.
[0046] The present invention can be used in the fields of electronic reconnaissance, electronic interference and anti-interference, and provides methods of target detection, radar characteristic extraction and pulse description word generation, and has the characteristics of stronger real-time performance and wider applicability. BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure 1 It is a real-time processing flow chart of the method of the present invention;
[0048] Figure 2 It is a detailed design block diagram in an embodiment of the present invention;
[0049] Figure 3 Schematic diagram of the detection result matrix in the embodiment of the present invention
[0050] Figure 4 is a pulse clustering result diagram in an embodiment of the present invention; DETAILED DESCRIPTION
[0051] The present invention proposes a broadband collision pulse real-time clustering method based on FPGA. According to the real-time clustering requirements of large-bandwidth collision pulse scenarios, a highly parallel two-dimensional real-time clustering structure is designed by utilizing the FPGA pipeline processing characteristics, which improves the real-time performance of pulse clustering and broadens the scope of application.
[0052] like Figure 1 As shown, the steps of the method of the present invention are as follows:
[0053] (1) According to the high-speed AD acquisition characteristics and the FPGA synchronous data processing capability, the number of parallel processing sub-units for broadband collision pulse target detection is determined, and the number of inter-group clusters is determined in combination with the high-speed AD acquisition time and the number of parallel processing sub-units;
[0054] The method for determining the number of parallel processing sub-units for broadband collision pulse target detection is as follows:
[0055] The number of parallel processing sub-units for broadband collision pulse target detection N = N NUM ×Factor ADC , where N NUM Indicates the number of high-speed AD data ports, Factor ADC Indicates the serial-to-parallel conversion ratio of AD data in synchronization processing. The commonly used serial-to-parallel conversion ratio of ADC chips is 2:1 or 4:1.
[0056] The method for determining the number of clusters between groups is as follows:
[0057] Number of clusters between groups Where T ADC is the high-speed AD acquisition duration in milliseconds, f s is the AD sampling rate, N win is the number of time units in a detection window (usually 256-1024), K is the number of data points in a time unit, and the detailed design diagram of the method of the present invention is as follows: Figure 2 shown.
[0058] (2) Use STFT to perform digital channelization processing and calculate the signal power and effective channel number in the frequency domain;
[0059] AD samples the broadband collision pulse, and the FPGA synchronizes the AD sampling signal. The N channels of AD data after synchronization are cached in N parallel processing sub-units (i.e., N parallel FIFOs) according to the sampling order. Each parallel processing sub-unit caches K point data in FIFO mode to represent a time unit (the time unit represents the minimum interval of time domain processing, and the time domain resolution accuracy of each time unit is Δt = K / f s ); Secondly, the synchronized data is windowed, and a Hamming window includes K-point data to suppress the side lobe; the N-way parallel processing sub-unit simultaneously outputs data and multiplies the K-point Hamming window data to complete the windowing process, and performs K-point STFT processing to realize digital channelization, and its expression is:
[0060]
[0061] In the formula, is the window function, s(t) is the time domain signal, F(t,k) is the frequency domain result of the kth channel at time t, then the starting channel number D start =round(BW start / f s ), end channel number D end =round(BW end / f s ); Finally, find the power value of all time units on the effective channel P(t,k)=|F(t,k)| 2 ,k=D start:D end .
[0062] (3) Use adaptive detection algorithm to complete pulse target detection and generate a multi-channel parallel detection result matrix;
[0063] According to the adaptive detection algorithm, N win A time unit is a detection window. The initial threshold of adaptive detection is the product of the mean value of the effective channel power in the first detection window and the system signal-to-noise ratio. Its expression is:
[0064]
[0065] The adaptive detection iteration threshold expression is:
[0066]
[0067] In the formula, is the power sum less than the threshold in the previous detection window, TH i-1 is the threshold value of the previous detection window, H i-1 It is the number of values greater than the threshold in the previous detection window.
[0068] Perform N-way parallel detection on the power value generated in step (2) and compare it with the threshold in the current detection window. If the power at a certain point is greater than the current threshold value, the detection result is 1; if the power at a certain point is less than the threshold value, the detection result is 0. After the pipeline detection is completed, the N-way parallel detection result matrix is output; then the signal power, channel number and detection result are cached in FIFO. Among them, the N-way parallel processing units represent the time domain, the M channel numbers represent the frequency domain, and the detection matrix is as follows: Figure 3 shown.
[0069] (4) completing frequency domain clustering between adjacent channels in parallel according to the detection result matrix;
[0070] The criterion for inter-channel clustering is that if the adjacent channel detection results are all 1, it means they belong to the same pulse, and if there is 0 in the adjacent channel detection results, it means the pulse is disconnected. The inter-channel clustering accuracy is 0.5. The main steps are as follows:
[0071] Read the first group of N time units from the FIFO (read the first time unit from each FIFO to form the first group of N time units), the detection results, channel numbers and power values corresponding to the M channels, perform the following processing on every two adjacent time units in the N time units at the same time, and output N / 2 frequency domain clustering results in parallel, recorded as Time1~Time n , each channel contains 4 pulse information:
[0072] S1, perform an OR operation on the detection results corresponding to the same valid channel of adjacent time units to obtain the combined detection results of adjacent time units, find the point with a detection result of 1 in each clock cycle and count the number of consecutive 1s. The channel number corresponding to the point where the detection result of 1 first appears is used as the starting channel number, and the channel number corresponding to the last consecutive 1 point is used as the ending channel number. All points between the starting and ending channels are considered to be the same pulse information. The average channel number of the pulse is calculated as the sum of the starting channel number and the ending channel number multiplied by the channel clustering accuracy. The sum of the points is the number of 1s in the detection result matrix. The pulse start time is the time unit corresponding to the point where the detection result of 1 first appears. The pulse end time is the time unit corresponding to the point where the last detection result of 1 of the same pulse is 1. The power sum is the power sum corresponding to the points where the detection result of 1 of the same pulse is 1. The above information constitutes a temporary PDW;
[0073] S2, according to the clustering method in S1 above, calculate all the pulse information in M channels, take the first 4 pulse information as the inter-channel clustering temporary PDW output; if the number of valid temporary PDWs is less than 4, fill the rest with 0, and record the number of valid data in the 4 temporary PDWs.
[0074] (5) Clustering between adjacent time units based on the frequency domain clustering results;
[0075] The clustering criterion for adjacent time units is that if the absolute value of the average channel difference is less than 3, they belong to the same pulse, otherwise the pulse is considered to be disconnected. Taking Time1 and Time2 as an example for clustering adjacent time units, the main steps are as follows:
[0076] In the first step, the four PDWs in Time1 are PDW1, PDW2, PDW3, and PDW4, and the four PDWs in Time2 are PDW5, PDW6, PDW7, and PDW8. Taking the merger of PDW5 and PDW1 as an example, the two pulse merger process is elaborated in detail. According to the adjacent time unit clustering criterion, if the average channel number in PDW5 is 0, PDW5 is output, the data valid flag (whether PDW5 is 0) is set to 0, and the merger flag (whether PDW1 is merged) is set to 0; if PDW5 is not 0 and PDW1 is 0, PDW5 is output, the data valid flag is set to 1, and the merger flag is set to 0; if PDW5 is not 0, PDW1 is not 0 and the average channel difference absolute value is greater than 3, PDW5 is output, the data valid flag is set to 1, and the merger flag is set to 0; if PDW5 is not 0, PDW1 is not 0 and the average channel difference absolute value is greater than 3, the two pulses are merged, the data valid flag is set to 1, the merger flag is set to 1, and the PDW5 information is updated. Among them, TOA is updated to the TOA to which PDW1 belongs, TOE is updated to the TOE to which PDW5 belongs, the average channel number is updated to the channel number of PDW5, the power is updated to the sum of the power of PDW1 and the power of PDW5, and the points are updated to the sum of the points of PDW1 and PDW5;
[0077] In the second step, according to the above merging steps, PDW5 completes the merging process with PDW1~PDW4 at the same time, delays 1 clock cycle to output 4 temporary merging results and the flag of whether PDW1~PDW4 are merged, and selects the result with the first merging flag of 1 in order as the final merging result of PDW5 and the first time unit time1, recorded as PDW9, the merging flag of this bit is set to 1, and the other flags are set to 0;
[0078] In the third step, PDW6, PDW7, and PDW8 are merged with the pulse in time1 in the same way, and the merged results are reordered according to the principle of "non-0 first, 0 last" to form PDW10~PDW12; PDW1~PDW4 simultaneously obtain four merged results, and these results are OR-operated to obtain the final PDW merge flag, and at the same time, the number of non-0 in PDW9~PDW12 is counted and recorded as M;
[0079] The fourth step is to record the non-zero and unmerged data in PDW1~PDW4 as candidate PDWs as reg1~reg4. If the number is less than 4, fill it with 0. The final clustering results of the two time units are determined according to M and the number of valid data in the candidate PDWs. If M is greater than or equal to 4, select [PDW9, PDW10, PDW11, PDW12] as the clustering result; if M is equal to 3, select [PDW9, PDW10, PDW11, reg1] as the clustering result; if M is equal to 2, select [PDW9, PDW10, reg1, reg2] as the clustering result; if M is equal to 1, select [PDW9, reg1, reg2, reg3] as the clustering result; if M is equal to 0, select [reg1, reg2, reg3, reg4] as the clustering result.
[0080] The fifth step is to loop through the first to fourth steps, and sequentially loop through the clustering operations of N / 2 time units to obtain the two-dimensional intra-group clustering results of the first group of N parallel time units.
[0081] (6) Based on the clustering results of adjacent time units, the time domain clustering process within the group is completed in a pipeline in chronological order;
[0082] Read the next group of N time units and M channel data from the FIFO, and complete the intra-group merging according to steps (4) to (6);
[0083] (7) According to the intra-group clustering results and the number of inter-group clustering, the pipeline completes the inter-group clustering processing and outputs the pulse description word. The inter-group merging criterion is that if the clustering results of adjacent groups can be merged, they are considered to be the same pulse. If they cannot be merged and the second group results are all 0, the pulse is considered to be over. The main steps are as follows:
[0084] In the first step, the adjacent group results are merged according to the adjacent time unit clustering operation. When the channel number is updated, the starting channel number is the average channel value of the first group, and the ending channel number is the average channel value of the second group. The updating method of other parameters remains unchanged. After the merging is completed, 4 merged results and the merge flags of the 4 PDWs in the first group are obtained.
[0085] In the second step, the four merge flags are judged in turn, and the PDWs that have never been merged and have a point count greater than 16 are output as the inter-group clustering results;
[0086] The third step is to determine the number of clusters N between groups according to step (1) group , the above processing is completed in pipeline, and T is obtained in the set scenario by combining the time sequence. ADC The two-dimensional clustering result of the duration forms a pulse description word, where the pulse frequency is the difference between the end channel number and the start channel number, the pulse width is the difference between the pulse end time and the pulse arrival time, and the pulse repetition period is the difference between the arrival time of each pulse and the arrival time of the previous pulse.
[0087] The present invention is further described below with reference to the accompanying drawings and a specific embodiment to illustrate the working process of the present invention and the expected effects that can be achieved.
[0088] Assume that the broadband collision pulse measurement scenario contains three types of pulse signals. The first pulse is a point frequency pulse signal with a signal frequency of 9.0GHz, a pulse repetition rate of 3000Hz, and a signal pulse width of 10us; the second pulse is a linear frequency modulation signal with a signal frequency of 9.0GHz, a pulse repetition rate of 1350Hz, and a signal pulse width of 20us; the third pulse is a linear frequency modulation signal with a signal frequency of 9.0GHz, a pulse repetition rate of 2400Hz, and a signal pulse width of 30us. The scenario bandwidth is 1GHz, the AD sampling rate is 2.4Gsps, the signal acquisition time is 200ms, and the FPGA processing clock rate is 160MHz.
[0089] The method of the present invention comprises the following steps:
[0090] (1) According to the characteristics of sampling rate 2.4Gsps and 4-channel data parallel output, a 4:1 serial-to-parallel conversion ratio is used in FPGA for synchronization processing, 16 parallel data are output, and the number of parallel processing sub-units for broadband collision pulse target detection is determined to be 16; according to the signal acquisition time of 200ms and the number of parallel processing sub-units of 16, the number of inter-group clustering is determined to be 234368 groups;
[0091] (2) 16 channels of AD data are cached in 16 parallel FIFOs in sampling order. Each FIFO caches 128 points of data representing a time unit, and the resolution accuracy of each time unit is 53ns. Then, the 16 channels of FIFO are output simultaneously to complete windowing processing and perform 128-point STFT processing to realize digital signalization, and distribute the signal frequency domain characteristics on 128 frequency domain channels. Due to the symmetry of the signal spectrum, the data on channels 69 to 124 are taken as valid data, and the power of the valid channel data of all time units is calculated for subsequent pulse detection operations.
[0092] (3) According to the adaptive detection algorithm, 512 time units are used as a detection window, and the initial detection threshold is set as the power average of the previous 512 time windows. In the 16-way parallel detection process, the number of power units greater than the threshold and the power less than the threshold in the previous detection window are counted to calculate the threshold value of the current detection window, and the obtained threshold value is compared with the power value in the current detection window. The 16-way parallel detection result matrix is output, and then the signal power, channel number and detection result are cached in the FIFO. Among them, the 16-way parallel processing unit represents the time domain, and the pipeline data of 56 clock cycles represents the frequency domain;
[0093] (4) Perform intra-group clustering with 16 time units and 56 channels as a group. First, according to the inter-channel clustering criteria, 56 inter-channel clustering processes are completed to output 8-way merge results, which takes 18.75ns; secondly, two time unit clustering processes are performed according to the adjacent time unit clustering criteria, which takes 31.25ns; finally, the intra-group time unit clustering process is completed after 7 cycles, and each group of two-dimensional clustering processes takes a total of 45 clock cycles, or 281.25ns.
[0094] (5) Adjacent group clustering is performed according to the inter-group clustering criterion, which takes 50 ns, and then 234,368 groups of inter-group clustering are completed in a cycle to form a pulse description word. In terms of real-time performance, since the method of the present invention has completed the intra-group clustering of the first group of channels and time units when the second group of detection result matrices are input, the time consumed by the method of the present invention is only the sum of the intra-group clustering and adjacent group clustering time, which is 332 ns in total. In terms of accuracy, the two-dimensional pulse clustering results of this example are as follows: Figure 4 As shown, the frequency point of the first pulse clustering is 9000.12MHz, the pulse width is 9.899us, and the repetition rate is 3002.88Hz. The frequency point of the second pulse clustering is 9000.012MHz, the pulse width is 19.91us, and the repetition rate is 1351.449Hz. The frequency point of the third pulse clustering is 9000.122MHz, the pulse width is 30.72us, and the repetition rate is 2398.3Hz.
[0095] The present invention uses a typical broadband collision pulse measurement scenario as an example to illustrate the effectiveness of the method, effectively making up for the shortcomings of the traditional processing method. The present invention can be used for real-time pulse clustering processing in a variety of common scenarios or special scenarios.
[0096] The contents not described in detail in the specification of the present invention belong to the common knowledge of the professionals in this field.
Claims
1. A broadband collision pulse real-time clustering method based on FPGA, characterized in that The steps include: A1. According to the high-speed AD acquisition characteristics and the FPGA synchronous data processing capability, the number of parallel processing sub-units for broadband collision pulse target detection is determined, and the number of inter-group clusters is determined in combination with the high-speed AD acquisition duration and the number of parallel processing sub-units; A2. Use STFT to perform digital channelization processing and calculate the signal power and effective channel number in the frequency domain; A3, complete pulse target detection and generate a multi-channel parallel detection result matrix; A4. Complete frequency domain clustering between adjacent channels in parallel according to the detection result matrix; A5. Clustering between adjacent time units based on the frequency domain clustering results; A6, execute A4 and A5 in a loop to complete the time domain clustering process; A7. According to the clustering result of A6 and the number of inter-group clusters, the pipeline completes the inter-group clustering processing and outputs the pulse description word.
2. The method for real-time clustering of broadband collision pulses based on FPGA according to claim 1, characterized in that The method for determining the number of clusters between groups is as follows: Among them, T ADC is the AD acquisition duration in milliseconds, f s is the AD sampling rate, N win is the number of time units in a detection window, K is the number of data points in a time unit, and N is the number of parallel processing sub-units for broadband collision pulse target detection.
3. The FPGA-based broadband collision pulse real-time clustering method according to claim 1, characterized in that: In A2, the signal power and the effective channel number in the frequency domain are calculated in the following way: AD samples the broadband collision pulse, and the FPGA synchronizes the AD sampling signal, and caches the N-channel AD data after synchronization in the sampling order to N parallel processing sub-units. Each parallel processing sub-unit caches K-point data in FIFO mode to represent a time unit; The N-way parallel processing sub-units simultaneously output data that are multiplied by the K-point Hamming window data to complete the windowing process, and perform K-point STFT processing to realize digital channelization and determine the effective channel number in the frequency domain; and calculate the power values of all time units on the effective channel in the frequency domain, and cache the power values, M effective channel numbers and detection results into FIFO.
4. The FPGA-based broadband collision pulse real-time clustering method according to claim 1, characterized in that: The pulse target detection is completed by using the adaptive detection algorithm. win A time unit is a detection window, N win The value range is 256-1024.
5. The FPGA-based broadband collision pulse real-time clustering method according to claim 3, characterized in that: In A4, frequency domain clustering between adjacent channels is performed in parallel in the following manner: Read the first time unit from each FIFO to form the first group of N time units, and read the detection results, channel numbers and power values corresponding to M valid channels; The following processing is performed on every two adjacent time units in N time units at the same time, and N / 2 frequency domain clustering results are output in parallel, which are recorded as Time1~Time n , each channel contains 4 pulse information: S1. Perform an OR operation on the detection results corresponding to the same valid channel of adjacent time units to obtain the combined detection results of adjacent time units, and determine the average channel number, point number, pulse start time, pulse end time and power sum of the pulse information according to the detection results to form a temporary PDW; S2, calculate all the pulse information in M valid channels according to the method in S1, take the first 4 pulse information as the inter-channel clustering temporary PDW output; if the number of temporary PDWs is less than 4, fill the rest with 0, and record the number of valid data in the 4 temporary PDWs.
6. The FPGA-based broadband collision pulse real-time clustering method according to claim 5, characterized in that: Confirm the same pulse information by the following methods: In each clock cycle, the point with the detection result of 1 is searched and the number of consecutive 1s is counted; the channel number corresponding to the point with the first detection result of 1 is taken as the starting channel number, and the channel number corresponding to the last consecutive 1 point is taken as the ending channel number, and all points between the starting and ending channels are considered to be the same pulse information.
7. The FPGA-based broadband collision pulse real-time clustering method according to claim 5, characterized in that: The average channel number of the same pulse information is the sum of the starting channel number and the ending channel number multiplied by the channel clustering accuracy. The point sum is the number of 1s in the detection result matrix. The pulse start time is the time unit corresponding to the point where the detection result is 1 for the first time. The pulse end time is the time unit corresponding to the point where the last detection result is 1 for the same pulse. The power sum is the power sum corresponding to the points where the detection result is 1 for the same pulse.
8. The broadband collision pulse real-time clustering method based on FPGA according to claim 5, characterized in that: According to the frequency domain clustering results, the clustering operation between adjacent time units is completed in the following way: In the first step, the four PDWs in Time1 are PDW1, PDW2, PDW3, and PDW4, and the four PDWs in Time2 are PDW5, PDW6, PDW7, and PDW8; follow the steps below to complete the merger of PDW5 and PDW1: If the average channel number in PDW5 is 0, PDW5 is output, the data valid flag of whether PDW5 is 0 is set to 0, and the merge flag of whether PDW1 is merged is set to 0; If PDW5 is not 0 and PDW1 is 0, PDW5 is output, the data valid flag is set to 1, and the merge flag is set to 0; If PDW5 is not 0, PDW1 is not 0 and the absolute value of the average channel difference is greater than 3, PDW5 is output, the data valid flag is set to 1, and the merge flag is set to 0; If PDW5 is not 0, PDW1 is not 0 and the absolute value of the average channel difference is less than 3, the two pulses are merged, the data valid flag is set to 1, the merge flag is set to 1, and the PDW5 information is updated: wherein TOA is updated to the TOA to which PDW1 belongs, TOE is updated to the TOE to which PDW5 belongs, the average channel number is updated to the PDW5 channel number, the power is updated to the sum of the PDW1 power and the PDW5 power, and the points are updated to the sum of the PDW1 and PDW5 points; And so on, the merging process of PDW5 and PDW2 to PDW4 is completed at the same time; The second step is to delay for 1 clock cycle and output 4 temporary merging results and the flags of whether PDW1 to PDW4 are merged. The first result with the merging flag of 1 is selected in order as the final merging result of PDW5 and the first time unit time1, and recorded as PDW9. The merging flag of this bit is set to 1, and the other flags are set to 0. In the third step, PDW6, PDW7, and PDW8 are merged with the pulse in time1 in the same way, and the merged results are reordered according to the principle of "non-0 first, 0 last" to form PDW10~PDW12; PDW1~PDW4 simultaneously obtain four merged results, and these results are OR-operated to obtain the final PDW merge flag, and the number of non-0 in PDW9~PDW12 is counted and recorded as P; Step 4: The non-zero and unmerged data in PDW1~PDW4 are recorded as candidate PDWs as reg1~reg4. If the number is less than 4, fill it with 0; determine the final clustering results of the two time units according to P and the number of valid data in the candidate PDWs. If P is greater than or equal to 4, select [PDW9, PDW10, PDW11, PDW12] as the clustering result; if P is equal to 3, select [PDW9, PDW10, PDW11, reg1] as the clustering result; if P is equal to 2, select [PDW9, PDW10, reg1, reg2] as the clustering result; if P is equal to 1, select [PDW9, reg1, reg2, reg3] as the clustering result; if P is equal to 0, select [reg1, reg2, reg3, reg4] as the clustering result; Step 5: For Time1~Time n , the time domain clustering operation of the N2-way frequency domain inter-clustering results is completed in a loop in sequence according to the first step to the fourth step, and the two-dimensional intra-group clustering results of the first group of parallel N time units are obtained.
9. The FPGA-based broadband collision pulse real-time clustering method according to claim 8, characterized in that: A7 forms the pulse description word in the following way: The first step is to merge the adjacent two-dimensional intra-group clustering results obtained by A5 and A6 according to the clustering operation between adjacent time units, and obtain four merge marks; In the second step, the four merge flags are judged in turn, and the PDWs that have never been merged and have a point count greater than 16 are output as the inter-group clustering results; The third step is to determine the number of clusters N between groups according to step A1. group , the above processing is completed in pipeline, and T is obtained in the set scenario by combining the time sequence. ADC The two-dimensional clustering result of the duration forms a pulse description word.
10. The broadband collision pulse real-time clustering method based on FPGA according to claim 8, characterized in that: In the first step of merging, when the channel number is updated, the starting channel number is the channel number corresponding to the starting point where the detection result is continuously 1, and the ending channel number is the channel number corresponding to the ending point where the detection result is continuously 1; after the merging is completed, 4 merged results and the number of valid data are obtained.
Citation Information
Patent Citations
Tool wear monitoring system based on current and sound emission composite signals
CN104708497A
Electronic reconnaissance signal parameter high-precision measurement method based on FPGA
CN112014810A