-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathloadConfig.m
More file actions
82 lines (73 loc) · 4.43 KB
/
loadConfig.m
File metadata and controls
82 lines (73 loc) · 4.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
function config = loadConfig()
% loadConfig - Load all configuration parameters used by the program.
%
% Outputs:
% config - A structure containing various configuration sub-structures.
%% 1. Preprocessing parameters
config.PreprocessingParam = struct();
config.PreprocessingParam.tstart = -60; % start time (sec) relative to event
config.PreprocessingParam.tend = 600; % end time (sec) relative to event
config.PreprocessingParam.sig_leader = 30; % time before P-wave arrival (sec)
config.PreprocessingParam.record_len = 120; % record length after P-wave arrival (sec)
config.PreprocessingParam.lows = 0.1; % bandpass filter low corner frequency (Hz)
config.PreprocessingParam.highs = 2.0; % bandpass filter high corner frequency (Hz)
config.PreprocessingParam.resample_period = 0.1; % resample period (sec)
%% 2. Deconvolution parameters
config.DeconvParam = struct();
config.DeconvParam.gauss = 2.5; % Gaussian parameter for deconvolution
config.DeconvParam.waterlevel = 0.01; % water-level parameter for deconvolution
config.DeconvParam.itmax = 100; % maximum number of iterations for deconvolution
config.DeconvParam.minderr = 1e-5; % minimum error for deconvolution
config.DeconvParam.phaseshift = 5; % phase shift for deconvolution
config.DeconvParam.verbose = true; % verbose output (true/false)
config.DeconvParam.radonfilter = false; % use Radon filter (true/false)
%% 3. Radon Transform parameters
config.RadonParam = struct();
config.RadonParam.lows = 0.1; % bandpass filter low corner frequency (Hz)
config.RadonParam.highs = 1.2; % bandpass filter high corner frequency (Hz)
config.RadonParam.pmax = 0.05; % maximum slowness (s/km)
config.RadonParam.pmin = -0.05; % minimum slowness (s/km)
config.RadonParam.minTraces = 60; % minimum number of traces per event
config.RadonParam.N1 = 30; % number of CG iterations
config.RadonParam.N2 = 1; % number of outer loop iterations
config.RadonParam.plotRadon = false; % plot Radon results (true/false)
%% 4. Rank Reduction parameters (Off-the-grid reconstruction)
config.RankReductionParam.lonmin = 109.000; % minimum longitude for grid
config.RankReductionParam.latmin = 41.1667; % minimum latitude for grid
config.RankReductionParam.dx = 5; % spacing in x-direction
config.RankReductionParam.dy = 3; % spacing in y-direction
config.RankReductionParam.rank = 5; % rank for rank reduction
config.RankReductionParam.niter = 5; % number of iterations
config.RankReductionParam.mode = 1; % mode for rank reduction
config.RankReductionParam.verb = true; % verbosity flag
config.RankReductionParam.eps = 0.00001; % epsilon for convergence
config.RankReductionParam.K = 4; % parameter K for rank reduction
config.RankReductionParam.flow = 0.1; % lower frequency bound
config.RankReductionParam.fhigh = 1.2; % upper frequency bound
config.RankReductionParam.tmax = 50; % maximum time
%% 5. Migration imaging parameters
config.MigParam = struct();
config.MigParam.is_ssa = 0; % use SSA method (1) or not (0)
config.MigParam.flow = 0.1; % minimum frequency for migration (Hz)
config.MigParam.fhigh = 1.2; % maximum frequency for migration (Hz)
config.MigParam.rank_p = 8; % rank parameter for SSA
config.MigParam.K = 4; % damping factor (default: 4) for SSA
config.MigParam.n_iter = 20; % number of iterations for migration
config.MigParam.gauss = 2.5; % Gaussian parameter for migration
config.MigParam.phaseshift = config.DeconvParam.phaseshift; % phase parameter for migration
%% 5. Array & event filtering parameters
config.max_angle_diff = 15; % max azimuth difference (deg)
config.profile_length = 4; % profile length (degree)
%% 6. Global parameters
config.dataFolder = './data/event_waveforms_BY'; % data folder path
config.outputFolder = './results'; % output folder
config.saveResults = true; % whether to save results
config.visualizeResults= true; % whether to visualize results
%% 7. Hk parameters
config.HKStackingParam.hmin = 30;
config.HKStackingParam.hmax = 70;
config.HKStackingParam.dh = 0.1;
config.HKStackingParam.kmin = 1.6;
config.HKStackingParam.kmax = 2.0;
config.HKStackingParam.dk = 0.01;
end