Why fft results of discrete Fourier series coefficients are different from the actual definition

7 views (last 30 days)
I tried to find the fourier coefficients of this discrete time singal x[n] = [1 1 0 0 0] using fft to get the coeffiecits.
However, they differ from the definition of fourier series by the factor 1/N.
for example the output of fft for c_0 is 2, but by the defintion of fourier series, it has to be 2/N = 2/5
Could someone explain which one is true?

Accepted Answer

David Goodmanson
David Goodmanson on 24 Mar 2020
Hi Romio,
I believe you are referriing to the convention where (informally speaking)
f(x) = Sum c_n exp( 2*pi*i*f0*n*x) % ifft direction
c_n = (1/n) Sum f(x) exp(-2*pi*i*f0*n*x) % fft direction
(where f0 is chosen to give one oscillation over the length of the x record).
Then the c_n are straight amplitudes of the complex oscillatory functions. However, Matlab fft does not do things that way. Instead, it's
f(x) = (1/n) Sum c_n exp( 2*pi*i*f0*n*x) % ifft direction
c_n = Sum f(x) exp(-2*pi*i*f0*n*x) % fft direction
so if you want the first convention, you have to multiply the fft by 1/n. And multiply the ifft by n if you want to get back to where you were.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by