Introduction

Ground penetrating radar (GPR) is widely used in detecting subsurface objects such as buried landmines. It is sensitive to changes in all three electromagnetic characteristics of the medium: namely the electric permittivity, electric conductivity and magnetic permeability. Depending on the application, different scanning schemes, namely, A-scan, B-scan, and C-scan, are being employed [1]. In the B-scan measurement situation, a downward looking GPR antenna is moved along a straight path on the top of the surface while the GPR sensor is collecting and recording the scattered field at different spatial positions. This static measured data collected at single point is called an A-scan [2].

In a typical B-scan GPR image, the scatterers within the image region show up as a hyperbolic curves because of the different trip times of the EM wave while the antenna is moving along the scanning direction. Such an image construction may be sufficient when the aim is only to detect the targets. In most situations, however, the indicative information about the location, shape and size of the targets is required [1, 3]. Therefore, one of the most applied problem for the B-scan GPR image is to transform (or to migrate) the unfocused space–time GPR image to a focused one showing the object’s true location and size with corresponding EM reflectivity. The common name for this process is called migration or focusing [3, 4]. The migration methods were primarily developed for processing seismic images [5] and have been widely used for the focusing of GPR data because of the similarities between the acoustic and the electromagnetic wave equations [412]. Various focusing or migration techniques have been developed to increase the spatial resolution of GPR images. These are; diffraction summation [12], Kirchhoff wave-equation migration [11], phase-shift migration [7, 9], and frequency-wave number (F-K) migration [6, 8].

Use of non-uniform fast fourier transform (NUFFT) algorithm to migrate GPR data as discussed in [9] has resulted in high signal to noise ratio in the migrated data. The non-uniform nature of the wavenumber space requires linear interpolation before the regular fast Fourier transform (FFT) could be applied. However, linear interpolation usually degrades the quality of reconstructed images. The NUFFT method mitigates such errors by using high-order spatial-varying kernels. The phase-shift migration (PSM) method is first introduced and applied by Gazdag [7] to handle lateral velocity variation. This algorithm iteratively puts a phase shift to migrate the wave field to the exploding time of t = 0, such that all the scattered waves are drawn back to object site to have a focused image. The performance of focusing algorithms over different parameters are compared over various migration algorithm shows F-K migration is the fastest one and the Back-Projection based Migration (BPA) is the second best while the Kirchhoff migration is the slowest [4]. From the signal to clutter ratio results, the clutter suppression ability of BPA is the best. Synthetic aperture radar (SAR) based focusing techniques have been applied to GPR data in [13] based on F-K migration. It also suggests that F-K domain SAR algorithm better focuses than hyperbolic summation method and also more efficient in computation time.

Kirchhoff migration algorithm

Data collection in GPR can be done through CMP (common mid-point) gathering and then applying the signal traces for NMO (Normal move out) correction and stacking it. The Fig. 1 depicts it. CMP gathering is one of the techniques of collecting the data showcasing the subsurface of the earth through the GPR system. The Fig. 2 shows how the data is captured using CMP gathering technique [5].

Fig. 1
figure 1

Block diagram of data collection and pre-processing steps

Fig. 2
figure 2

CMP gathering, NMO correction and stacking

The transmitter and receiver must me placed such that for all positions of transmitter and receiver for a particular shot gather, the midpoint of the offset must remain the same. Here the offset refers to the distance between the transmitter and receiver. For each shot, we obtain the reflection which is referred to as the A-scan and the collection of such several A-scans gives the 2-D B-scan image which is used for processing. The B-Scan image turns out to be the hyperbola.

Non-zero offset data is characterized by a travel time increase with increase in offset distance from the source to the reflector. The non-zero offset to zero offset conversion is achieved through a correction called NMO (normal move out) correction. For the single constant horizontal velocity layer the trace time curve of a function of offset is a hyperbola.

The time difference between travel time at a given offset and at zero offset is called NMO. The velocity required to correct for normal move out is called the normal move out velocity. For a single horizontal reflector, the NMO velocity is equal to the velocity of the medium above the reflector. For the simple case of single horizontal layer, the travel time equation as a function of offset is

$$t_{2} \left( x \right) = t_{2} \left( 0 \right) + \frac{{x_{2} }}{{v_{2} }}$$

where x 2is the distance (offset) between the source2 and receiver2 position in Fig. 2. \(v_{2 }\) is the velocity of the medium above the reflecting interface. \(t_{2} \left( 0 \right)\) is twice the travel time along the vertical path. Generally, the NMO correction is given by the difference between t(x) and t(0)

$$\begin{aligned} \varDelta t_{NMO} & = t\left( x \right) - t\left( 0 \right) \\ & = t\left( 0 \right)\left\{ {\left[ {1 - \left( {\left( {\frac{x}{{v_{NMO} }}} \right)t\left( 0 \right)} \right)^{2} } \right]^{{\frac{1}{2}}} - 1} \right\} \\ \end{aligned}$$

Each CMP gather after NMO correction is summed together to yield a stacked trace. Stacking enhances the in-phase components and reduces the random noise. It yields zero offset section (in the absence of dipping layers in the subsurface) [5].

Migration is the process that moves the reflection energies from the apparent locations to the true locations. Kirchhoff migration is a non-recursive method. It uses integral form of wave equation and based on Huygens principle, according to which, the seismic reflector is viewed as if it is composed of closely placed point diffractions. Apex of the diffraction curve to be the location of the true point reflector. The purpose of Kirchhoff migration is to sum up the energy produced by every Huygens secondary source and map it into point of generation as shown in Fig. 3.

Fig. 3
figure 3

Diffraction summation (collapsing each diffraction hyperbola to its apex)

In this way, each point on the migrated section is treated independently from the other points. Each point on the output migrated section is produced by adding all data values along a diffraction that is centered at that point. The diffraction summation method sums the seismic event amplitudes as recorded; Kirchhoff migration corrects the amplitudes and phase for three factors before summing.

The migration principles are

(a) The dip angle of the reflector in the geologic section is greater than in the time section, thus migration steepens reflector.(b) The length of the reflector, as seen in the geologic section is shorter than in time section; thus, migration shortens the reflector. (c) Migration move reflector in the up dip direction. This principle of migration is as shown in Fig. 4 which describes the apparent position and the true position of the object as DD’ and CC’ respectively [5].

Fig. 4
figure 4

The geometric section where CC´ represents true position and DD´ represents the apparent position

In Kirchhoff’s migration procedure, the aim is to find the solution to the scalar wave equation for the wave function (x, z, t). Solving the wave equation, the far-field approximation considered in Kirchhoff migration can be expressed as:

$$P\left( {r,t} \right) = \frac{1}{2\pi }\mathop \int \nolimits dt_{0} \mathop \int \nolimits dA_{0} \frac{\cos \emptyset }{r}\left[ {\left( {\frac{1}{v}} \right)u^{'} \left( {r_{0} ,t_{0} } \right) + \left( {\frac{1}{r}} \right)P\left( {r_{0} ,t_{0} } \right)} \right]$$

where, \(t_{0} = t - \left( {\frac{r}{v}} \right).\) Above equation clearly contains the obliquity (cos ∅) and the spherical divergence (1/r) factors among its terms. The second term in this equation, (1/r) u(r0, t0) is usually dropped, because it is proportional to 1/r2 [4].

Figure 5a and b shows the geometry considered for performing Kirchhoff migration. Consider scanning of surface is done beginning at point O. At point A transmitter—receiver pair gets a reflection from the dipped reflector or the object. By continuing scanning in x direction, assume that the reflection ends at point B. Now, we have the apparent position of the object as C’D’. It is necessary to apply the migration algorithm on this geometry of Fig. 5a to get true position of the object as CD [5].

Fig. 5
figure 5

a Geometry considered before migration. b Geometry considered after migration

The length BD’ and AC’ are known from reflected time. Also, from geometry in Fig. 5a, Angle BDO = 90° and Angle ACD = 90°. Consider the origin O(xo, zo), location of transmitter–receiver pair at A(xa, z0) and apparent position of object C’(xa, za). Since we are considering the point object, only C’ location in the Fig. 5a is the apparent position of target.

The steps involved in the Kirchhoff migration algorithm are listed below:

  1. 1.

    Calculate OA = xa−xo and AC’ = za−z0

  2. 2.

    Assign length AC = length AC’

  3. 3.

    Calculate apparent angle, θa = tan−1(AC’/OA) [from Fig. 5a]

  4. 4.

    Calculate true angle, θt = sin−1(AC/OA) [from Fig. 5b]

  5. 5.

    Calculate OC = OA* cos(θt)

  6. 6.

    Obtain xp = OC*cos(θt)

  7. 7.

    Obtain zp = OC*sin(θt)

Thus true location is P(xp, z0) and apparent location is A(xa, z0) over the ground surface as in Fig. 5b. C’(xa, za) over depth of za from ground is the apparent position and C(xp, zp) is the true location over a depth of zp from ground surface.

F-K migration algorithm

Migration of dipping event in the F-K domain is shown in Fig. 6. The vertical axis is the frequency axis ω for pre-migrated event and it is the vertical wavenumber kz, associated with the depth axis for post-migrated event. We assume velocity equal to 1. F-K migration maps lines of constant frequency AB in the (ω, kx) plane to circles AB’ in the (kz, kx) plane. Therefore, migration maps point B vertically onto point B’. Note that in this process, the horizontal wave number kx does not change as a result of mapping. When this mapping is completed, the dipping event OB is mapped along OB’ after migration. Thus, the dip angle after migration (θ’) is greater than before migration (θ). For comparison, these two radial lines are shown on the same plane (kz, kx), Fig. 6.

Fig. 6
figure 6

Pre and post-migrated section of dipping event

The phase shift method can only handle vertically varying velocities. To handle lateral velocity variations, first the input wave field is extrapolated by the phase-shift method using a multiple number of laterally constant velocity functions and a series of reference wave fields are created. The imaged wave field then is computed by interpolation from the reference wave fields. This migration method is known as phase-shift-plus-interpolation. If the medium velocity is constant, then migration can be expressed as a direct mapping from temporal frequency ωω to vertical wavenumber kz.

Mathematical model

The Fourier like transform is taken for the obtained back scattered field e(x, y, z, t) where z = 0. Since the reflected EM waves are measured at the surface level i.e. zero depth which gives the following result as shown in the equation.

$$E(k_{x} ,k_{y} ,\omega ) = \left( {\frac{1}{2\pi }} \right)^{{\frac{3}{2}}} \int {\int {\int\limits_{ - \infty }^{\infty } {e(x,y,t)e^{{j\left( {k_{x} x + k_{y} y - \omega t} \right)}} dxdydt} } }$$

The inverse Fourier transform for the given signal is given as:

$$\varphi (x,y,0,t) \triangleq e\left( {x,y,t} \right) = \left( {\frac{1}{2\pi }} \right)^{{\frac{3}{2}}} \mathop {\int {\int {\int\limits_{ - \infty }^{\infty } {E(k_{x} ,k_{y} ,\omega )e^{{ - j\left( {k_{x} x + k_{y} y - \omega t} \right)}} dk_{x} dk_{y} d\omega } } } }\limits_{{}}^{{}}$$

Now, putting t = 0 in the above equation and introducing the kz term by substituting the results of the following equation,

$$E\left( {k_{x} ,k_{y} ,\omega } \right) = e^{{jk_{z} z}} E\left( {k_{x} ,k_{y} ,\omega ,z = 0} \right)$$
$$e\left( {x,y,z,0} \right) = \left( {\frac{1}{2\pi }} \right)^{{\frac{3}{2}}} \int {\int {\int_{ - \infty }^{\infty } {E(k_{x} ,k_{y} ,\omega )e^{{ - j\left( {k_{x} x + k_{y} y + k_{z} z} \right)}} dk_{x} dk_{y} d\omega } } }$$

The above equation presents a focused image. However, the data in (kx, ky, w) domain should be transformed to (kx, ky, kz) domain to be able to use the FFT. Hence the mapping is done in order to do this transformation. The value of kz is found out by using the following relation,

$$k_{x} + k_{z} = k_{y}$$

Solving this equation we get:

$$k_{z} \left( {\omega ,k_{x} ;v} \right) = \left[ {\frac{{\omega^{2} }}{{v^{2} }} - k_{x}^{2} } \right]^{{\frac{1}{2}}}$$

Now kz value is found out for every corresponding kx and w and substituted in the following equation;

$$e\left( {x,y,z} \right) = \left( {\frac{1}{2\pi }} \right)^{{\frac{3}{2}}} \int {\int {\int_{\infty }^{\infty } {\frac{{v_{m}^{2} k_{z} }}{\omega }E^{m} \left( {k_{x} ,k_{y} ,k_{z} } \right)e^{{ - j\left( {k_{x} x + k_{y} y + k_{z} z} \right)}} dk_{x} dk_{y} dk_{z} } } }$$

After the above procedures have been carried out, the inverse Fourier Transform is taken to obtain the migrated or focused image.

All the above equations are for C-scan data migration. If a B-scan data has to be processed then the y and the ky terms should be dropped respectively from the above equations. The resulting equation in that case will be as under:

$$e\left( {x,z} \right) = \left( {\frac{1}{2\pi }} \right)\int {\int\limits_{\infty }^{\infty } {\frac{{v_{m}^{2} k_{z} }}{\omega }E^{m} (k_{x} ,k_{z} )e^{{ - j\left( {k_{x} x + k_{z} z} \right)}} dk_{x} dk_{z} } }$$

Although the mapping procedure slows down the algorithm, yet it is speedier than any other migration algorithm used for humanitarian demining. This is due to the use of FFT for fast computation of the data.

Step by step description of F-K migration algorithm

  1. 1.

    Obtain the time traces of wave-field amplitudes E(x, z = 0, t)

  2. 2.

    Discretize E(x, z = 0, t) and obtain MxN matrix

  3. 3.

    Take 2-D FFT on E(x, z = 0, t)

  4. 4.

    Interpolate E(kx, f) to obtain desired depth E(kx, kz)

  5. 5.

    Apply 2-D IFFT on E(kx, kz) and select absolute values to get focused image.

Simulation results

The proposed algorithms are implemented in MATLAB 2014a on Intel core i3 processor at a speed of 3.5 GHz on windows 7 operating systems. B-scan data is simulated for different positions of targets. Then F-K and Kirchhoff migration algorithms are applied on these B-scan data, assuming ground to be homogeneous, without any clutter, to get true locations of targets. We have considered multiple targets at a depth of 100 to 150 cm. A stepped frequency input waveform of bandwidth 3 GHz and divided it into 256 equal steps is used. Taking more spatial points results in better accuracy but increases computational time. At each spatial point, the frequency is varied from 200 MHz to 3.06 GHz and back scattered electric field data is stored. During simulation for the B-scan generation, the following parameters were used: the relative permittivity of ground medium was chosen as 9. The backscattered electric field was collected along a straight path ranging from x = 0 to x = 6m showing 256 points on range. The data was simulated by taking origin as centre of the x-axis and also results are indicated with respect to pixel co-ordinates. Physical dimensions are calculated as (co-ordinate number*resolution). Resolution is considered as (total distance/number of sample points). The cross range (depth) is ranging from 0 to 2 m and is also divided into 256 points. The A-scan required for testing was simulated by considering the target co-ordinates and calculating the distance of SFCW GPR. The data consists of in-phase (I) and quadrature (Q) values, which corresponds to real and imaginary parts of DFT. The time varying radar signal is recaptured by taking inverse DFT of I-Q data. Then successive A-scan data is stacked by taking new distances to yield hyperbola called B-scan. The B-scan GPR image in spatial domain is obtained by taking the Inverse FFT of the back scattered signal data in the frequency domain as shown in Fig. 7a and b. The raw GPR image of the simulated object exhibits the hyperbolic defocusing behavior.

Fig. 7
figure 7

a B-scan image of GPR data of targets 1, 2 and 3. b B-scan image of GPR data of targets 4, 5 and 6

As a case 1, B-scan data was generated considering three targets having locations numbered as 1, 2 and 3 and having true coordinates (50, 105) (100, 115) and (80, 110) respectively resulting in Fig. 7a. Figure 8a shows the focused image of migrated data after applying Kirchhoff migration algorithm, resulting in output data with migrated targets in locations (50, 105) (100, 115) (80, 110) respectively. This resultant image is successfully focused. The target is located at the apex of hyperbola which is converging into a single point at the location of apex of hyperbola for each of the target, after applying our Kirchhoff migration algorithm.

Fig. 8
figure 8

a Focused image after applying Kirchhoff migration algorithm on targets 1, 2 and 3. b Focused image after applying Kirchhoff migration algorithm on targets 4, 5 and 6

As a case 2, B-scan data was generated considering three targets in different locations numbered as 4, 5 and 6 and having true coordinates (17, 156) (53, 121) (65, 139) respectively resulting in Fig. 7b. After applying Kirchhoff migration algorithm, output data with migrated targets 4, 5 and 6 are in locations (21, 157) (53, 119) (65, 139) respectively as shown in Fig. 8b.

The Table 1 shows results of Kirchhoff migration for multiple targets for the cases discussed above. It includes the targets numbered as 1, 2 and 3 of Fig. 8a which shows the true and migrated target positional co-ordinates and also physical dimensions (lateral and buried depth) in cm. The Table 1 also includes the targets numbered as 4, 5 and 6 considered in Fig. 8b, showing the error in depth as −0.38 and −0.785 cm lateral error. Average execution time of Kirchhoff migration algorithm in Matlab is 3.45 s.

Table 1 Results for Kirchhoff Migration with multiple targets

For the second set of simulation results as a case 3, we have considered same B-scan data set shown in Fig. 7a as used for Kirchhoff migration algorithm. Then, we apply the F-K migration algorithm in aiming to get a better focused image. The resultant migrated image is displayed in Fig. 9a, output data with migrated targets 1, 2 and 3 are in locations (50, 103) (100, 112) (80, 108) respectively. Where in the targets responses are seen to be more localized around their correct locations.

Fig. 9
figure 9

a Focused image after applying F-K migration algorithm on targets 1, 2 and 3. b Focused Image after applying F-K migration algorithm on targets 4, 5 and 6

As a case 4, the Fig. 7b is considered as input to F-K migration algorithm. Figure 9b shows the focused image of migrated data after applying F-K migration algorithm, resulting in output data with migrated targets of 4, 5 and 6 in locations (18, 155) (53, 119) (66, 136) respectively.

The Table 2 is a result of F-K migration on multiple targets which shows that there is no error in lateral position and −2.34 cm is the maximum error in depth is for the targets numbered as 1, 2 and 3 considered in Fig. 9a. The Table 2 also includes the targets numbered as 4, 5 and 6 as shown in Fig. 9b, with maximum error of −2.34 cm in depth and maximum error of 2.3 cm in lateral positions. Average execution time of F-K migration algorithm in Matlab is 2.05 s. This shows F-K migrated data gives better results than Kirchhoff algorithm. The Kirchhoff method results in slightly more error in depth and also takes more computational time.

Table 2 Results for F-K Migration with multiple targets

Conclusions

We have considered different cases for SFCW GPR with multiple targets, homogeneous ground conditions and no clutter. Both Kirchhoff and F-K migration methods showed promising results in improving resolution of GPR in focusing the images. The Kirchhoff migration is done after doing hyperbolic summation as NMO and stacking. Maximum error in lateral position is of one coordinate corresponding to 2.3 cm and maximum error in depth position is of 3 coordinates corresponding to 2.34 cm in F-K migration. This indicates that the actual and migrated depths are very close to each other. Under various scenarios, both migration algorithm provide very less error, hence these methods can be implemented on data from GPR in all cases. In F-K migration algorithm, before applying the FFT routine, a mapping procedure from frequency-wavenumber domain to wavenumber–wavenumber domain is necessary. Although this mapping procedure may slow down the execution time of the algorithm, it is still fast thanks to the FFT step. Here, F-K migration algorithm takes an average time of 2.05 s and Kirchhoff migration takes 3.45 s. It clearly says that F-K migration algorithm results in less computation time than Kirchhoff migration algorithm and also results in slightly less error in lateral and depth position.