MATLAB: Fast Fourier Transform- Why does the help section of Matlab double the values in FFT
fft
Hi, I'm new to using fft in Matlab. I do not understand why they do the following in their help section- why do they cut off half of P2, and then double the P1 values? Could someone give me the mathematical justification for this?
Thank you!
Best Answer
The example is in fact a demonstration of using the FFT to compute a standard Fourier series (i.e., positive frequency harmonics only). The standard Fourier series coefficients are related to the complex Fourier series coefficients by a factor of 2 because the standard Fourier series only contains positive frequency harmonics whereas the complex series splits the same contribution into positive and negative frequencies.
As a very simple example, the standard Fourier series of the function f(x)=A*cos(x) is itself. The equivalent complex series representation is
f(x)=(A/2)*exp(j*x)+(A/2)*exp(-j*x)
As you can see, this is now a 2-term series with coefficients that are half that of the standard series.
In this example, the single-sided spectrum is considered to be only the positive-frequency half of the frequency spectrum.
To compensate analytically for the notion that no negative frequencies exist, the symmetrical negative frequency components are truncated using Y(1:NFFT/2) and the positive frequency components are multiplied by two instead.
Best Answer