I am following the instructions of this paper (https://www.earthdoc.org/content/journals/10.3997/1873-0604.2003015) to process a ground-penetrating radar (GPR) signal (a discrete signal sampled at a fixed rate).

The main issue here is that the source signal of the GPR is unknown. So if a can deconvolute an estimated source signal and then convolute the impulse response of the investigated ground with a known source wavelet, well, maybe I have a chance to better understand the data. In other words, a source separation to use a known one in the place.

As I understood, the deconvolution process consists in 1) extracting a source wavelet from the raw GPR signal 2) Pad the extracted source vector with zeros to guarantee vectors with equal size 3) Define the desired wavelet that will be convolved, here I have a Ricker Wavelet 4) Perform the deconvolution-convolution.

So at the end, the reconstructed time-domain signal "E_decon" is given by (FFT stands for fourier transform) :

E_decon = inverseFFT[  FFT[Raw GPR signal]/FFT[Extracted source]*FFT[Desired source]  ]

It works nicely with my synthetic data :

enter image description here

enter image description here

However, when it comes to real radar data is really difficult to define the source wavelet to extract. I tried to smooth the transition between the extracted source wavelet and the zero-padding vector using a pchip interpolator. However, the final signal have STRONG 500 MHz frequency component and don't get where it comes.

So here are my questions :

  • Before the rise of the signal there is a little bump, could it come from there ?

  • Should I smooth out all of my GPR signal ? Or just filter out the 500 MHz component from the deconvolved signal to achieve a "clean signal" ?

  • A blind-deconvolution would be a better approach ? (even if I don't know how to do it yet)

I can share all the code and data on request. It is just complicated to do it here because I can't upload a file with the raw GPR signal.

Thanks in advance for your help, Cheers, Luis

enter image description here

enter image description here

  • $\begingroup$ Hi Luis, there is method based on complex cepstrum, but i never used that myself. $\endgroup$
    – Mohammad M
    Commented Feb 17, 2023 at 13:56
  • 1
    $\begingroup$ also about that peak, it seems the denominator has a near zero value at that frequency bin, so when you try to find it's inverse it become too large. $\endgroup$
    – Mohammad M
    Commented Feb 17, 2023 at 14:02
  • $\begingroup$ @MohammadM thanks for your comments. Maybe I should oversample or downsample to have have different frequency bins ? Maybe the peak will be gone ? $\endgroup$
    – Luis Fraga
    Commented Feb 21, 2023 at 9:49
  • 1
    $\begingroup$ if you pad the signal or change the sampling rate your Fourier bins may get away from that zero by chance (but also it may get worse if they got closer to that zero), usually they handle these problems by applying some regularization, I suggest use Weiner deconvolution. it will handle these zeros. $\endgroup$
    – Mohammad M
    Commented Feb 21, 2023 at 16:48
  • 1
    $\begingroup$ it's like, adding some small baseline to the denominator. $\endgroup$
    – Mohammad M
    Commented Feb 21, 2023 at 16:53


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.