The Correct Amplitude of a Fourier Transform

Click For Summary
SUMMARY

The amplitude of a Fourier Transform can be derived from the absolute value of the Fast Fourier Transform (FFT) output, but normalization factors must be considered for accurate representation. Common normalization factors include multiplying by 1/N, 2/N, 1/sqrt(N), 2/sqrt(N), and sqrt(2)/N, depending on the definition of the Discrete Fourier Transform (DFT) being used. The choice of normalization affects the relationship between the FFT and its inverse, the Inverse Fast Fourier Transform (IFFT), ensuring that the original data can be accurately reconstructed. It is essential to adhere to the conventions specified in relevant literature or software to avoid discrepancies in amplitude representation.

PREREQUISITES
  • Understanding of Fast Fourier Transform (FFT) and Inverse Fast Fourier Transform (IFFT)
  • Familiarity with Discrete Fourier Transform (DFT) concepts
  • Knowledge of normalization techniques in signal processing
  • Basic mathematical principles of vector normalization
NEXT STEPS
  • Research the different normalization conventions for Discrete Fourier Transforms
  • Explore the implications of normalization factors in FFT implementations
  • Learn about the mathematical foundations of Fourier analysis and harmonic analysis
  • Investigate software libraries that implement FFT and their normalization practices
USEFUL FOR

Signal processing engineers, data scientists, and anyone involved in digital signal analysis or Fourier Transform applications will benefit from this discussion.

harmonics
Messages
3
Reaction score
0
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?
 
Physics news on Phys.org
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?
 
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.
 
harmonics said:
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?

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.
 
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.
 

Similar threads

  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
6K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 8 ·
Replies
8
Views
5K