The Correct Amplitude of a Fourier Transform

Click For Summary

Discussion Overview

The discussion centers on the correct amplitude of a Fourier Transform, specifically regarding the normalization factors applied to the output of the Fast Fourier Transform (FFT). Participants explore various definitions and conventions related to amplitude and magnitude in the context of Fourier analysis.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant questions whether taking the absolute value of the FFT output provides the amplitude, noting discrepancies in examples where different factors are applied.
  • Multiple normalization factors are presented, including 1/N, 2/N, 1/sqrt(N), 2/sqrt(N), and sqrt(2)/N, with a request for clarification on their appropriate usage.
  • Another participant suggests that the normalization depends on the definition of the Discrete Fourier Transform (DFT) and emphasizes the importance of the relationship between the transform and its inverse.
  • It is mentioned that the factor of 2 might relate to the evenness of the magnitude of the transform and how summation limits affect the normalization.
  • A later reply discusses the practical implications of scaling factors when performing digital Fourier transforms and the necessity of returning to the original data without scaling discrepancies.

Areas of Agreement / Disagreement

Participants express differing views on the appropriate normalization factors and their implications, indicating that multiple competing views remain without a clear consensus on the correct approach.

Contextual Notes

Participants highlight that the choice of normalization can depend on specific definitions and conventions used in different texts or applications, and there is an acknowledgment of the potential impact on integer representation of Fourier coefficients.

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
3K
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
6K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 8 ·
Replies
8
Views
5K