When computing the N-point FFT of some signal, the result is always divided by N. I can understand why this is the case for a summation over the N points, but often the result of the FFT operation is a vector of length N rather than a summation. Why then is the length-N vector that is the output of the FFT scaled by the number of points (N) used to compute the FFT? Thanks.
|
|
The difference is that the digital Fourier transform (and FFT as well) gives a vector of size N (or M in some cases) that contains sums of N samples. So, basically, each point of the FFT transform is the result of a sum over a certain time interval of the time-based samples. That's why you divide by N. You can consider it this way: you take an interval of N samples of your signal; then, you basically sum all the samples N times, but each time multiplying them for a different function, that allows to extract the information for a specific frequency (or frequency range, to be more accurate). At the end, in summary, instead of having N samples, each one associated to a time interval, you have N samples (as before) but each of them related to the whole interval and describing the component of the signal for a specific frequency range. Just for completeness, there are four cases of Fourier transform:
So transforming a periodic signal gives a discrete spectrum and vice versa. |
||||
|
|
The 1/N scaling factor is almost arbitrary placed. An unscaled FFT followed by an unscaled IFFT using exactly the same complex exponential twiddle factors multiplies the input vector by scaler N. In order to get back the original waveform after an IFFT(FFT())round trip (thus making them inverse functions), some FFT/IFFT pairs scale the FFT by 1/N, some scale the IFFT by 1/N, some scale both by 1/sqrt(N). |
|||
|