I am using FFT (Fourier) on a dataset that contains the temperature along a rod 1m long. The data is sampled with a spacing of 0.01m, so I have 100 measurements in total.

This gives me a sampling rate of 100 1/m. Now, when I call Fourier I get out a list with 100 numbers in frequency-space, where the first corresponds to 0-frequency.

Say I shift the data so the 0-frequency will be in the center. I am unsure of what the largest and smallest wavevector is.

Is it simply -50 (smallest) and +49 (largest)? Thereby implying that the smallest perturbation my FFT can resolve is 1/0.02 = 50, i.e., 0.02m?

  • $\begingroup$ If you FFT a complex sinusoid with a whole number of cycles over your data set, you can easily find the correspondence between frequency and bin number. $\endgroup$
    – mikado
    Aug 9, 2016 at 21:12

1 Answer 1


The frequencies $f$ returned by the FFT (Fourier) are


where $N$ is the number of points in the input series, and the frequency increment is $d=1/T$ where $T$ is the period of the input series. In your case, the "period" $T=1$ meter, so $d=1 m^{-1}$. The special frequency $(N/2) d$ is the Nyquist, or folding, frequency, and is the highest frequency representable by the FFT. There is one zero frequency, one Nyquist frequency, and $(N-2)/2$ positive/negative pairs of other frequencies.

f = d * Join[Range[0, n/2], -n/2 + Range[1, n/2 - 1]]

Shifting the data so that the zero frequency is in the centre requires (for even $N$)


where f is the original list of frequencies. Thus, the list of frequencies to associate with the 100 numbers returned by Fourier is, after shifting:

{-49, -48, -47, ..., -2, -1, 0, 1, 2, ..., 48, 49, 50}


Not the answer you're looking for? Browse other questions tagged or ask your own question.