Improving Frequency Resolution with Window Functions in FFT Calculations

Click For Summary

Discussion Overview

The discussion revolves around the challenges of calculating the Fast Fourier Transform (FFT) of a noisy signal from a sensor, particularly focusing on frequency resolution and the potential need for filtering to accurately identify the expected input signal's frequency. Participants explore various noise characteristics and methods to improve frequency measurement accuracy.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant suggests that if the expected input signal has a higher amplitude than the noise, the FFT should show the highest peak at the input signal's frequency.
  • Another participant counters that the effectiveness of this assumption depends on the type of noise present, mentioning white noise versus intermodulation and RF interference.
  • Concerns are raised about the unknown characteristics of the noise, which is described as relatively high at low frequencies compared to the expected input signal.
  • There is a suggestion that using a window function, such as Hann, is necessary to improve frequency resolution and reduce high-frequency noise in the FFT process.
  • A proposal is made to use FFT for initial frequency estimation followed by a least squares fit of a sine wave to the original data for more accurate frequency measurement.

Areas of Agreement / Disagreement

Participants express differing views on whether filtering is necessary and the viability of using FFT alone for frequency measurement. There is no consensus on the best approach to handle the noise characteristics and improve frequency resolution.

Contextual Notes

Participants note limitations regarding the noise characteristics and the need for a sufficient number of data points to achieve good frequency resolution. The discussion highlights the importance of modeling various parameters, including DC offset, amplitude, and frequency.

Tim Condra
Messages
2
Reaction score
0
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?
 
Engineering news on Phys.org
Tim Condra said:
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?
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.
 
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.
 
Is the signal a sinewave?

Tim Condra said:
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.
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.
 

Similar threads

Replies
7
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
3
Views
5K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K