The spectral width in the frequency domain is set by the dwell time (splitting between the datapoint in the frequency domain). The spectral width is 1/DW and the high and low frequency ends of the spectrum are of SW/2 and -SW/2. I find it strange that all these FFT libraries always order the frequencies in a strange way instead of linearly. The frequency array (intensities) starts at 0 with the index 0 and increases to SW/2 in steps of SW/NP (where NP is the number of points). Past the middle it then starts at -SW/2 and decreases to the minimum negative value at the highest index.
I home this helps. Basically to plot out the frequencies (f) it goes: f[NP/2]....f[0].f[NP]....f[NP/2+1] I hope this helps., Fred On Mon, Jan 28, 2013 at 10:16 AM, Philip Poloczek <[email protected]>wrote: > Hello, > > Currently i'm trying to use the FFT functions of the GSL to filter > measuring signals in frequency domain. The transformation works fine and i > have the amplitude but how do i get the corresponding frequencies for the > amplitudes? > > The excerpt of the GSL documentation how to calculate the frequencies > confuses me a bit. Delta is the time-step in the time domain, right? For > example 1/2s. So the amplitude of index 0 represents 0Hz sounds good to me. > But how to calculate the other ones? Please take a look at my example how i > think it works at the end of this email. > > index z x = FFT(z) > > 0 z(t = 0) x(f = 0) > 1 z(t = 1) x(f = 1/(N Delta)) > 2 z(t = 2) x(f = 2/(N Delta)) > . ........ .................. > N/2 z(t = N/2) x(f = +1/(2 Delta), > -1/(2 Delta)) > . ........ .................. > N-3 z(t = N-3) x(f = -3/(N Delta)) > N-2 z(t = N-2) x(f = -2/(N Delta)) > N-1 z(t = N-1) x(f = -1/(N Delta)) > > > Example: > N = 10 / Delta = 2 > 0 z(t = 0) x(f = 0) 0Hz > 1 z(t = 1) x(f = 1/(10 * 2)) 1/20Hz > 2 z(t = 2) x(f = 2/(10 * 2)) 1/10Hz > 3 z(t = 3) x(f = 3/(10 * 2)) 3/20Hz > 4 z(t = 4) x(f = 4/(10 * 2)) 2/10Hz > > 5 z(t = 5) x(f = 1/(2 * 2)) 1/4Hz > > 6 z(t = 6) x(f = -4/(10 * 2)) -2/10Hz > 7 z(t = 7) x(f = -3/(10 * 2)) -3/20Hz > 8 z(t = 8) x(f = -2/(10 * 2)) -1/10Hz > 9 z(t = 9) x(f = -1/(10 * 2)) -1/20Hz > > Tanks for your help, > Philip > > -- > *Deutsches Zentrum für Luft- und Raumfahrt* e.V. (DLR) > Institut für Aerodynamik und Strömungstechnik | Abteilung Raumfahrzeuge | > Bunsenstr. 10 | 37073 Göttingen > > *Philip Poloczek* | Dualer Student (DHBW-Mannheim < > http://www.dhbw-mannheim.de/>**) > Telefon 0551 709-2391 | [email protected] <mailto: > [email protected]**> > www.DLR.de <http://www.DLR.de> >
