Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The Correct Amplitude of a Fourier Transform

  1. Jun 20, 2012 #1
    If you take the absolute value of the FFT output, does that give you the amplitude?

    I am asking because I have seen example where that is taken as the amplitude, and examples were the absolute value is multiplied by either SQRT2 or by 2 to get the magnitude.

    So my question is what is right? How do we get the exact amplitude? and if magnitude means the same as amplitude in this context?
  2. jcsd
  3. Jun 21, 2012 #2
    More specifically, i've seen the following normalisations used:

    multiplying by 1/N
    multiplying by 2/N
    multiplying by 1/sqrt(N)
    multiplying by 2/sqrt(N)
    multplying by sqrt(2) / N

    anyone who can shed light as to when these should be used?
  4. Jun 21, 2012 #3
    I depends on the definition of Discrete Fourier Transform. Since FFT ( in fact DFT) is just a transform, the relation between the transform and the inverse transform( the original sequence ) is important and not the factors. In most of the definition that I have faced, the FFT has "no" factor 1/N hence the inverse FFT (IFFT) takes the factor 1/N to hold the correct relation.

    One may distribute the factor as two 1/sqrt(N) and give one to FFT and one to IFFT to make it look symmetric.

    Those normalization come from different definitions but the factor 2 might be due to evenness of the the magnitude of the transform, i.e with factor 2, the summation should be from 0 to infinity rather than from -infinity to infinity.
  5. Jun 21, 2012 #4


    User Avatar
    Science Advisor

    Are you aware of fourier/harmonic analysis and the idea of normalization for the basis vectors?

    This is the reason why you have square roots because you are making the length of the basis vectors (the sines and cosine orthonormal bases) equal to 1 just like you would when you divide a normal three dimensional vector by its length to normalize it.
  6. Jun 21, 2012 #5


    User Avatar
    Science Advisor
    Homework Helper

    The basic issue here is that when you do a digital Fourier transform and then an inverse transform, you want to get back the original data without any scaling factor.

    So you need to "lose" a factor of N somewhere. Mathematically it doesn't really matter if you put the "N" in the transform or the inverse transform, or sqrt(N) in both of them. Practically, it can matter, for example if the input data is represented as integer values and you also want to represent the Fourier coefficients as (approximate) integer values for some reason.

    The bottom line is that you just have to check what convention any particular book, paper, or computer program uses.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook