Radar Frequency-Domain Full-Waveform Inversion using MATLAB
2D Ground Penetrating Radar (GPR) Full-Waveform Inversion (FWI) in the frequency domain using finite-difference discretisation. The code performs multi-parameter imaging (permittivity ε and conductivity σ) for sedimentary architecture modelling.
Copyright © Mrinal Kanti Layek
- Senior Research Fellow (Geophysics), Department of Geology and Geophysics
- Indian Institute of Technology Kharagpur, Kharagpur – 721302, India
- Contact: layek.mk@gmail.com
- Profile: ResearchGate – Mrinal Layek
Developed as Ph.D. work by Mrinal Kanti Layek.
Starting date: 3 January 2018 · Final modification: September 2019.
RFDFWIM provides:
- Forward modelling — 2D GPR frequency-domain finite-difference (FDFD) modelling with shot gathers and CFS-PML boundaries.
- Full-waveform inversion — Frequency-domain FWI for GPR data to recover relative permittivity and conductivity.
- Multi-parameter imaging — Joint recovery of ε and σ using gradient-based optimisation with L-BFGS and Wolfe line search.
Typical use: inverse crime methodology (synthetic data from the same forward code) as in Lavoué et al. (2014), Layek & Sengupta (2019, 2021, 2023).
| Item | Description |
|---|---|
| create_models/ | Scripts to build synthetic models (e.g. two-cross, 4-sided geometry). |
| forward/ | Forward modelling: FDFD, CFS-PML, shot/receiver handling. |
| inv/ | Inversion: gradients, Hessian, L-BFGS, Tikhonov, Wolfe line search. |
| input/ | Input files: permittivity (ε), conductivity (σ), source/receiver positions. |
| output/ | Forward modelling outputs (figures, etc.). |
| outputmyINV/ | Inversion outputs (models, gradients, figures, .mat files). |
| obs/ | Observed/synthetic data (e.g. obs_data.mat from forward run). |
| docs/ | Notes and documentation. |
| seismic.map | Colormap for visualisation. |
Main entry scripts:
- create_models_mkl.m — Create synthetic models and acquisition (e.g. MYMOD_*.dat).
- GPRFM.m — Forward modelling; generates data for inversion (saved in
obs/). - RFDFWI.m — Main FWI script; runs the inversion and writes to
outputmyINV/.
- Install — MATLAB (tested R2016b+), Parallel Computing Toolbox recommended. See INSTALLATION.md.
- Create models — Run
create_models_mkl.mto generateinput/MYMOD_eps.dat,MYMOD_sig.dat, and acquisition files. - Generate data — Run
GPRFM.mto produceobs/obs_data.mat. - Run inversion — Run
RFDFWI.m; results and figures go tooutputmyINV/.
Details: COMMANDS.md, MANUAL.md.
- Lavoué et al. (2014) — FWI of GPR data.
- Layek, M.K. & Sengupta, P. (2019, 2021, 2023) — Multi-parameter GPR FDFD FWI, sedimentary architecture.
- Köhn et al. (2017) — Tutorial: frequency-domain modelling and FWI of georadar data with GERMAINE. DOI: 10.13140/RG.2.2.29354.03523.
- Meles et al. (2011) — GPR full-waveform sensitivity and resolution (FDTD adjoint).
- Shin et al. (2001) — Pseudo-Hessian in seismic FWI.
- Nocedal & Wright (2006) — Numerical optimization, L-BFGS, Wolfe conditions.
- Platform: Windows 10 Pro, 64-bit
- Hardware: Lenovo ThinkStation, AMD Ryzen Threadripper PRO 3955WX 16-Cores 3.90 GHz, 32 GB RAM
See repository for applicable terms. All rights reserved by the author.