# Fourier Transform accelerogram seismic

I have a seismic accelerogram. I tried to apply the Fourier Transform to interpolate function, but dosn't work. So, i applied the Fourier[signal,FourierParameters->{-1,-1}], when i Plot (ListLinePlot)

Abs[Fourier[signal,FourierParameters->{-1,-1}]]


Signal:

https://www.dropbox.com/s/tkag1h1tkbb34p8/elcentro.dat?dl=0

I obtained a Incorrect graphics (no sense ).

Can I solve It?

• I haven't looked at your data, but I think it must be 2d, that is, a list of lists. – mikado Oct 16 '16 at 11:02
• Have you got time mixed in with the data? The input to Fourier should be a list of the data without the time coordinate. – Hugh Oct 16 '16 at 11:02
• @hugh so I must pass to "Fourier[]" only time coloumn? If yes, how plot The diagram frequency/Abs[FT]? Thx – plus91 Oct 16 '16 at 11:07
• @mikado I must verify but i think it is a list with two coloumn (time and acc). I import it by signal=Import["elcentro.dat"] and Then plot it by " ListLinePlot[signal]. Thx – plus91 Oct 16 '16 at 11:10
• Just use the ordinates. I put some information on using Fourier here. – Hugh Oct 16 '16 at 11:12

Like already pointed out in the comments: only use the ordinate values.

fData=Abs[Fourier[data[[All,2]],FourierParameters->{-1,-1}]]^2;
fData=fData[[1;;Floor[Length[fData]/2]]];


With a little bit more code, we can visualize it very well:

SR=(Length[data]/data[[All,1]][[-1]]);
Frequencies=(Range[1,Length[fData]]-1)*SR/Length[data];
ListLinePlot[Transpose[{Frequencies,fData}],PlotRange->All,Frame->True,FrameLabel->{Style["Frequency",16],Style["Powerspectrum",16]},ImageSize->1200,AspectRatio->1/8]


• Julien Kluge, thx for your solution ;) – plus91 Oct 16 '16 at 20:13