Why data processing is needed?
Processing GPR data is essential for various reasons to ensure accurate and interpretable results. Raw GPR data often contains noise and clutter and the signals are weak making it difficult to identify and interpret subsurface features directly. The purpose of data processing is to improve the quality of the data and enhance the visibility of important subsurface features. Some of the reasons why GPR data needs to be processed are:
1) Noise Clutter reduction: GPR systems often pick up noise from various sources such as EM interference, reflections from surface objects but also unwanted reflections from subsurface objects and environmental factors, known as clutter. Processing helps remove or minimize this noise, making meaningful reflections more apparent and easier to analyze.
2) Signal enhancement: Some subsurface features, such as deeper objects, may produce weak radar signals that can be difficult to detect in the raw data. Processing, such as gain, can be used to enhance weaker signals so that they are more visible in the B-scans.
3) Position correction: Subsurface objects can appear to be in the wrong position in GRP data. Processing can help re-position the reflections at their correct locations, providing a clearer image of the subsurface.
Common GPR data filters
Time zero correction
Time zero is the time when the transmitter starts off the signal transmission. To make an accurate interpretation of the depth of subsurface objects from the GPR data, knowledge of the time zero is needed. However, due to time delays associated with the instrumentation itself, it is not possible to determine the exact time that the transmitter emits. Thus, to compensate for this, a time-zero correction should be applied in order to shift the responses so that the time-zero corresponds to the surface reflection.
Time zero correction is different for different GPR datasets and finding the optimal time zero value for accurate depth estimations is one of the problems faced during processing. This depends on both the GPR instrumentation used but also on the antenna separation. Different points have been suggested for time zero correction with the most common ones being: the first break, which is the time point when the receiver starts recording the direct wave transmitted by the transmitter, the time corresponding to the positive or negative peak amplitude of the responses, or the time corresponding to the first zero amplitude point between the first positive and negative peak. Time zero correction is usually the first processing step applied on GPR data.
An example of the effect of time zero correction can be seen below, where on the left we can see the direct wave response located at ~0.16 m and on the right, the same response located at 0 m after time zero correction.

Background removal
Background removal is one of the main GPR data processing steps. This method is used to suppress coherent system noise appearing as bands or/and remove other horizontal events in GPR data. The bands are horizontal events that exist in the data and are present across the entire length of a B-scan. In addition, it is used to remove the direct air wave from transmitter to receiver and the direct ground wave corresponding to the interface between air and subsurface.
Frequently in GPR images, the target signatures are masked by the direct air and direct ground wave responses, together called direct wave, due to having a stronger signal. Therefore, apart from suppressing system noise, the background response can be removed from the total responses in order to enhance other events. Note that in addition to the background, other flat-lying responses that might be of interest will be removed/partially removed during this filtering process, therefore always check the raw data as well before applying this filter.
Background removal is most commonly performed by subtracting the mean A-scan of all the A-scans in a GPR line (B-scan) from every A-scan in that line. By default, to perform this, all traces in a B-scan and the whole time window (total time an A-scan was recorded) are selected. Different variations of this method exist that can be used based on the needs of a GPR dataset, such as using only a certain number of traces or using a time window smaller than the total recorded time.
An example of a B-scan collected over a concrete slab with a rebar grid is shown below. On the left plot, we can see the data before background removal. Here, the direct wave is visible on the top of the B-scan and also horizontal events that correspond to rebars, which were collected while scanning parallel to the long axis of the rebars. There are also some ‘hidden’ responses in the B-scan, which are masked. On the right plot, we can see the resultant B-scan after applying background removal. The masked responses from the rebars (hyperbolas) are now visible. These were obtained by scanning perpendicular to the long axis of these rebars and thus produce the characteristic hyperbolic pattern. Note also that the direct wave and other flat lying events have now been removed and therefore care must be taken not to miss important features during interpretation.
Gain adjustment
As the EM waves get attenuated while they are travelling through the subsurface, the returned signal from a target is weaker in amplitude compared to the one from the surface. To compensate for that, gain can be applied to amplify the responses arriving later in time (deep subsurface objects) and other weak responses (corresponding to small dielectric contrasts) in order to make them clearly visible. This is usually a non-linear operation implemented with a function that increases the amplification with time in order to compensate for the weaker signals. Gain changes the frequency content of the signals and thus, the amplitudes and shapes of the original responses.
There are different gain techniques, some of which:
Constant gain: Applies the same amplification across the entire B-scan
Linear gain: Increases gain linearly with depth
Exponential gain: Applies an exponentially increasing gain with depth
Automatic Gain Control: A type of gain control that dynamically adjusts the signal amplitudes based on the strength of the incoming signal by calculating a gain curve.
An example of gain is shown below. On the left plot, we can see the B-scan before gain where the responses are faint, whereas on the right, we can clearly see the hyperbolas and flat event response.

When applying gain, you need to be careful not to over-amplify the noise. When you apply too much gain, it amplifies not only the weak reflections but also the noise, which might mask meaningful reflections. In addition, since gain alters the amplitudes and also the relative amplitudes of the reflections, this means that you may lose the ability to distinguish between strong and weak reflectors based on their signal strength. Thus, extensive gain adjustments need to be avoided. Furthermore, if gain adjustment focuses too heavily on deep features, earlier reflections might become suppressed, leading to missed features. An example of applying extensive gain is shown below, where the signals have been saturated.

If multiple datasets are collected across different sections of the same survey and different gain settings are applied to each dataset, the data can be inconsistent making it harder to interpret. Thus, ensure consistent gain settings.
Best practices for gain adjustment: Begin by applying a lower gain to see how it affects the data and incrementally increase it as needed. Always evaluate the B-scans before and after gain to make sure the processed data still represent the subsurface accurately. Since signal attenuation varies with depth, a time-dependent gain is often more effective than constant.
Frequency filtering
Frequency filtering is the most common signal (applied to all signals, not only GPR signals) processing technique. A high-pass filter is utilized to attenuate low-frequency components and keeping the frequencies above that threshold. A low-pass filter is implemented to remove the high-frequency noise that may be present in the data (frequencies above a threshold) and keeps the frequencies below the threshold. Applying both results in a band-pass filter, where only a certain range of the frequencies contained in a signal is kept.
Real data always contain a certain form of noise, that in some cases can be extensive and therefore, frequency filtering is needed to remove it. Filtering can be implemented either in the time domain, such as a moving average smoothing filter, or more commonly in the frequency domain by a Fourier transform. An example of filtering frequencies is shown below, where on the right some of the noise in the data has been suppressed.

Note that extensive frequency filtering can suppress frequencies that are contained in meaningful reflections, and thus lead to data misinterpretation.
Migration
In a typical GPR B-scan image, which is collected with the antenna moving along a survey direction, a target appears as a hyperbola due to the different two-way propagation times of the EM wave for each antenna position. While processing the GPR data, it is common to correct this by transforming the unfocused B-scan image to a focused one. Migration is an advanced imaging technique used to transform the GPR image to a form more representative of the subsurface structure and more easily interpretable to the human eye. Assuming the EM wave velocity in the medium is known, migration collapses the hyperbolic responses of targets and places them to their correct spatial location. The final reconstructed image of the targets will resemble their true geometrical characteristics.
For the migration to work properly, a good estimate of the EM wave velocity is required. An example of performing migration with a correct velocity is shown below, where on the left is the B-scan before migration and on the right after, where the hyperbolas have collapsed.

If the velocity set is too small, then the hyperbolas will not fully collapse, and we would have what is called under-migration. An example of under-migration is shown below, where it is visible that the hyperbolas have not fully collapsed as a result of selecting a velocity much smaller than the actual one.

On the other hand, if the velocity is quite high, the hyperbolas will be essentially inverted and form the characteristic ‘smile’ patterns (over-migration). An example of an over-migrated image is shown below, with the characteristic ‘smiles’ being clearly visible. This is clearly not physical, but just an artifact created by processing due to high velocity.

Hilbert transform
After migration, a commonly applied processing step is Hilbert transform. With Hilbert transform, the envelope of a signal is found, where a wavelet containing both positive and negative parts is converted to a wavelet with only positive components. This removes the oscillations of the signals and makes the interpretation of the data easier. An example is shown in the image below, where the Hilbert transform of the migrated image is plotted on the right.
