Forums

FFT Matlab - What is a N-point FFT?

Started by Unknown April 15, 2006
jpopovich@gmail.com skrev:
> Thank you for the response! > > What do you mean by "Y value"? > > For example: > > x=data(1:1024); > y = fft(x, 1024); > y2 = fft(x, 2056); > y_mag = y.*conj(y) / 1024; > y2_mag = y2.*conj(y2) / 2056; > > What I observed is that when each are plotted seperately, the shape is > similar but the Y-axis values difffer. > That is, the y2_mag value (2056-point fft) is smaller than the values > for the y_mag (1024-point fft).
....
> Is this correct or am I doing something wrong? Thank you so much for > your help!
There is a scaling constant in the DFT that causes the different scales you observe. The forward DFT of a sequence x(n) of length N is defined as X(k) = sum_(n=0)^(N-1) x(n) exp(-j 2*pi*n*k/N) [1] and the Inverse DFT is defined as x(n) = 1/N sum_(k=0)^(N-1) X(k) exp(j 2*pi*n*k/N) [2] Note that there is no scaling factor in front of [1] and a factor 1/N in front of [2]. This is a matter of convention. You would have observed the same amplitudes for all FFT lengts if both the forward transform [1] and the inverse transform [2] were scaled by 1/sqrt(N). Rune
Thank you very much.  This has been very helpful!