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

  • $\begingroup$ what are the units of your input data? $\endgroup$ – user28715 Jun 25 '17 at 18:57
  • $\begingroup$ The unit of the data is nanoTesla $\endgroup$ – Tarabostes Delectus Jun 25 '17 at 19:23
  • $\begingroup$ 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? $\endgroup$ – Fat32 Jun 25 '17 at 20:04
  • $\begingroup$ @Fat32 That is indeed what I have measured $\endgroup$ – Tarabostes Delectus Jun 26 '17 at 6:07

The continuous Fourier transform $$ X(\omega)=\int_{-\infty}^{\infty} f(t) e^{-j\omega t} dt$$ is in essence an integration operation with a complex exponential kernel. Since the exponential function is unitless, the output unit of the Fourier integral will be multiplication of the unit of the function $f(t)$ and unit of the differential $dt$.

Assuming, the function $f(t)$ had units of micro Tesla and its argument $t$ represents time whence the unit of $dt$ is seconds, then the unit of the Fourier transform $X(\omega)$ will be micro Tesla second = $$\mu T \cdot s$$

Note that this unit is for the continuous Fourier transform, $X(\omega)$, of the function $f(t)$ (The thing that you are interested in). But what you actually compute is the discrete time Fourier transform of the samples $f[n]= f(nT_s)$ of the function $f(t)$ via the summation: $$X(e^{j\omega}) = \sum_{n=-\infty}^{\infty} f[n] e^{-j\omega n}$$ where $T_s$ is the sampling period in seconds.

You can compute the samples $X[k]$ of this $X(e^{j\omega})$ through a DFT (discrete Fourier transform) possibly implemented with an FFT algorithm.

Now since the unit of the samples $f[n]$ is the same with the unit of the function $f(t)$, the unit of $X(e^{j\omega})$ is mirco Tesla. Therefore the unit of the FFT samples $X[k]$ of $X(e^{j\omega})$ will also be micro Tesla.

Note finally that there is the amplitude scaling of $1/T_s$ in the FFT samples $X[k]$, and when you want to convert them into the corresponding continuous time Fourier transform $X(\omega)$ from those FFT samples $X[k]$, you shall multiply them with $T_s$, which corrects not only the amplitude scaling, but also the unit of it to become micro Tesla second.

| improve this answer | |
  • 1
    $\begingroup$ Thank you for taking the time to write a detailed answer. $\endgroup$ – Tarabostes Delectus Jun 26 '17 at 6:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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