A high-speed parallel processing system for X-band multi-pulse radar echoes
By designing the X-band multi-pulse radar echo high-speed parallel processing system, using parallel processing architecture and gigabit network cable connection, the problem of insufficient traditional single-thread processing capabilities is solved, and stronger real-time and scalability are achieved, and radar is overcome. Restrictions on detecting blind spots.
Patent Information
- Application Number
- CN202111485668.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-07
- Publication Date
- 2024-12-20
- Estimated Expiration
- 2041-12-07
AI Technical Summary
The traditional single-threaded echo processing architecture is difficult to meet the real-time processing requirements of massive radar echo data, and the detection blind spot problem of radar system leads to limited signal processing capabilities.
A high-speed parallel processing system for X-band multi-pulse radar echo is designed, including a signal acquisition module and a parallel processing module for radar echo. It is connected through a gigabit network cable, transmits and receives data packets in UDP, and realizes real-time through parallel analysis and processing. Object detection.
It improves the real-time processing capability of radar echo data, expands the radar operating range, increases the system's scalability, and can effectively process massive radar echo data.
Smart Images

Figure CN114280567B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of high-speed processing of radar echoes, and in particular to a high-speed parallel processing system for multi-pulse radar echoes in the X-band. Background Art
[0002] The coastal defense monitoring system is the "eye" of coastal defense. Its main task is to protect the coastline, ports and major sea lanes to prevent enemy invasion. At present, medium and long-distance coastal defense monitoring usually uses radar monitoring as the main means, and radar mostly uses X-band pulse radar. Since the detection distance of the radar system is proportional to the average power of the radar detection signal, when the peak power is limited by the hardware load of the radar system, the average power is generally increased by increasing the transmission pulse width. X-band pulse radar usually shares the same antenna for transmitting and receiving signals, so it cannot receive the echo signal when transmitting the signal, resulting in a detection blind spot. The larger the pulse signal width emitted by the radar, the larger the detection blind spot. In order to solve the problem of radar detection blind spots, a variety of pulse radar blind spot filling methods have been proposed and applied. The core idea of the pulse radar blind spot filling method is to alternately transmit a variety of pulse signals with different widths to cover different detection distances. For example, the most commonly used wide and narrow pulse blind spot filling method alternately transmits wide and narrow pulses, with wide pulses used to detect long-distance targets and narrow pulses used to detect close-range targets. The echo signals of wide and narrow pulses are separated in time, that is, after the narrow pulse is transmitted, the radar system switches to the receiving state to receive the narrow pulse echo signal; after the wide pulse is transmitted, the radar system switches to the receiving state to receive the wide pulse echo signal. With the continuous deepening of radar applications, the design of radar transmission pulse signals has become more and more sophisticated, the number of pulses has increased, and the total pulse width has increased, which has put forward higher requirements on the radar system's echo processing capabilities. The traditional single-threaded echo processing architecture is increasingly difficult to meet the real-time processing requirements of massive radar echo data. Summary of the invention
[0003] Aiming at the real-time processing requirements of X-band multi-pulse radar echo data, the present invention aims to overcome the defects of the prior art and proposes a high-speed parallel processing system for X-band multi-pulse radar echo.
[0004] In order to achieve the above object, the present invention proposes an X-band multi-pulse radar echo high-speed parallel processing system, the system comprising: a signal acquisition module deployed on the radar and a radar echo parallel processing module deployed on the processor; wherein,
[0005] The signal acquisition module is used to collect X-band multi-pulse radar echo signals, generate data packets according to a set format and send them to the processor;
[0006] The radar echo parallel processing module is used to receive the data packet of the echo signal, parse out the n pulses contained in each radar transmission cycle, and obtain and display the target detection result corresponding to each pulse through parallel analysis and processing.
[0007] As an improvement of the above system, the step of generating a data packet according to a set format specifically includes:
[0008] Since each radar transmission cycle contains n pulses, the number of sampling points of the i-th pulse is S i , 1≤i≤n, divide the i-th pulse echo data into Data packets are sent sequentially, where the symbol Indicates rounding up, each data packet stores P sampling points, symbol It means rounding down, M means the number of quantization bits of the signal acquisition module DA is M bits;
[0009] The format of each of the data packets specifically includes:
[0010] The antenna angle information field is used to store the antenna angle information, occupying bytes 1 to 4, and the data type is double-precision floating point;
[0011] The packet number field is used to store the packet number information, occupies the fifth byte, and the value range is 0-127;
[0012] The data area is used to store the collected echo signals, occupying bytes 6-1401, and stores P sampling points in sequence from beginning to end.
[0013] As an improvement of the above system, the signal acquisition module and the processor are connected by a gigabit network cable, and the signal acquisition module sends the data packet to the processor via UDP.
[0014] As an improvement of the above system, the radar echo parallel processing module includes: a data receiving unit, a data analysis unit, n target detection units and an image refresh unit; wherein,
[0015] The data receiving unit is used to receive the data packets reported by the signal acquisition module by monitoring the designated port;
[0016] The data analysis unit is used to parse the echo data of n pulses from the data packet and put them into corresponding analysis arrays respectively;
[0017] The n target detection units are used to analyze the echo data in the n analysis arrays in parallel to obtain corresponding target detection results respectively;
[0018] The image refresh unit is used to refresh and display the target detection result.
[0019] As an improvement of the above system, the processing process of the data receiving unit specifically includes:
[0020] Step A1) receiving a data packet, determining whether the data packet and the previous data packet belong to the same radar signal transmission cycle, if it is determined to be yes, inserting the current data packet into the Map storage table in the form of <packet number, packet data>, and sorting the data in the table in ascending order of the packet number, and going to step A2); otherwise, going to step A3);
[0021] Step A2) Determine whether the number of data packets in the Map storage table is equal to If the judgment is no, go to step A1); if the judgment is yes, copy the data in the Map storage table to the tail of the vMap buffer queue, clear the data in the Map storage table and go to step A1);
[0022] Step A3) copies the data in the Map storage table to the tail of the vMap buffer queue, clears the data in the Map storage table, inserts the current data packet into the Map storage table in the form of <packet number, packet data>, and goes to step A1).
[0023] As an improvement of the above system, the step A1) of determining whether the data packet and the previous data packet belong to the same radar signal transmission cycle specifically includes:
[0024] Parse the 5th byte of the current data packet to get the current packet number Num now ;
[0025] Calculate the packet number Num of the previous data packet last With Num now The difference between last -Num now >preset value, the current data packet is determined to belong to a new radar signal transmission cycle; otherwise, the current data packet and the previous data packet are determined to belong to the same radar signal transmission cycle.
[0026] As an improvement of the above system, the processing process of the data analysis unit specifically includes:
[0027] Step B1) determines whether there is data in the vMap buffer queue, if it is, copies all the data to the local buffer queue and goes to step B2); otherwise, goes to step B1);
[0028] Step B2) Determine whether there is data in the local buffer queue. If yes, determine n Flags. iAre the values of the flag bits all 0? If yes, take out the first data from the local buffer queue for analysis, and store the i-th pulse echo data into the i-th array pulse i In the pulse array i It is a 32-bit integer array, 1≤i≤n, and the array length is S i Each element in the array corresponds to a radar echo sampling point, and the i-th flag Flag i is set to 1, and go to step B2); if there is no data in the local buffer queue, go to step B1).
[0029] As an improvement of the above system, the processing process of the i-th target detection unit specifically includes:
[0030] Determine the i-th flag Flag i Is the value of equal to 1? If it is, then for the i-th array pulse i Each time a target is detected, the target is saved in the vTarget buffer queue according to the set data structure until all detections are completed and Flag is set. i The value of is set to 0;
[0031] The set data structure includes:
[0032] Bytes 1-4 store the target angle information, the data type is a 32-bit double-precision floating point number, and the unit is degree;
[0033] Bytes 5-8 store target distance information. The data type is a 32-bit integer in meters.
[0034] As an improvement of the above system, the processing process of the image refresh unit specifically includes:
[0035] Generate a scan line and set the scan line to rotate at a constant speed of 6*w degrees per second, where w is the number of revolutions of the radar antenna per minute;
[0036] Every time the scan line passes the set angle, the targets in the corresponding area of the display interface are cleared, and the target data detected within the corresponding angle is taken out from the vTarget buffer queue and displayed.
[0037] Compared with the prior art, the advantages of the present invention are:
[0038] 1. Compared with the traditional single-thread echo processing architecture, the present invention has stronger real-time processing capability of echo data;
[0039] 2. Currently, most high-speed radar processing systems use PCIE bus, and the radar receiving module needs to be integrated with the processing module, which limits the radar operating range. The present invention uses a gigabit network cable for echo data transmission, which increases the radar operating range;
[0040] 3. Currently, most radar systems that use network cables for data transmission only transmit processed echo data to the processor, which limits the scalability of the back-end system. The present invention sends all the original echo data to the processor for subsequent processing, increasing the scalability of the system. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 The present invention is a flowchart of a method for a high-speed parallel processing system for X-band multi-pulse radar echoes according to an embodiment of the present invention. DETAILED DESCRIPTION
[0042] The present invention proposes an X-band multi-pulse radar echo high-speed parallel processing system, the system comprising: a signal acquisition module deployed on the radar and a radar echo parallel processing module deployed on the processor; wherein,
[0043] The signal acquisition module is used to collect X-band multi-pulse radar echo signals, generate data packets according to the set format and send them to the processor;
[0044] The radar echo parallel processing module is used to receive the data packet of the echo signal, parse out the n pulses contained in each radar transmission cycle, obtain the target detection result and display it through parallel analysis and processing.
[0045] After the signal acquisition module acquires the X-band multi-pulse radar echo signal, it sends the signal to the processor using UDP. Each UDP data packet contains the antenna angle, packet number and radar original echo information. The processor first starts the multi-pulse radar echo processing main thread, initializes the system parameters and graphics library, and initializes the target display interface. Then, it starts a radar echo data receiving thread, a data analysis thread, n target detection threads and an image refresh thread. The data receiving thread is used to listen to the designated port to receive the echo data reported by the signal acquisition module. The data analysis thread is used to parse the echo data of each pulse from the UDP data packet and put it into the corresponding analysis array. The n target detection threads are used to perform parallel analysis on the n pulse echoes to obtain the target detection results. The image refresh thread is used to refresh the real-time detected targets on the interface.
[0046] The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.
[0047] Example
[0048] The embodiment of the present invention proposes a high-speed parallel processing system for X-band multi-pulse radar echoes. The system mainly includes three parts: a signal acquisition module, a processor and a display. The signal acquisition module and the processor are connected by a gigabit network cable, and the processor and the display are connected by an HDMI interface. The data acquisition module is used to collect X-band radar multi-pulse echo signals and send them to the processor in a specified data format using UDP; the processor is used to receive and process echo signals in real time, perform target detection and display real-time processing results on the display.
[0049] The process of high-speed parallel processing of X-band multi-pulse radar echo is as follows Figure 1 As shown, the specific steps include:
[0050] Step 1) First define the data sending format of the signal acquisition module. After the signal acquisition module collects the X-band multi-pulse radar echo signal, it uses UDP to send the signal to the processor. The length of each UDP data packet is 1401 bytes. Among them, the 1st to 4th bytes are used to store antenna angle information, and the data type is double-precision floating point; the 5th byte is used to store packet number information, and the value range is 0-127; the 6th to 1401st bytes are used to store the collected echo signal. Assuming that the number of quantization bits of the signal acquisition module DA is M bits, each UDP data packet stores P sampling points, The symbol Indicates rounding down. P sampling points are stored in a tail-to-tail manner. For example, when M=12, the 6th byte of the UDP data packet is used to store the high 8 bits of the first sampling point, the high 4 bits of the 7th byte store the low 4 bits of the first sampling point, the low 4 bits of the 7th byte store the high 4 bits of the second sampling point, and so on. This specific embodiment is described by taking a 5-pulse radar as an example, that is, each transmission cycle of the radar contains 5 pulses. Suppose the number of sampling points of the i-th pulse is S i , then the i-th pulse echo data is divided into UDP packets are sent, where the symbol Indicates rounding up.
[0051] Step 2) Start the multi-pulse radar echo processing main thread, initialize system parameters and graphics library, and initialize the target display interface;
[0052] Step 3) Start the radar echo data receiving thread. After the thread is started, listen to the specified UDP port and receive the echo data reported by the signal acquisition module. Every time a UDP data packet is received, first determine whether the data packet belongs to the same radar signal transmission cycle as the previous data packet. The specific determination method is as follows:
[0053] Parse the fifth byte of the current data packet to get the current packet number Num now. Calculate the packet number Num of the previous UDP data packet last With Num now The difference between last -Num now >40, the current data packet is determined to belong to a new radar signal transmission cycle. last -Num now When ≤40, it is determined that the current data packet and the previous data packet belong to the same radar signal transmission cycle.
[0054] If the current data packet and the previous data packet belong to the same radar signal transmission cycle, the current data packet is inserted into the Map storage table in the form of <packet number, packet data>, and the data in the table is sorted in ascending order of the packet number. Then, it is determined whether the Map storage table is full. The specific determination method is: calculate whether the number of data packets in the Map storage table is equal to If equal to This means that all pulse echo data in the current radar signal transmission cycle has been received. At this time, the data in the Map storage table is copied to the end of the pre-defined vMap buffer queue, the data in the Map storage table is cleared, and the next data packet is received. If the number of data packets in the Map storage table is less than This indicates that some data packets have not been received in the current radar signal transmission cycle. Test and wait for the next data packet to be received.
[0055] If the current data packet belongs to a new radar signal transmission cycle, the data in the Map storage table is copied to the end of the vMap buffer queue, and the data in the Map storage table is cleared. Then, the current data packet is inserted into the Map storage table in the form of <packet number, packet data>, and waits for the next data packet to be received.
[0056] Step 4) Each radar transmission cycle contains 5 pulses. In order to achieve high-speed parallel processing of multi-pulse radar echo signals, 5 target detection threads are started to process the echo data of each pulse in parallel for target detection. After the i-th target detection thread is started, the flag is judged cyclically. i Is the value equal to 1? If not, continue to loop to determine the flag Flag i Is the value of equal to 1? If it is equal to 1, then the array pulse is immediately i The data in the pulse is used for target detection. i is an integer array with a length of S i , each element in the array has a bit width of 32 bits. Every time a target is detected, it is saved in the vTarget buffer queue (the vTarget buffer queue is predefined) according to the following data structure:
[0057] The 1st to 4th bytes store the target angle information, the data type is a 32-bit double-precision floating point number, and the unit is degree; the 5th to 8th bytes store the target distance information, the data type is a 32-bit integer number, and the unit is meter.
[0058] After all echo data in the entire array are detected, Flag i The value is set to 0. Then, the loop determines the flag bit Flag i Is the value of equal to 1 and repeat the above process.
[0059] Step 5) Start the data analysis thread. After the thread is started, first loop to determine whether there is data in the vMap buffer queue. If there is no data, continue to loop to determine. If there is data, copy all the data to the thread local buffer queue. Then, loop to determine whether there is data in the local buffer queue. If there is no data, continue to loop to determine whether there is data in the vMap buffer queue; if there is data, loop to determine 5 Flags i Check whether the flag values are all 0. If the flag values are all 0, take out the first piece of data from the thread local buffer queue for data analysis. The specific steps of data analysis are as follows:
[0060] In order to achieve data parallel processing, it is necessary to parse the echo data of each pulse from the data packet and store them in different arrays. That is, store the echo data of the i-th pulse into the array pulse i Array pulse i It is a 32-bit integer array with an array length of S i , each element in the array corresponds to a radar echo sampling point. The data parsing process is the reverse process of data transmission and is performed in units of M bits.
[0061] After the data is parsed, all 5 Flags i The flag bit value is set to 1.
[0062] Step 6) Start the image refresh thread and generate scan lines. Assuming that the radar antenna rotates 12 times per minute, the scan line rotates at a constant speed of 72 degrees per second. Every time the scan line sweeps over a 5-degree range, the targets in the area on the interface are cleared, and the target data detected within the corresponding angle is taken out from the vTarget buffer queue, and then the target is displayed on the interface.
[0063] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the present invention. Although the present invention is described in detail with reference to the embodiments, it should be understood by those skilled in the art that any modification or equivalent replacement of the technical solutions of the present invention does not depart from the spirit and scope of the technical solutions of the present invention and should be included in the scope of the claims of the present invention.
Claims
1. A high-speed parallel processing system for X-band multi-pulse radar echoes, the system include: A signal acquisition module deployed on the radar and a radar echo parallel processing module deployed on the processor; wherein, The signal acquisition module is used to collect X-band multi-pulse radar echo signals, generate data packets according to a set format and send them to the processor; The radar echo parallel processing module is used to receive the data packet of the echo signal, parse out the n pulses contained in each radar transmission cycle, and obtain and display the target detection result corresponding to each pulse through parallel analysis and processing; The step of generating a data packet according to a set format specifically includes: Since each radar transmission cycle contains n pulses, the number of sampling points of the i-th pulse is S i , 1≤i≤n, divide the i-th pulse echo data into Data packets are sent sequentially, where the symbol Indicates rounding up, each data packet stores P sampling points, symbol It means rounding down, M means the number of quantization bits of the signal acquisition module DA is M bits; The format of each of the data packets specifically includes: The antenna angle information field is used to store the antenna angle information, occupying bytes 1 to 4, and the data type is double-precision floating point; The packet number field is used to store the packet number information, occupies the fifth byte, and the value range is 0-127; The data area is used to store the collected echo signals, occupying bytes 6 to 1401, and stores P sampling points in a sequential manner from beginning to end; The radar echo parallel processing module includes: a data receiving unit, a data analysis unit, n target detection units and an image refresh unit; wherein, The data receiving unit is used to receive the data packets reported by the signal acquisition module by monitoring the designated port; The data analysis unit is used to parse the echo data of n pulses from the data packet and put them into corresponding analysis arrays respectively; The n target detection units are used to analyze the echo data in the n analysis arrays in parallel to obtain corresponding target detection results respectively; The image refresh unit is used to refresh and display the target detection result; The processing process of the data receiving unit specifically includes: Step A1) receiving a data packet, determining whether the data packet and the previous data packet belong to the same radar signal transmission cycle, if it is determined to be yes, inserting the current data packet into the Map storage table in the form of <packet number, packet data>, and sorting the data in the table in ascending order of the packet number, and going to step A2); otherwise, going to step A3); Step A2) Determine whether the number of data packets in the Map storage table is equal to If the judgment is no, go to step A1); if the judgment is yes, copy the data in the Map storage table to the tail of the vMap buffer queue, clear the data in the Map storage table and go to step A1); Step A3) copy the data in the Map storage table to the tail of the vMap buffer queue, clear the data in the Map storage table, insert the current data packet into the Map storage table in the form of <packet number, packet data>, and go to step A1); The step A1) of determining whether the data packet and the previous data packet belong to the same radar signal transmission cycle specifically includes: Parse the 5th byte of the current data packet to get the current packet number Num now ; Calculate the packet number Num of the previous data packet last With Num now The difference between last -Num now > preset value, the current data packet is determined to belong to a new radar signal transmission cycle; otherwise, the current data packet and the previous data packet are determined to belong to the same radar signal transmission cycle; The processing process of the data analysis unit specifically includes: Step B1) determines whether there is data in the vMap buffer queue, if it is, copies all the data to the local buffer queue and goes to step B2); otherwise, goes to step B1); Step B2) Determine whether there is data in the local buffer queue. If yes, determine n Flags. i Are the values of the flag bits all 0? If yes, take out the first data from the local buffer queue for analysis, and store the i-th pulse echo data into the i-th array pulse i In the pulse array i It is a 32-bit integer array, 1≤i≤n, and the array length is S i Each element in the array corresponds to a radar echo sampling point, and the i-th flag Flag i is set to 1, and go to step B2); if there is no data in the local buffer queue, go to step B1); The processing process of the i-th target detection unit specifically includes: Determine the i-th flag Flag i Is the value of equal to 1? If it is, then for the i-th array pulse i Each time a target is detected, the target is saved in the vTarget buffer queue according to the set data structure until all detections are completed and Flag is set. i The value of is set to 0; The set data structure includes: Bytes 1-4 store the target angle information, the data type is a 32-bit double-precision floating point number, and the unit is degree; Bytes 5-8 store target distance information. The data type is a 32-bit integer in meters.
2. The X-band multi-pulse radar echo high-speed parallel processing system according to claim 1, It is characterized in that The signal acquisition module and the processor are connected by a gigabit network cable, and the signal acquisition module sends data packets to the processor via UDP.
3. The X-band multi-pulse radar echo high-speed parallel processing system according to claim 1, It is characterized in that The processing process of the image refresh unit specifically includes: Generate a scan line and set the scan line to rotate at a constant speed of 6*w degrees per second, where w is the number of revolutions of the radar antenna per minute; Every time the scan line passes through the set angle, the targets in the corresponding area of the display interface are cleared, and the target data detected within the corresponding angle is taken out from the vTarget buffer queue and displayed.
