# Understanding the meaning of amplitude in FFT

I am recording data with a magnetometer of the background magnetic field in a building. I have applied the FFT algorithm to the data in order to look for the frequencies that appear in it. I would like to use this in order to identify (or at least make an educated guess) of the sources of the disturbances that I observe.

My question is: What is the meaning that I can attribute to the amplitude that I obtain from the FFT algorithm? Is there some unit that can be ascribed to it?

Looking at the formula for the continuous fourier transform (which I took from Wolfram Mathworld) : \begin{align} f(\nu)=\int\limits_{-\infty}^{+\infty}f(t)e^{-2\pi i \nu t} \mathrm{d}t \end{align} I do not really know how to accomodate the dimension of Tesla in there.

Thank you

• what are the units of your input data? – user28715 Jun 25 '17 at 18:57
• The unit of the data is nanoTesla – Tarabostes Delectus Jun 25 '17 at 19:23
• The t here refers to time? So you've measured time variation of the magnitude of the local magnetic field at a particular position coordinate? – Fat32 Jun 25 '17 at 20:04
• @Fat32 That is indeed what I have measured – Tarabostes Delectus Jun 26 '17 at 6:07

The continuous-time Fourier transform of a function $$f(t)$$ is in essence an integration of $$f(t)$$ multiplied with a complex exponential kernel: $$F(\omega)=\int_{-\infty}^{\infty} f(t) e^{-j\omega t} dt \tag{1}$$

Since the exponential function is unitless, the unit of the Fourier integral will be the multiplication of the units of the function $$f(t)$$ and the differential $$dt$$.

Assuming that the function $$f(t)$$ had a unit of micro Tesla, and its argument $$t$$ is time (in seconds), then the unit of $$dt$$ will be seconds. As a consequence, the unit of the Fourier transform, $$F(\omega)$$, will be micro Tesla second $$\mu T \cdot s \tag{2}$$

However, what you actually compute is the discrete-time Fourier transform, $$F(e^{j\omega})$$, of the samples $$f[n]= f(nT_s)$$ of the function $$f(t)$$, via the summation: $$F(e^{j\omega}) = \sum_{n=-\infty}^{\infty} f[n] e^{-j\omega n} \tag{3}$$ where $$T_s$$ is the sampling period in seconds.

Furthermore, instead of the continuous-argument function $$F(e^{j\omega})$$, you will compute its samples $$F[k]$$

$$F[k] = \sum_{n=0}^{N-1} f[n] e^{-j \frac{2\pi}{N} n k} \tag{4}$$

through a DFT (discrete Fourier transform) of the samples $$f[n]$$ of length $$N$$, possibly implemented with an FFT algorithm.

The unit of the samples $$f[n]$$ is the same as the unit of $$f(t)$$, making the unit of $$F(e^{j\omega})$$ and $$F[k]$$ as micro Tesla. Therefore the unit of the FFT samples $$F[k]$$ of $$F(e^{j\omega})$$ will be micro Tesla.

Note that there is an (implicit) amplitude scaling by $$1/T_s$$ in the computed DFT samples $$F[k]$$, and when you want to display the continuous-time Fourier transform $$F(\omega)$$ from the samples $$F[k]$$, you multiply them with $$T_s$$, which corrects not only the amplitude scaling, but also the unit of it, by making it micro Tesla second as in (2).

• Thank you for taking the time to write a detailed answer. – Tarabostes Delectus Jun 26 '17 at 6:09