I'm working from an example posted here. I understand the steps to acquire the fourier transform and can clearly see the spikes at normalized frequencies at 15 and 40 Hz from the 0-centered periodogram. Knowing this, I believe that I can reconstruct a smoother version of the signal as:

$x_{\text{reconstructed}}(t)=\alpha_1 sin(30\pi t)+\alpha_2 sin(80\pi t)$.

I have two questions related to this reconstruction:

  1. How do I obtain the coefficients $\alpha_1$ and $\alpha_2$ without an inverse fourier transform of the entire frequency domain data set? Is there a more efficient way?
  2. How could I have obtained the 15 & 40 Hz frequencies from the transformed data? I know I can sort the transformed data to determine that these two frequencies had the highest two powers. But if the data set were very large, this might be unfeasible. Is there another way to determine the important frequencies?
  • 1
    $\begingroup$ You example reconstruction assumes you don't care about phase (with relation to some t0) or about small sub-bin frequency variations. Is this correct? $\endgroup$
    – hotpaw2
    Commented Aug 26, 2012 at 22:08

1 Answer 1


Suppose you want to perform N points FFT, then the evenly spaced frequency vector is given by

  f= (0:NumUniquePts-1)*Fs/N;

where NumUniquePts = ceil((N+1)/2) is the number of unique points in f, and Fs is the sampling rate.

So if fftx=fft(x,N), then $\alpha_1$ = fftx[15/(Fs/N)+1] and $\alpha_2$ = fftx[40/(Fs/N)+1] (provided 15 and 40 can be divided by Fs/N).

See here for more.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.