User Tools

Site Tools

Fast Fourier Transforamtion of Data

Here we will shortly explain how to Furier transform the S(Q,ω) to I(Q,t) by the Fast Fourier Transformation algorithm implemented in FRIDA1. Please do take into account a couple of things:

  • The space between points in frequency space gives an upper limit in the time space, i.e., the upper limit of times will be given roughly by tmax=2*pi/Δtmin
  • On the other hand the difference between the last and first frequencies will give you the lower limit in time space, given again by the same formula than before tmin=2*pi/Δtmax.

Therefore do not cut your S(Q,ω) and try to rebin your data with the lowest spacing (in w) between points (be reasonable however!!!! do not bin the data in a grid smaller than that of the experiment. That will not help at all ;-)).

We will explain, therefore, first how to “cut” the S(Q,ω) to retain only the “gain” (positive) part of the S(Q,ω) spectra, then we will explain how to “deconvolve” with the resolution function, which in time domain reduces to a division by the I(Q,t) of the resolution function, and at last to normalize by the I(Q,t=0) value.

The notion is as follows:

Nsqt the number of the file(s) having your I(Q,t) data
Nvan the number of the file(s) having your vanadium data
Nsqtv the number of the file(s) having your I(Q,t) divided by vanadium
Nnorm the number of the file(s) having your normalization constant
Fast Fourier Transforamtion of Data. Only gain side
mcd To delete the loss part
3 to select by x value
0-100 to keep only the positive values. Now we can do the fft…
tff Fourier Transform in cosinus (we want the real part!)
t Output coordinate is time
ps the output unit is generally in the ps scale for TOF measurements
1e-12 a picosecond is 10-12 s
S(Q,t) the output coordinate is S(Q,t)
that is its unit: none
Deconvolve the instrumental resolution
glx to put x axis of graphics in a log scale
p Nsqt You can plot your nice s(q,t). Now we are ready to divide by the resolution
oy to recalculate y
/ to divide by
y2 to catch a value per channel
Nvan the number of the file with your vanadium data.
Normalize S(Q,t)/S(Q,t=0)
Nsqt we go to the number of file you have your S(q,t) (already divided by vanadium!)
oi I will keep a file with only one point per spectrum (the first) which is most similar to S(Q,t=0)
3 one y value
1 from the first channel of each spectrum. Now we get a file with a point for every spectrum.
Nsqtv now we select the file where our data are
oy we will divide by the points in the file we have just created with one point per spectra
/ divide
i one point of file Nnorm per spectra
Nnorm the file with your normalization constants (that we have calculated as the first point of our S(Q,t)

That's all folks!