Data collection and real-time display method and system for digital dual-frequency ground penetrating radar

By using user datagram protocol and ring buffer in digital dual-band ground penetration radar for data transmission and processing, combined with Gaussian filtering and dynamic curve fitting, the problems of real-time data processing and display are solved, and efficient exploration efficiency is achieved and Data integrity.

CN119065012BActive Publication Date: 2025-01-07ANDESPACE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411497596.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-01-07
Estimated Expiration
2044-10-25

AI Technical Summary

Technical Problem

The existing technology cannot meet the requirements of improving exploration efficiency under real-time sampling technology of digital dual-band ground penetrating radar, and cannot realize real-time image reconstruction and display, especially in complex working environments, where data acquisition and display are difficult.

Method used

The ground-penetrating radar data is transmitted to the mobile device through the user datagram protocol, and the ring command buffer and dual-thread parallel tasks are used to perform real-time filtering and gain processing, and the smoothing and gain processing of the radar map is achieved using Gaussian filtering and dynamic curve fitting. , the space-occupying cache mechanism is used to transfer lost data, and the radar map is dynamically updated with the quadruple buffer mechanism.

Benefits of technology

It realizes the improvement of exploration efficiency that meets real-time sampling technology in complex environments, realizes real-time image reconstruction and display, and ensures the integrity and efficient display of ground penetrating radar data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119065012B_ABST
    Figure CN119065012B_ABST
Patent Text Reader

Abstract

The present invention provides a data collection and real-time display method and system for digital dual-frequency ground penetrating radar, including: step S1, transmitting the data collected by the ground penetrating radar to a mobile device through a user datagram protocol; step S2, the mobile device performs real-time filtering and gain processing on the received data; step S3, automatically detecting and recording the channel number of the data that may be lost during the collection and upload process through a placeholder cache mechanism on the mobile device, and sending a command to the ground penetrating radar end when the current line collection is finished, and supplementing the lost data to the mobile device end through the cache of the ground penetrating radar end; step S4, using a quadruple buffer mechanism to dynamically update the independently drawn radar spectrum. The present invention can meet the requirements for improving the exploration efficiency brought by real-time sampling technology, can realize real-time image reconstruction and display, and can well meet the data collection and real-time display requirements of digital dual-frequency ground penetrating radar in various actual use environments.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a data collection and display method for a ground penetrating radar, in particular to a data collection and real-time display method for a digital dual-frequency ground penetrating radar, and further to a system using the data collection and real-time display method for a digital dual-frequency ground penetrating radar. Background Art

[0002] The digital dual-frequency ground penetrating radar system is a radar system that uses real-time scanning sampling technology and is used for underground exploration and detection of the location, shape and properties of underground objects. The digital dual-frequency ground penetrating radar detects targets by emitting two electromagnetic waves of different frequencies and receiving their echoes. These two electromagnetic waves of different frequencies are affected differently when propagating in the air, such as scattering, absorption and refraction. Using these differences, the dual-frequency radar can obtain more information about the target, such as distance, depth, shape and properties. However, in the existing conventional detection operation process, the ground penetrating radar data is generally transferred and processed after the detection is completed. This method is inefficient and cannot meet the requirements of improving the exploration efficiency brought by real-time sampling technology, nor can it achieve real-time image reconstruction and display. In addition, due to the complex working environment of the ground penetrating radar, it may be detected in different scenes such as urban roads, bridges, tunnels, etc., and the network environment fluctuates greatly. The existing technology cannot meet the data collection and real-time display requirements of the actual use environment of the ground penetrating radar. Summary of the invention

[0003] The technical problem to be solved by the present invention is to provide a data collection and real-time display method for a digital dual-frequency ground penetrating radar, thereby meeting the requirements for improving exploration efficiency brought about by real-time sampling technology, realizing real-time image reconstruction and display, and being able to meet the data collection and real-time display requirements of the ground penetrating radar in the actual use environment. On this basis, a system using the data collection and real-time display method for a digital dual-frequency ground penetrating radar is further provided.

[0004] In this regard, the present invention provides a data collection and real-time display method for a digital dual-frequency ground penetrating radar, comprising the following steps:

[0005] Step S1, transmitting the data collected by the ground penetrating radar to the mobile device through the user datagram protocol, using a circular command buffer at the ground penetrating radar to receive commands issued from the mobile device, and using dual threads to execute parallel tasks;

[0006] Step S2, the mobile device performs real-time filtering and gain processing on the received data, implements real-time smoothing processing of the generated radar spectrum through Gaussian filtering, and implements real-time gain processing using a dynamic curve fitting method;

[0007] Step S3, the mobile device automatically detects and records the channel number of the lost data in the acquisition and upload process through the placeholder cache mechanism, and sends a command to the ground penetrating radar end when the current survey line acquisition is completed, and the lost data is retransmitted to the mobile device end through the cache of the ground penetrating radar end, so as to realize the on-demand retransmission of the missed and lost ground penetrating radar data;

[0008] Step S4, using a quadruple buffer mechanism to dynamically update and independently draw the radar map.

[0009] A further improvement of the present invention is that step S1 includes the following sub-steps:

[0010] Step S101, the mobile device sends a command to the ground penetrating radar end through a UDP packet including a command word, wherein the command word consists of two bytes, and the first command word is an inquiry broadcast command word, which is used to wait for a response from the ground penetrating radar end; after receiving the response from the ground penetrating radar end, the mobile device sends a second handshake success command word, indicating that the ground penetrating radar end and the mobile device end are paired successfully;

[0011] Step S102, the ground penetrating radar end uploads the UDP packet of real-time data collection to the mobile device end, and the UDP packet of real-time data collection includes a command response packet, a data collection packet, a GPS data packet, an encoder data packet and a heartbeat packet;

[0012] Step S103, using the circular command buffer at the ground penetrating radar end to receive the command issued by the mobile end, and writing the command into the circular command buffer; and at the same time, reading the command in the circular command buffer at the ground penetrating radar end, and performing corresponding operations; the writing and reading operations are performed simultaneously in a dual-threaded mutex lock mode;

[0013] Step S104, the ground penetrating radar end uploads the collected data in real time according to the interrupt trigger of the travel distance based on its ring encoder;

[0014] Step S105, using a redundant data buffer on the mobile device to store the collected data uploaded in real time from the ground penetrating radar.

[0015] A further improvement of the present invention is that step S103 includes the following steps:

[0016] Step S1031, during the process of writing the command into the ring command buffer, it is determined whether the full pointer exceeds the ring buffer size. If the full pointer does not exceed the ring buffer size, the command is written using the write pointer, and the write pointer is incremented by 1 until the write pointer exceeds the buffer size, at which time the write pointer is reset to zero and the full pointer is incremented by 1; if the full pointer exceeds the ring buffer size, no write operation is performed;

[0017] Step S1032, determine whether the full pointer is zero. If the full pointer is not zero, use the read pointer to read the command, and add 1 to the read pointer until the read pointer exceeds the buffer size, then the read pointer returns to zero and the full pointer decreases by 1; if the full pointer is zero, no read operation is performed.

[0018] A further improvement of the present invention is that step S2 includes the following sub-steps:

[0019] Step S201, first generate a Gaussian distribution weight array according to the input parameters, and calculate the sum of these weight arrays, then smooth the input array Source through a Gaussian window, and store the result in the output array Destination;

[0020] Step S202, calculating the reverse energy attenuation curve of the currently collected multi-channel samples, and then using the reverse energy attenuation curve to perform real-time gain processing on all samples on a measurement line.

[0021] A further improvement of the present invention is that step S201 includes the following sub-steps:

[0022] Step S2011, initializing the storage array Gaussian Array of Gaussian weights and the sum of Gaussian weights Gaussian Sum;

[0023] Step S2012, traverse each position of the window, and use the formula Calculate the corresponding Gaussian weight ,in, j Indicates the current position relative to the center of the window. d represents the width of the Gaussian distribution, exp represents the exponential function;

[0024] Step S2013: The calculated weight Stored in the Gaussian weight storage array GaussianArray, and accumulated to the sum of Gaussian weights Gaussian Sum;

[0025] Step S2014, initial average value d, calculate the average value of all elements in the window;

[0026] Step S2015, traverse all samples, subtract the initial average value d from each sample in the input array Source, and store it in the output array Destination;

[0027] Step S2016, for samples outside the center position, calculate the weighted average, and use the weights in the Gaussian Array storage array to perform weighted sum d2 on the samples in the window;

[0028] Step S2017, update the average value d to the weighted sum d2 divided by the sum of Gaussian weights Gaussian Sum.

[0029] A further improvement of the present invention is that step S202 includes the following sub-steps:

[0030] Step S2021, initializing an energy decay curve matrix Exponential Power and a sampling data matrix Scan, wherein the energy decay curve matrix Exponential Power and the sampling data matrix Scan are used to store energy decay curves and sampling data, respectively;

[0031] Step S2022, copying the data in the two-dimensional array Array Traces composed of multiple traces of sample data into the sampling data matrix Scan;

[0032] Step S2023, expanding the number of columns ns of the sampled data matrix Scan to three times the original number and filling it with zeros;

[0033] Step S2024, performing directional Fourier transform on the expanded sampling data matrix Scan to obtain frequency domain data FTR represented in the frequency domain;

[0034] Step S2025, constructing a filter matrix H for filtering the frequency domain data;

[0035] Step S2026, applying the filter matrix H to the frequency domain data FTR;

[0036] Step S2027, performing inverse Fourier transform on the filtered frequency domain data FTR to obtain time domain data HT;

[0037] Step S2028, calculating the average value of each column in the matrix of the time domain data HT, and taking the logarithm to obtain a decay curve Decay Curve;

[0038] Step S2029, using the least squares method to perform polynomial fitting to obtain a coefficient matrix A of the multi-stage exponential decay model;

[0039] Step S20210, using the fitted coefficient matrix A to calculate the energy attenuation curve Exponential Power and perform normalization;

[0040] Step S20211, applying the calculated energy attenuation curve to the gain array Array Gain, and performing real-time gain processing on the samples.

[0041] A further improvement of the present invention is that step S3 includes the following sub-steps:

[0042] Step S301, receiving batch single-channel sampling data from the ground penetrating radar end through a receiving thread of the mobile device end;

[0043] Step S302, through the file reading and writing thread of the mobile device, the sampled data in the receiving buffer is synchronously written into the data file of the current measurement line as the acquisition output result;

[0044] Step S303, establish an integer array Missed Traces, and determine whether the single-channel acquisition data is lost by comparing the last received channel number with the current received channel number to see if they are continuous channel numbers. If the data is not received successfully, it is determined that the single-channel acquisition data is lost, and the file reading and writing thread still writes empty data to occupy the file space. At the same time, the integer array Missed Traces is used to record the missing channel numbers between the two single-channel acquisitions.

[0045] Step S304, after the current survey line acquisition is finished, the integer array Missed Traces is traversed, and a command is sent to the ground penetrating radar end as needed to notify the ground penetrating radar end to upload the missing single-channel sampling data;

[0046] Step S305, through the file reading and writing thread of the mobile device, the blank data occupying the file space of the output file is located according to the channel number, and the single channel data re-uploaded by the ground penetrating radar end is written.

[0047] A further improvement of the present invention is that step S4 includes the following sub-steps:

[0048] Step S401, establishing four display buffers required for drawing operations, which are respectively used to display the high-frequency antenna data of the current survey line, the low-frequency antenna data of the current survey line, the high-frequency antenna data of the previous survey line, and the low-frequency antenna data of the previous survey line;

[0049] Step S402, establishing four independent drawing surfaces and associating them with the four display buffers required for drawing operations;

[0050] Step S403, loading and processing data from a file or collected in real time through an independent drawing surface, and drawing it into a graphics display buffer.

[0051] A further improvement of the present invention is that step S403 includes the following sub-steps:

[0052] Step S4031, initializing variables, the variables including flag variables, buffer indexes, and arrays for storing radar data;

[0053] Step S4032, creating a data structure, using a linked list data set LinkedList to create a double-ended queue for storing historical data of the background window, and at the same time, initializing a floating-point array for storing the sum and average of the data;

[0054] Step S4033, loop processing, enabling an infinite loop for processing data loading and updating logic until the load data drawing loop flag Load Data To Draw Looping is set to false;

[0055] Step S4034, condition check, in the loop, first check whether it is in file reading mode or acquisition mode, and whether the load data drawing loop flag Load Data To Draw Looping is set to true; then, suspend for a period of time through the sleep thread Thread Sleep;

[0056] Step S4035, processing the first run, if the first run flag First Run is true, performing the initialization operation, setting the value of the last collected trace Last Collected Trace;

[0057] Step S4036, processing scrolling and jumping, if the buffer jump flag Buffer Jump is true, the buffer jump logic will be processed, the buffer index will be reset and the displayed data will be updated;

[0058] Step S4037, data loading and processing, in the loop, data is loaded from the file or redundant data buffer according to the current mode; after the data is loaded, jump to step S2 to perform real-time gain processing and background interference elimination processing;

[0059] Step S4038, drawing data, after processing the data, drawing the data into the corresponding display buffer according to the current view display style;

[0060] Step S4039, updating the UI, after the data is loaded and processed, updating the UI related variables;

[0061] Step S40310, ending the loop. When the Load Data To Draw Looping flag is set to false, the loop ends and the background process exits.

[0062] Step S40311, clean up, and finally set the thread running flag Thread Is Running to false, and the thread no longer runs.

[0063] The present invention also provides a data collection and real-time display system for a digital dual-frequency ground penetrating radar, which adopts the data collection and real-time display method for a digital dual-frequency ground penetrating radar as described above, and comprises:

[0064] The data transmission module transmits the data collected by the ground-penetrating radar to the mobile device through the user datagram protocol. The ground-penetrating radar uses a circular command buffer to receive commands issued by the mobile device, and uses dual threads to execute parallel tasks.

[0065] Real-time filtering and gain processing module: The mobile device performs real-time filtering and gain processing on the received data, realizes real-time smoothing of the generated radar spectrum through Gaussian filtering, and uses dynamic curve fitting method to realize real-time gain processing;

[0066] The GPR data retransmission module automatically detects and records the channel number of lost data in the acquisition and upload process through the placeholder cache mechanism on the mobile device side, and sends a command to the GPR side when the current line acquisition is finished, and retransmits the lost data to the mobile device side through the cache of the GPR side, so as to realize the on-demand retransmission of missed and lost GPR data;

[0067] The radar map drawing module uses a quadruple buffering mechanism to dynamically update and independently draw radar maps.

[0068] Compared with the prior art, the beneficial effects of the present invention are: first, the data collected by the ground penetrating radar is transmitted to the mobile device through the user datagram protocol, and the received data is filtered and gain processed in real time by the mobile device, and then the missed ground penetrating radar data is supplemented on demand, and finally a five-buffer mechanism is used to dynamically update the independently drawn radar map, thereby meeting the requirements for improved exploration efficiency brought about by real-time sampling technology, and can well realize real-time image reconstruction and display; on this basis, even if the working environment of the ground penetrating radar is relatively complex, it can still well meet the data collection and real-time display needs of the digital dual-frequency ground penetrating radar in various actual use environments. BRIEF DESCRIPTION OF THE DRAWINGS

[0069] Figure 1 It is a schematic diagram of the working process of an embodiment of the present invention. DETAILED DESCRIPTION

[0070] The preferred embodiments of the present invention will be further described in detail below in conjunction with the accompanying drawings.

[0071] like Figure 1 As shown, this embodiment provides a data collection and real-time display method for a digital dual-frequency ground penetrating radar, comprising the following steps:

[0072] Step S1, transmitting the data collected by the ground penetrating radar to the mobile device through the user datagram protocol, using a circular command buffer at the ground penetrating radar to receive commands issued from the mobile device, and using dual threads to execute parallel tasks; the ground penetrating radar is a digital dual-frequency ground penetrating radar;

[0073] Step S2, the mobile device performs real-time filtering and gain processing on the received data, implements real-time smoothing processing of the generated radar spectrum through Gaussian filtering, and implements real-time gain processing using a dynamic curve fitting method;

[0074] Step S3, the mobile device automatically detects and records the channel number of the data that may be lost during the acquisition and upload process through the placeholder cache mechanism, and sends a command to the ground penetrating radar end when the current line acquisition is completed, and the lost data is retransmitted to the mobile device end through the cache of the ground penetrating radar end, so as to realize the on-demand retransmission of the missed and lost ground penetrating radar data;

[0075] Step S4, using a quadruple buffer mechanism to dynamically update and independently draw the radar map.

[0076] In step S1, network data transmission is wireless data transmission performed by connecting the mobile device to the wireless hotspot of the radar, and the transmission protocol is the User Datagram Protocol, i.e., the UDP protocol. The reason for using the UDP protocol is that it has higher transmission efficiency than the TCP protocol and is more adaptable to the high efficiency and real-time performance required by this system. The disadvantage of the UDP protocol is that a low probability of data loss may occur. Therefore, this embodiment takes targeted preventive measures and designs step S3 for supplementing the missed and lost data.

[0077] In this embodiment, a UDP server and a UDP client are established on the mobile device based on the Android Studio development environment and using the Kotlin programming language to issue commands to the radar end and receive data collected by the radar end in real time.

[0078] Specifically, step S1 in this embodiment includes step S101 to step S105.

[0079] Step S101, the mobile device sends a command to the ground penetrating radar end through a UDP packet including a command word, wherein the command word consists of two bytes, and the first command word is an inquiry broadcast command word, which is used to wait for a response from the ground penetrating radar end; after receiving the response from the ground penetrating radar end, the mobile device end sends a second handshake success command word, indicating that the ground penetrating radar end and the mobile device end are paired successfully, and the ground penetrating radar end can obey the command from the mobile device end and start working.

[0080] The subsequent command words sent by the mobile device include the following four types: parameter query command, which is used to realize parameter query including radar model, product serial number, sampling frequency, sampling accuracy, firmware version and FPGA program version; parameter setting command, which is used to realize parameter setting including dual-frequency channel enable, number of single-channel sampling points, sampling accuracy, number of sampling superpositions, trigger mode, trigger channel spacing, encoder selection, acquisition direction, transceiver antenna spacing, effective signal start position, product serial number and restore factory default settings; acquisition operation command, which is used to realize acquisition operation instructions including start, pause, resume, stop and retransmission; maintenance command, which is used to realize maintenance commands including firmware upgrade, FPGA program upgrade and system self-test.

[0081] In the Linux OS environment of the ground penetrating radar, C++ language is used to adopt the socket method to receive commands from the mobile device and send the real-time data collected by the ground penetrating radar to the mobile device.

[0082] Step S102, the ground penetrating radar end uploads the UDP packet of real-time data collection to the mobile device end, and the UDP packet of real-time data collection includes a command response packet, a data collection packet, a GPS data packet, an encoder data packet and a heartbeat packet.

[0083] Among them, the command response packet is used to respond to four types of commands on the mobile device.

[0084] The data acquisition package is used to store the data collected in real time by the ground penetrating radar. A complete data packet consists of multiple data frames forming a column of single-channel (trace) sampling data from shallow to deep, and multiple columns of single-channel sampling data constitute a collection survey line. The radar end uploads one frame of data to the mobile device end each time. The data format includes: single-channel number, channel number (used to identify which frequency in the dual frequency), the flag bit of the last frame of the data packet, and the sampling data from shallow to deep. The sampling data can be 16 bits or 32 bits, both of which are signed integers, representing the amplitude value of the underground reflected electromagnetic wave received by the ground penetrating radar, which is determined by the pre-set sampling accuracy. The number of sampling points is determined by the pre-set number of single-channel sampling points. The radar end sends multiple continuous data frames to the mobile device end, which completes the data splicing according to the flag bit of the last frame to form single-channel sampling data.

[0085] GPS data packets include geographic information collected by the built-in GPS chip on the GPR mainboard or the external real-time kinematic differential equipment (RTK) on the GPR. The data formats include single channel number and GPGGA / GNGGA satellite positioning NMEA data.

[0086] The encoder count package is used to store the encoder distance count (ticks) and the current time. It is used to display the fallback ruler in real time on the mobile device when the direction of travel changes during the acquisition process.

[0087] The heartbeat packet is sent to the mobile device once every second to detect the connectivity of network data transmission. At the same time, the heartbeat packet also contains temperature information and battery power information collected by the radar sensor.

[0088] Step S103, using a circular command buffer at the ground penetrating radar end to receive commands issued by the mobile end, and using dual threads to simultaneously execute the following two parallel tasks, that is, including the following sub-steps:

[0089] Step S1031, receiving the command sent from the mobile device at the radar end, and writing the command into the ring command buffer, the process is as follows: judging whether the full pointer exceeds the ring buffer size, if the full pointer does not exceed the ring buffer size, using the write pointer to write the command, the write pointer is incremented by 1, until the write pointer exceeds the buffer size, the write pointer is reset to zero, and the full pointer is incremented by 1; if the full pointer exceeds the ring buffer size, no write operation is performed;

[0090] Step S1032, write the command into the circular command buffer, and at the same time another thread reads the command from the circular command buffer and performs corresponding operations; the process is: determine whether the full pointer is zero, if the full pointer is not zero, use the read pointer to read the command, add 1 to the read pointer, until the read pointer exceeds the buffer size, then the read pointer returns to zero and the full pointer decreases by 1; if the full pointer is zero, no read operation is performed.

[0091] This embodiment uses two parallel tasks to ensure that the ground penetrating radar end does not block the reception of commands and does not miss responses to continuously issued commands when executing time-consuming operations. The access of full pointers uses a mutex locking and unlocking mechanism to ensure that only one thread can access the protected shared resources at the same time, thereby effectively avoiding problems such as data competition and inconsistency.

[0092] Step S104, the ground penetrating radar end uploads the collected data in real time according to the interrupt trigger of the travel distance based on its annular encoder; the process is as follows: according to the setting of the relevant track spacing in the command issued by the mobile device end, the ground penetrating radar end automatically and periodically uploads the collected single-channel data according to the travel distance given by the annular encoder (also known as the distance measuring wheel) during the collection process. The collected single-channel data is automatically superimposed and averaged during the upload interval, which effectively improves the signal-to-noise ratio of the data and avoids the network storm problem caused by uninterrupted data packet transmission.

[0093] Step S105, using redundant data buffers on the mobile device to store the collected data uploaded in real time from the ground penetrating radar. The process is preferably: using two redundant data buffers to store the amplitude data collected by the dual-frequency ground penetrating radar. The capacity of each data buffer is 3000 columns of single-channel data, where each column of single-channel data can store 2000 raw sampling points (rawsamples) and 2000 real-time filtered sampling points (filtered samples) and the corresponding single-channel number, and each sampling point data occupies two bytes (16-bit sampling accuracy) or four bytes (32-bit sampling accuracy). If the channel spacing is set to the default 5cm, 3000 columns of single-channel data can cache the collected data of a survey line length of 150 meters, thereby ensuring the high efficiency of real-time processing and display of radar data.

[0094] In step S2 of this embodiment, the received data is filtered and gain processed in real time by the mobile device. The real-time filtering of the mobile device adopts Gaussian filtering, and by specifying a sliding window, the noise is suppressed while retaining the image detail features, so as to realize the real-time smoothing processing of the generated radar spectrum.

[0095] Specifically, step S2 in this embodiment includes the following sub-steps:

[0096] Step S201, first generate a Gaussian distribution weight array according to the input parameters, and calculate the sum of these weight arrays, which is the first step, including steps S2011 to S2013; then smooth the input array Source through a Gaussian window, and store the result in the output array Destination, which is the second step, including steps S2014 to S2017;

[0097] Step S202, calculating the reverse energy attenuation curve of the currently collected multi-channel samples, and then using the reverse energy attenuation curve to perform real-time gain processing on all samples on a measurement line.

[0098] In step S201 described in this embodiment, the parameters involved include: Gaussian Window Size represents the size of the Gaussian window (that is, the length of the array), and the default value is 41; Gaussian Window Width represents the width of the Gaussian distribution, and the default value is 8; Gaussian Array represents the array storing Gaussian weights; Gaussian Sum represents the sum of Gaussian weights; win represents the size of the Gaussian window; center represents the center position index of the window.

[0099] In step S201, the implementation process of calculating the sum of the weight array includes the following sub-steps:

[0100] Step S2011, initializing the storage array Gaussian Array of Gaussian weights and the sum of Gaussian weights Gaussian Sum;

[0101] Step S2012, traverse each position of the window, and use the formula Calculate the corresponding Gaussian weight ,in, j Indicates the current position relative to the center of the window. d represents the width of the Gaussian distribution, exp represents the exponential function;

[0102] Step S2013: The calculated weight Stored in the Gaussian weight storage array GaussianArray and accumulated to the sum of the Gaussian weights Gaussian Sum.

[0103] Then, the input array Source is smoothed through a Gaussian window and the results are stored in the output array Destination. The input array Source corresponds to a column of single-channel sampled real-time data, that is, 2000 raw samples, and the output array Destination corresponds to 2000 real-time filtered samples. Samples Total represents the total number of samples, and the default maximum is 2000. The implementation process of smoothing the input array Source through a Gaussian window and storing the results in the output array Destination includes the following sub-steps:

[0104] Step S2014, initial average value d, calculate the average value of all elements in the window;

[0105] Step S2015, traverse all samples, subtract the initial average value d from each sample in the input array Source, and store it in the output array Destination;

[0106] Step S2016, for samples outside the center position, calculate the weighted average, and use the weights in the Gaussian Array storage array to perform weighted sum d2 on the samples in the window;

[0107] Step S2017, update the average value d to the weighted sum d2 divided by the sum of Gaussian weights Gaussian Sum.

[0108] The implementation process expressed in pseudo code is as follows:

[0109]

[0110] In step S202 of this embodiment, the real-time gain processing of the mobile device adopts the dynamic curve fitting method to improve the visual effect of the generated radar spectrum, especially to gain the weak signal in the deep. Specifically, the dynamic curve fitting method is to calculate the reverse energy attenuation curve of the multi-channel samples currently collected, and then use the gain curve to perform real-time gain processing on all samples on a survey line.

[0111] Preferably, the multi-channel sample data constitutes a two-dimensional array Array Traces, where the number of rows is the number of channels and the number of columns is the number of sampling points of a single channel. The first 20 channels of data on each survey line participate in the calculation of the reverse energy attenuation curve, and the data of all channels on a survey line will be gain processed using the gain curve. Starting from the 21st channel of data until the end of the survey line, no new reverse energy attenuation curve is calculated.

[0112] Step S202 in this embodiment includes the following sub-steps:

[0113] Step S2021, initializing an energy decay curve matrix Exponential Power and a sampling data matrix Scan, wherein the energy decay curve matrix Exponential Power and the sampling data matrix Scan are used to store energy decay curves and sampling data, respectively;

[0114] Step S2022, filling the sampling data matrix Scan, copying the data in the two-dimensional array ArrayTraces composed of multiple sample data into the sampling data matrix Scan;

[0115] Step S2023, expanding the sampled data matrix Scan, expanding the number of columns ns of the sampled data matrix Scan to three times the original number, and filling it with zeros;

[0116] Step S2024, performing Fourier transform, performing directional Fourier transform on the expanded sampling data matrix Scan, and obtaining frequency domain data FTR represented in the frequency domain;

[0117] Step S2025, constructing a filter matrix H for filtering the frequency domain data;

[0118] Step S2026, applying the filter matrix H to the frequency domain data FTR, traversing each row of the frequency domain data FTR, and applying the filter H to each row, that is, multiplying each row by the filter matrix H element by element;

[0119] Step S2027, performing inverse Fourier transform on the filtered frequency domain data FTR to obtain time domain data HT;

[0120] Step S2028, calculating the average value of each column in the matrix of the time domain data HT, and taking the logarithm to obtain a decay curve Decay Curve;

[0121] Step S2029, using the least squares method to perform polynomial fitting to obtain a coefficient matrix A of the multi-stage exponential decay model;

[0122] Step S20210, using the fitted coefficient matrix A to calculate the energy attenuation curve Exponential Power and perform normalization;

[0123] Step S20211, applying the calculated energy attenuation curve to the gain array Array Gain, and performing real-time gain processing on the samples.

[0124] In step S2025 of this embodiment, the implementation process of constructing the filter matrix H is as follows:

[0125] Step S20251, initialize the filter matrix H, create a zero matrix H' of the same type as the frequency domain data FTR, and its size is 1 x ns3, where ns3 is the number of columns after expansion in step 3;

[0126] Step S20252, setting the filter value, setting the first element of the zero matrix H' to (1, 1), indicating a DC component;

[0127] Step S20253, set other elements according to the parity of ns3. If ns3 is an odd number, set the 1st to (ns3 + 1) / 2 - 1 columns of the zero matrix H' to (2, 2); if ns3 is an even number, set the 1st to ns3 / 2- 1 columns of the zero matrix H' to (2, 2), and set the ns3 / 2 column of the zero matrix H' to (1, 1) as the filter matrix H after initialization.

[0128] In step S2029 of this embodiment, matrices X and Y are constructed, and the coefficient matrix A of the multi-stage exponential decay model is solved using the least squares method, so that X * A = Y. The purpose of using the least squares method for polynomial fitting is to find a set of optimal polynomial coefficients so that the total error of the entire set of points after fitting is minimized.

[0129] The construction process of matrix X is as follows:

[0130] Step S20291, initializing a matrix X, where X is a matrix of size (order + 1) x (order + 1) and an initial value is zero, where order is the order of the multi-stage exponential decay model;

[0131] Step S20292, fill matrix X and traverse sample points k From 0 to ns-1, where ns is the number of single-channel sampling points. For each sample point k , through the formula Update each element of the matrix X, k is the serial number of the sample points; m and n are the row subscript and column subscript of the matrix X, respectively, used to indicate the sequence numbers of the rows and columns of the matrix X.

[0132] The construction process of matrix Y is as follows:

[0133] Step S20293, initializing matrix Y, where Y is a matrix of size (order + 1) x 1 and the initial value is zero;

[0134] Step S20294, fill matrix Y and traverse sample points k From 0 to ns-1, where ns is the number of single-channel sampling points. For each sample point k , through the formula Update every element of matrix Y. l is the row subscript of matrix Y, used to indicate the row number of matrix Y.

[0135] After the matrix X and matrix Y are constructed, the least squares method is used to solve the linear equation system X * A = Y to obtain the coefficient matrix A of the multi-level exponential decay model.

[0136] In step S20210 of this embodiment, the energy decay curve ExponentialPower is calculated using the fitted coefficient matrix A and normalized. The specific steps of calculating the energy decay curve using the coefficient matrix A are as follows:

[0137] Step S202101, initializing the matrix of the energy attenuation curve Exponential Power, which is a matrix of size 1 x ns, where ns is the number of single-channel sampling points;

[0138] Step S202102, calculate the energy attenuation value and traverse the sample points j '(from 0 to ns-1), for each sample point j ', use the fitted coefficient matrix A to calculate the energy attenuation value, initialize the value to 0; traverse each element of the coefficient matrix A i , through the formula calculate j 'of iThe product of the power and the coefficient A[i] is added to value; the calculated value is raised to the power of 10, and the formula is used Get the energy attenuation value. Among them, j 'Represents the energy amplitude value of the sample point; i Indicates the element number.

[0139] The specific steps for normalization are as follows: first find the maximum energy attenuation value, traverse the ExponentialPower matrix, and find the maximum value Max Power; then normalize the energy attenuation curve, traverse each element of the ExponentialPower matrix, divide its value by Max Power, and obtain the normalized energy attenuation value.

[0140] In step S20211 of this embodiment, the calculated energy attenuation curve is applied to the gain array Array Gain to perform real-time gain processing on the samples. The length of the Array Gain array is equal to the number of sampling points in a single channel, and the value of each element of the Array Gain array corresponds to the gain coefficient of each sampling point in a single channel. Gain processing is the process of multiplying the amplitude value of each sampling point by its corresponding gain coefficient to obtain the amplitude value after gain, thereby realizing the real-time dynamic gain of the ground penetrating radar signal, especially making the deep weak signal obtain more significant gain, which can better meet the actual application needs.

[0141] Step S3 described in this embodiment performs on-demand retransmission of missed and lost ground-penetrating radar data. Since the working environment of ground-penetrating radar is relatively complex, it may be used for detection in different scenarios such as urban roads, bridges, tunnels, etc., and the wireless network environment fluctuates greatly. The batch radar data collected by high-speed travel triggers the problem of losing multiple single-channel data. Therefore, this embodiment uses a placeholder cache mechanism on the mobile device end to automatically detect and record the channel number where data may be lost during the collection and upload process in real time, so as to issue a command to the ground-penetrating radar end when the current survey line collection is completed, and the latter will retransmit the lost data from its own cache to the former.

[0142] Step S3 in this embodiment includes the following sub-steps:

[0143] Step S301, receiving batches of single-channel sampling data from the ground penetrating radar through the receiving thread of the mobile device; the default size of the data receiving ring buffer is 3000 channels, each of which can accommodate single-channel sampling real-time data, that is, 2000 original sampling point amplitude values, 2000 real-time filtered sampling point amplitude values ​​and the current channel number. If the sampling trigger channel spacing is set to 0.05 meters, then the 3000-channel buffer can cache the most recently collected 150-meter sampling data;

[0144] Step S302, through the file reading and writing thread of the mobile device, the sampled data in the receiving buffer is synchronously written into the data file of the current measurement line as the acquisition output result;

[0145] Step S303, establish an integer array Missed Traces, the array size defaults to 100000, which can record the lost track numbers caused by network environment fluctuations in a single survey line of up to 5000 meters (track spacing 5 cm); determine whether the single-channel acquisition data is lost by comparing the last received track number and the current received track number to see if they are continuous track numbers. If the reception is not successful, it is determined that the single-channel acquisition data is lost, and the file reading and writing thread still writes empty data to occupy the file space. At the same time, the integer array Missed Traces is used to record the lost track numbers between the two single-channel acquisitions.

[0146] Step S304, after the current survey line acquisition is finished, the integer array Missed Traces is traversed, and a command is sent to the ground penetrating radar end as needed to notify the ground penetrating radar end to upload the missing single-channel sampling data; during the acquisition process, the ground penetrating radar end will save all the single-channel data of the current survey line, thereby ensuring the integrity of the data;

[0147] Step S305, through the file reading and writing thread of the mobile device, the blank data occupying the file space of the output file is located according to the channel number, and the single channel data re-uploaded by the ground penetrating radar end is written.

[0148] In this embodiment, step S4 adopts a quadruple buffering mechanism to dynamically update and independently draw the radar map.

[0149] Corresponding to the real-time radar spectrum imaging updated at a high frequency, four buffers are used to store the high-frequency and low-frequency radar data collected from the radar end, respectively, and the radar spectrum processed by step S2 is drawn by an independent thread, thereby improving the response speed and fluency. Preferably, the data collected by the radar end saved by the buffer in this embodiment includes: the high-frequency antenna data of the current survey line, the low-frequency antenna data of the current survey line, the high-frequency antenna data of the previous survey line, and the low-frequency antenna data of the previous survey line.

[0150] More specifically, step S4 in this embodiment includes the following sub-steps:

[0151] Step S401, establishing four display buffers required for drawing operations, which are respectively used to display the high-frequency antenna data of the current survey line, the low-frequency antenna data of the current survey line, the high-frequency antenna data of the previous survey line, and the low-frequency antenna data of the previous survey line;

[0152] Step S402, establishing four independent drawing surfaces (Surface View), and respectively associating the above four display buffers, so that they can perform independent drawing operations without affecting the main UI thread, ensuring the smoothness of real-time radar map rendering;

[0153] Step S403, through the independent drawing surface, load and process the data from the file or real-time acquisition, and draw it to the graphics display buffer. Each independent drawing surface process is part of the background thread, which is used to load and process the data from the file or real-time acquisition and draw it to the graphics display buffer.

[0154] In step S401 of this embodiment, the width of the buffer is calculated, that is, how many single-channel sampling data can be accommodated. First, the actual width and height (in pixels) of the mobile device screen are obtained. Then the larger value of the width and height is enlarged by 1.5 times, the enlarged value is divided by the minimum scaling ratio, and the final result is converted to an integer as the width of the display buffer. The height of the display buffer is set to the number of single-channel sampling points (2000).

[0155] In step S402 of the present embodiment, the four independent drawing surfaces can form five display styles through their visibility according to the user's intention, namely, displaying the high-frequency radar spectrum of the current survey line in full screen, displaying the low-frequency radar spectrum of the current survey line in full screen, displaying the high-frequency and low-frequency radar spectrum of the current survey line in the upper and lower halves of the screen respectively, displaying the high-frequency radar spectrum of the previous opposite survey line and the current survey line in the upper and lower halves of the screen respectively, and displaying the low-frequency radar spectrum of the previous opposite survey line and the current survey line in the upper and lower halves of the screen respectively.

[0156] Step S403 in this embodiment includes the following sub-steps:

[0157] Step S4031, initializing variables, including flag variables (such as First Run, Buffer Jump, etc.), buffer indexes, and arrays for storing radar data;

[0158] Step S4032, creating a data structure, using a linked list data set LinkedList to create a double-ended queue for storing historical data of the background window, and at the same time, initializing a floating-point array for storing the sum and average of the data;

[0159] Step S4033, loop processing, enabling an infinite loop for processing data loading and updating logic inside the loop until the load data drawing loop flag Load Data To Draw Looping is set to false;

[0160] Step S4034, condition check, in the loop, first check whether it is in file reading mode or acquisition mode, and whether the load data drawing loop flag Load Data To Draw Looping is set to true; then, suspend for a period of time by sleeping the thread Thread Sleep to reduce the CPU usage for the main UI thread;

[0161] Step S4035, processing the first run, if the first run flag First Run is true, performing the initialization operation, setting the value of the last collected trace Last Collected Trace;

[0162] Step S4036, processing scrolling and jumping, if the buffer jump flag Buffer Jump is true, the buffer jump logic will be processed, the buffer index will be reset and the displayed data will be updated;

[0163] Step S4037, data loading and processing, in the loop, data is loaded from the file or redundant data buffer according to the current mode; after the data is loaded, jump to step S2 to perform real-time gain processing and background interference elimination processing;

[0164] Step S4038, drawing data, after processing the data, drawing the data into the corresponding display buffer according to the current view display style;

[0165] Step S4039, updating the UI. After the data is loaded and processed, update the UI-related variables, such as HorizonScroll and First Trace On Screen, to ensure that the user interface can correctly display the newly loaded data;

[0166] Step S40310, ending the loop. When the Load Data To Draw Looping flag is set to false, the loop ends and the background process exits.

[0167] Step S40311, clean up, and finally set the thread running flag Thread Is Running to false, and the thread no longer runs.

[0168] This embodiment also provides a data collection and real-time display system for a digital dual-frequency ground penetrating radar, which adopts the data collection and real-time display method for a digital dual-frequency ground penetrating radar as described above, and includes:

[0169] The data transmission module transmits the data collected by the ground-penetrating radar to the mobile device through the user datagram protocol. The ground-penetrating radar uses a circular command buffer to receive commands issued by the mobile device, and uses dual threads to execute parallel tasks.

[0170] Real-time filtering and gain processing module: The mobile device performs real-time filtering and gain processing on the received data, realizes real-time smoothing of the generated radar spectrum through Gaussian filtering, and uses dynamic curve fitting method to realize real-time gain processing;

[0171] The GPR data retransmission module automatically detects and records the channel numbers that may lose data during the acquisition and upload process through a placeholder cache mechanism on the mobile device side, and sends a command to the GPR side when the current line acquisition is finished, and retransmits the lost data to the mobile device side through the GPR side's cache, so as to realize the on-demand retransmission of missed and lost GPR data;

[0172] The radar map drawing module uses a quadruple buffering mechanism to dynamically update and independently draw radar maps.

[0173] In summary, this embodiment first transmits the data collected by the ground-penetrating radar to the mobile device through the user datagram protocol, and performs real-time filtering and gain processing on the received data through the mobile device, and then retransmits the missed ground-penetrating radar data on demand, and finally uses a five-buffer mechanism to dynamically update and independently draw radar maps. Therefore, the present invention can meet the requirements for improving exploration efficiency brought about by real-time sampling technology, and can well realize real-time image reconstruction and display; on this basis, even if the working environment of the ground-penetrating radar is relatively complex, it can still well meet the data collection and real-time display requirements of digital dual-frequency ground radar in various actual use environments.

[0174] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A method for data collection and real-time display of digital dual-frequency ground penetrating radar, characterized in that: The following steps are involved: Step S1, transmitting the data collected by the ground penetrating radar to the mobile device through the user datagram protocol, using a circular command buffer at the ground penetrating radar to receive commands issued from the mobile device, and using dual threads to execute parallel tasks; Step S2, the mobile device performs real-time filtering and gain processing on the received data, implements real-time smoothing processing of the generated radar spectrum through Gaussian filtering, and implements real-time gain processing using a dynamic curve fitting method; Step S3, the mobile device automatically detects and records the channel number of the lost data in the acquisition and upload process through the placeholder mechanism in real time, and sends a command to the ground penetrating radar end when the current line acquisition is finished, and transmits the lost data to the mobile device end through the cache of the ground penetrating radar end, so as to realize the on-demand transmission of the missed and lost ground penetrating radar data; Step S4, using a quadruple buffer mechanism to dynamically update the independently drawn radar map; The step S1 comprises the following sub-steps: Step S101, the mobile device sends a command to the ground penetrating radar end through a UDP packet including a command word, wherein the command word consists of two bytes, and the first command word is an inquiry broadcast command word, which is used to wait for a response from the ground penetrating radar end; After receiving the response from the GPR, the mobile device sends a second handshake success command, indicating that the GPR and the mobile device are paired successfully. Step S102, the ground penetrating radar end uploads the UDP packet of real-time data collection to the mobile device end, and the UDP packet of real-time data collection includes a command response packet, a data collection packet, a GPS data packet, an encoder data packet and a heartbeat packet; Step S103, using the circular command buffer at the ground penetrating radar end to receive commands issued from the mobile device end, and writing the commands into the circular command buffer; and at the same time, reading the commands in the circular command buffer at the ground penetrating radar end, and performing corresponding operations; the writing and reading operations are performed simultaneously in a dual-threaded mutex lock manner; Step S104, the ground penetrating radar end uploads the collected data in real time according to the interrupt trigger of the travel distance based on its ring encoder; Step S105, using a redundant data buffer on the mobile device to store the collected data uploaded in real time from the ground penetrating radar end; The step S2 comprises the following sub-steps: Step S201, first generate a Gaussian distribution weight array according to the input parameters, and calculate the sum of these weight arrays, then smooth the input array Source through a Gaussian window, and store the result in the output array Destination; Step S202, calculating the reverse energy attenuation curve of the currently collected multi-channel samples, and then using the reverse energy attenuation curve to perform real-time gain processing on all samples on a measurement line; The step S3 comprises the following sub-steps: Step S301, receiving batch single-channel sampling data from the ground penetrating radar end through a receiving thread of the mobile device end; Step S302, through the file reading and writing thread of the mobile device, the sampled data in the receiving buffer is synchronously written into the data file of the current measurement line as the acquisition output result; Step S303, establish an integer array Missed Traces, and determine whether the single-channel acquisition data is lost by comparing the last received channel number with the current received channel number to see if they are continuous channel numbers. If the channel number is not received successfully, it is determined that the single-channel acquisition data is lost, and the file reading and writing thread still writes empty data to occupy the file space. At the same time, the integer array Missed Traces is used to record the missing channel numbers between the two single-channel acquisitions. Step S304, after the current survey line acquisition is finished, the integer array Missed Traces is traversed, and a command is sent to the ground penetrating radar end as needed to notify the ground penetrating radar end to upload the missing single-channel sampling data; Step S305, through the file reading and writing thread of the mobile device, the blank data occupying the file space of the output file is located according to the measurement channel number, and the single channel data re-uploaded by the ground penetrating radar end is written; The step S4 comprises the following sub-steps: Step S401, establishing four display buffers required for drawing operations, which are respectively used to display the high-frequency antenna data of the current survey line, the low-frequency antenna data of the current survey line, the high-frequency antenna data of the previous survey line, and the low-frequency antenna data of the previous survey line; Step S402, establishing four independent drawing surfaces and associating them with the four display buffers required for drawing operations; Step S403, loading and processing data from a file or collected in real time through an independent drawing surface, and drawing it into a graphics display buffer; The step S403 includes the following sub-steps: Step S4031, initializing variables, the variables including flag variables, buffer indexes, and arrays for storing radar data; Step S4032, creating a data structure, using a linked list data set LinkedList to create a double-ended queue for storing historical data of the background window, and at the same time, initializing a floating-point array for storing the sum and average of the data; Step S4033, loop processing, enabling an infinite loop for processing data loading and updating logic until the load data drawing loop flag Load Data To Draw Looping is set to false; Step S4034, condition check, in the loop, first check whether it is in file reading mode or acquisition mode, and whether the load data drawing loop flag Load Data To Draw Looping is set to true; then, suspend for a period of time through the sleep thread Thread Sleep; Step S4035, processing the first run, if the first run flag First Run is true, performing the initialization operation, setting the value of the last collected trace Last Collected Trace; Step S4036, processing scrolling and jumping, if the buffer jump flag Buffer Jump is true, the buffer jump logic will be processed, the buffer index will be reset and the displayed data will be updated; Step S4037, data loading and processing, in a loop, data is loaded from a file or redundant data buffer according to the current mode; After the data is loaded, jump to step S2 to perform real-time gain processing and background interference elimination processing; Step S4038, drawing data, after processing the data, drawing the data into the corresponding display buffer according to the current view display style; Step S4039, updating the user interface UI, after the data is loaded and processed, updating variables related to the user interface UI; Step S40310, ending the loop. When the Load Data To Draw Looping flag is set to false, the loop ends and the background process exits. Step S40311, clean up, and finally set the thread running flag Thread Is Running to false, and the thread no longer runs.

2. The data collection and real-time display method for digital dual-frequency ground penetrating radar according to claim 1 is characterized in that: The step S103 includes the following steps: Step S1031, during the process of writing the command into the ring command buffer, it is determined whether the full pointer exceeds the ring buffer size. If the full pointer does not exceed the ring buffer size, the command is written using the write pointer, and the write pointer is incremented by 1 until the write pointer exceeds the buffer size, at which time the write pointer is reset to zero and the full pointer is incremented by 1; if the full pointer exceeds the ring buffer size, no write operation is performed; Step S1032, determine whether the full pointer is zero. If the full pointer is not zero, use the read pointer to read the command, and add 1 to the read pointer until the read pointer exceeds the buffer size, then the read pointer returns to zero and the full pointer decreases by 1; if the full pointer is zero, no read operation is performed.

3. The data collection and real-time display method for digital dual-frequency ground penetrating radar according to claim 1 or 2, characterized in that: The step S201 includes the following sub-steps: Step S2011, initializing the storage array Gaussian Array of Gaussian weights and the sum of Gaussian weights GaussianSum; Step S2012, traverse each position of the window, and use the formula Calculate the corresponding Gaussian weight ,in, j Indicates the current position relative to the center of the window. d represents the width of the Gaussian distribution, exp represents the exponential function; Step S2013: The calculated weight Stored in the Gaussian Array storage array of Gaussian weights and added to the sum of Gaussian weights Gaussian Sum; Step S2014, initial average value d, calculate the average value of all elements in the window; Step S2015, traverse all samples, subtract the initial average value d from each sample in the input array Source, and store it in the output array Destination; Step S2016, for samples outside the center position, a weighted average is calculated, and the weights in the Gaussian Array storage array are used to perform weighted summation on the samples in the window to obtain a weighted sum d2; Step S2017, update the average value d to the weighted sum d2 divided by the sum of Gaussian weights Gaussian Sum.

4. The data collection and real-time display method for digital dual-frequency ground penetrating radar according to claim 1 or 2, characterized in that: The step S202 includes the following sub-steps: Step S2021, initializing an energy decay curve matrix Exponential Power and a sampling data matrix Scan, wherein the energy decay curve matrix Exponential Power and the sampling data matrix Scan are used to store energy decay curves and sampling data, respectively; Step S2022, copying the data in the two-dimensional array Array Traces composed of multiple traces of sample data into the sampling data matrix Scan; Step S2023, expanding the number of columns ns of the sampled data matrix Scan to three times the original number and filling it with zeros; Step S2024, performing directional Fourier transform on the expanded sampling data matrix Scan to obtain frequency domain data FTR represented in the frequency domain; Step S2025, constructing a filter matrix H for filtering the frequency domain data; Step S2026, applying the filter matrix H to the frequency domain data FTR; Step S2027, performing inverse Fourier transform on the filtered frequency domain data FTR to obtain time domain data HT; Step S2028, calculating the average value of each column in the matrix of the time domain data HT, and taking the logarithm to obtain a decay curve DecayCurve; Step S2029, using the least squares method to perform polynomial fitting to obtain a coefficient matrix A of the multi-stage exponential decay model; Step S20210, using the fitted coefficient matrix A to calculate the energy attenuation curve Exponential Power and perform normalization; Step S20211, applying the calculated energy attenuation curve to the gain array Array Gain, and performing real-time gain processing on the samples.

5. A data acquisition and real-time display system for digital dual-frequency ground penetrating radar, characterized in that: The method for data collection and real-time display of digital dual-frequency ground penetrating radar according to any one of claims 1 to 4 is adopted, and includes: The data transmission module transmits the data collected by the ground-penetrating radar to the mobile device through the user datagram protocol. The ground-penetrating radar uses a circular command buffer to receive commands issued by the mobile device and uses dual threads to execute parallel tasks. Real-time filtering and gain processing module: The mobile device performs real-time filtering and gain processing on the received data, realizes real-time smoothing of the generated radar spectrum through Gaussian filtering, and uses dynamic curve fitting method to realize real-time gain processing; The GPR data retransmission module automatically detects and records the channel number of lost data in the acquisition and upload process through a placeholder mechanism on the mobile device side, and sends a command to the GPR side when the current acquisition of the survey line is completed. The lost data is retransmitted to the mobile device side through the cache of the GPR side, so as to realize the on-demand retransmission of missed and lost GPR data. The radar map drawing module uses a quadruple buffering mechanism to dynamically update and independently draw radar maps.

Citation Information

Patent Citations

  • System and method for data transmission based on buffer control

    CN101192912A

  • Data extraction and display method for three-dimensional ground penetrating radar

    CN112132946A