Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top
  1. Given one sine wave in time domain, I want to find its frequency. Because I observe only a very small part of the sine wave ~1 cycle, FFT methods have a poor spectral resolution.

  2. Has there been work that bounds the error on the frequency estimate?

Thanks a ton

share|cite|improve this question
Some information is missing. You have equispaced samples? Is there some noise? – leonbloy Jun 22 '13 at 2:09

I don't think that FFT is of any use here. You are given a data set $(t_k,x_k)$ $\>(1\leq k\leq N)$ and want to know the best fit for a function of the form $$x(t)=A\cos(\omega t)+B\sin(\omega t)+C\ ,$$ where $A$, $B$, $C$, $\omega$ are parameters to be determined. This is a standard problem of numerical analysis.

Note that FFT presupposes a base period (and its $2^{-n}$ parts) as given and will never be able to recover the "real period" as a floating point number.

share|cite|improve this answer

If you have lots of points on the sine wave, and FFT will do very well. If you have $1024$ points and FFT them, the bin width is $0.1\%$ of the period. You can also just look at the time between two zero crossings. The fractional error in frequency will be twice the (rss of two) measurement errors divided by the time between them. If you measure the zero crossing well, that will be quite good. The reason to use zero crossings rather than peaks and troughs is they are better defined.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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