MATLAB implementation of VMD-HT, a dv/v estimator that pairs variational mode decomposition (VMD) with the Hilbert transform (HT). Instead of fixing the frequency support in advance (filter banks, wavelet grids), VMD-HT lets the data set the partition: the coda is resolved into narrowband modes whose center frequencies follow the signal's energy, each mode yields a phase-based dv/v, and an energy-weighted fusion combines them.
Chu, B., et al. (2026). Data-adaptive frequency partitioning for coda-wave interferometry using variational mode decomposition and the Hilbert transform.
VMD-HT-dvv/
├── src/ # core method
│ └── dvv_vmd_hht.m # VMD-HT dv/v pipeline (+ dependencies)
├── tools/
│ └── vmd_adaptive_explorer.m # K x alpha parameter exploration
├── examples/
│ ├── example_run_vmdht.m # Example 1+2: synthetic benchmark + station AL201
│ ├── example_explore_parameters.m # Example 3: adaptive parameter exploration
│ ├── synth_example.mat # synthetic coda pair (+0.05% ground truth)
│ ├── ZZ_AL201-AL201.txt # daily ACFs at station AL201
│ └── data/daily/ # multi-station ACFs
├── LICENSE
└── README.md
- MATLAB R2020b or later
- Signal Processing Toolbox (
butter,filtfilt,hilbert)
No other toolboxes are required.
Clone the repository and run the examples from the examples/ folder:
cd examples
example_run_vmdht % Examples 1 and 2
example_explore_parameters % Example 3 (needs >= 3 stations in data/daily/)The ACF data at the Anninghe fault zone are from the dense-array deployment of Sun et al. (2025); only a small subset is redistributed here for the examples. The full data set is available from the original publication:
Sun, T., Yao, H., Yang, H., Yu, C., Luo, S., & Sheng, Y. (2025). Pronounced temporal velocity variations within the fault fracture zone in response to Earth tide modes. National Science Review, 12(4), nwaf023. doi: 10.1093/nsr/nwaf023
The synthetic data are generated with a 2-D elastic staggered-grid finite-difference code (von Kármán random medium, configuration after Mao et al., 2020, GJI).