Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

FFT Calculation Question

  1. Mar 3, 2015 #1
    Okay I have a question involving calculating the FFT of a signal from a sensor. I have simulated many different scenarios in MATLAB of various noise characteristics involving the signal.

    I want to take the FFT of a noisy signal. As long as my expected input signal has a higher amplitude than noise signals of other frequencies, then the plotted spectrum of the magnitude of the signal should always have the highest peak at my expected input signal's frequency, is this correct?

    The reason I am asking is due to an argument about whether filtering is needed to discover the expected input signal's frequency. If the amplitude of the the input signal is always higher, I figured it would always be the peak of the magnitude spectrum.

    If this is not correct, what is a correct way to look at this scenario?
  2. jcsd
  3. Mar 3, 2015 #2


    User Avatar
    Science Advisor

    That is a truism.

    It depends on the noise, is it white noise or is it intermods and RF interference? If the noise is white you can use power spectrum accumulation to drop the noise floor relative to the signal.

    If you want an accurate frequency measurement it is important that the frequency is reasonably high, somewhere near the middle of the FFT spectrum.
  4. Mar 3, 2015 #3
    The problem is I have no idea of the noise characteristics other than it being relatively high (but not quite as high as the expected input) at low frequencies compared to the expected input. We've been asked to design a system that calculates the frequency of the input signal from the sensor. Ideas of using phase locked loops and other things are being thrown around, and I am just puzzled as to why taking an FFT of the sampled signal would not be a viable solution given that the noise isn't at the amplitude of the input signal.
  5. Mar 3, 2015 #4


    User Avatar
    Science Advisor

    Is the signal a sinewave?

    It is because frequency resolution is poor unless you have an enormous number of data points. Also you must first multiply your data by a window function such as Hann or similar, that widens the frequency bins while reducing the high frequency noise due to the step where the end wraps around to the start.

    Maybe use an FFT to estimate the frequency, then do a least squares fit of a sine wave to the original data points. That will give you a more accurate measurement. You must model and fit in the DC offset, amplitude and frequency space.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook