formula Amplitude using FFT

1.7k views Asked by At

I want to ask about the formula of amplitude bellow. I am using Fast Fourier Transform. So it returns real and complex numbers. after that I must search amplitude for each frequency.

My formula is

amplitude = 10 * log (real*real + imagined*imagined)

I want to ask about this formula. What is it source? I have been search, but I don't found any source. Can anybody tell me about that source?

2

There are 2 answers

1
marko On BEST ANSWER

This is a combination of two equations:

1: Finding the magnitude of a complex number (the result of an FFT at a particular bin) - the equation for which is m = sqrt(r^2 + i ^2)

2: Calculating relative power in decibels from an amplitude value - the equation for which is p =10 * log10(A^2/Aref^2) == 20 log10(A/Aref) where Aref is a some reference value.

By inserting m from equation 1 into a from equation 2 with ARef = 1 we get:

p = 10 log(r^2 + i ^ 2)

Note that this gives you a measure of relative signal power rather than amplitude.

2
gg349 On

The first part of the formula likely comes from the definition of Decibel, with the reference P0 set to 1, assuming with log you meant a logarithm with base 10.

The second part, i.e. the P1=real^2 + imagined^2 in the link above, is the square of the modulus of the Fourier coefficient cn at the n-th frequency you are considering.

A Fourier coefficient is in general a complex number (See its definition in the case of a DFT here), and P1 is by definition the square of its modulus. The FFT that you mention is just one way of calculating the DFT. In your case, likely the real and complex numbers you refer to are actually the real and imaginary parts of this coefficient cn.

  • sqrt(P1) is the modulus of the Fourier coefficient cn of the signal at the n-th frequency.
  • sqrt(P1)/N, is the amplitude of the Fourier component of the signal at the n-th frequency (i.e. the amplitude of the harmonic component of the signal at that frequency), with N being the number of samples in your signal. To convince yourself you need to divide by N, see this equation. However, the division factor depends on the definition/convention of Fourier transform that you use, see the note just above here, and the discussion here.