Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions about the conversion of time domain data to frequency domain data #3

Open
chenzhaoxingxin opened this issue Jan 13, 2021 · 3 comments

Comments

@chenzhaoxingxin
Copy link

Hello, Dear Daniel.I downloaded and learned the program you released. You wrote it in great detail, which is very helpful for our study. In the application, I have a question to ask you. I found that the seismic record generated by the program is in frequency domain. If my actual seismic record is in time domain, is there any program that can change it into frequency domain data suitable for FWI stage of the program?
Thank you again for sharing the program and your contribution. Looking forward to your reply.

@Daryubel
Copy link

Daryubel commented Feb 4, 2024

I have a similar problem. From the tutorial the FD used for the FWI seems to be source-receiver domain, and a regular FFT on the TD data won't work. I wonder if you have found a solution to this @chenzhaoxingxin .

@daniel-koehn
Copy link
Owner

Hi everybody,

Very good question, I have not applied GERMAINE to field data, yet. Therefore, I have no script to convert time-domain to frequency domain data. However, for this Radar TE modelling/FWI tutorial ...

https://danielkoehnsite.wordpress.com/wp-content/uploads/2018/10/koehn_etal_2017_germaine_te_fwi.pdf

... I created a few Jupyter notebooks to convert frequency domain data to time domain data, e.g. on page 55, 60 or 67, to compare them with analytical solutions in the time-domain. So, in theory if you reverse the steps described in the notebooks, you should be able to transform time-domain data to the frequency domain.

As a first step, it might be a good idea to use the available scripts to model frequency domain data for the initial model, convert it to the time-domain and compare it with the field data.

Best regards,

Daniel

@Daryubel
Copy link

Hi Dear Daniel,

Thank you for your reply. I've been learning your program, and your suggestion is immensely helpful in our goal of field data implementation. So for last few weeks I've been trying to recreate the FD2TD result from your script in the tutorial. I encountered some mismatches in the conversion, I cannot recreate the TD radargram from the FD binary file for the 2_cross model using the script. I tried to fix the parameters defined in the notebook according to the simulation configuration, but I didn't get the same result as in your tutorial.

For your reference here's what I get:
image
with these configurations that I believe to be aligning with the simulation configuration:

clip = 1e-3   # data clip (Blackman-Harris)
nsrc = 1      # number of shots
ntr = 117     # number of receivers
shotno = 1    # extract FDFD data for shot shotno

# number of frequencies nf and frequency interval df
FC_low = 50e6
FC_high = 200e6

nf = 40
df = (FC_high - FC_low) / (nf-1)
nfnsrc = nf * nsrc

# TD parameters
TmaxTD = 150e-9       # maximum time TD
TmaxFD = 0.25 / df    # maximum time FD
dt = TmaxFD / nf      # time sampling FD

# maximum time sample of FD2TD corresponding to TmaxTD
nmaxFD = int(TmaxTD / dt)

# define time samples in time and frequency domain
tFD = np.arange(0.0, TmaxTD, dt)
offset = np.arange(0, ntr, 1)

Also, I didn't quite understand the shuffling operation:

tmp1 = FD2TD[:,0:29]
tmp2 = FD2TD[:,30:57]
tmp3 = FD2TD[:,58:87]
tmp4 = FD2TD[:,88:117]

FD2TD = None

tmp = np.concatenate((tmp1.T, tmp4.T, np.flipud(tmp2.T), np.flipud(tmp3.T)))
FD2TD = tmp.T

Is there something I missed in the FD2TD operation?
Thank you again! Expecting your answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants