3

I am going over the following tutorial. In section 2.1 the author says

To calculate the $N$ point FFT the Matlab algorithm 1 can be used. Here, after taking the FFT, its magnitude is calculated and the bins are scaled by $1/N$.

Now the author doesn't explain as to why the bins are scaled by $1/N$. At first glance it looks like some kind of normalisation -- but why?


I did some further research and it seems there different ways to define the power in a signal, depending on what you are looking at. See slide 3 of this.

http://www.hep.ucl.ac.uk/~rjn/saltStuff/fftNormalisation.pdf

user27119
  • 199
  • 2
  • 17

1 Answers1

1

Yes, some kind of normalization needs to be done and it's a matter of convention which one to use. To explain, let $\mathbf{F}$ be a DFT matrix containing ${\rm e}^{-\jmath 2\pi \frac{mn}{N}}$. Then you can show that $\mathbf{F} \cdot \mathbf{F}^H = N \cdot \mathbf{I}_N$. This factor $N$ needs to be accounted for. Now, you can do either of the following:

  • Define DFT via $\mathbf{D} = \mathbf{F} \cdot \mathbf{d} \quad \rightarrow\quad$ IDFT becomes $\mathbf{d} = \frac 1N \mathbf{F}^H \cdot \mathbf{D}$.
  • Define DFT via $\mathbf{D} = \frac 1N \mathbf{F} \cdot \mathbf{d} \quad \rightarrow\quad$ IDFT becomes $\mathbf{d} = \mathbf{F}^H \cdot \mathbf{D}$.
  • Define DFT via $\mathbf{D} = \frac{1}{\sqrt{N}} \mathbf{F} \cdot \mathbf{d} \quad \rightarrow\quad$ IDFT becomes $\mathbf{d} = \frac{1}{\sqrt{N}} \mathbf{F}^H \cdot \mathbf{D}$.

All three of them can be used and none of them is more or less correct than the other. Matlab uses the second one, Maple the third (if I remember correctly).

If you need the units to resemble Fourier integrals, normalizing by $\Delta t$ or $\Delta f$ can make sense as well, as you found in the slide set. Depends on what you want to do with the result really.

Florian
  • 2,463
  • 1
  • 6
  • 16