Improving Frequency Resolution with Window Functions in FFT Calculations

In summary, it depends on the noise characteristics of the signal. If it is white noise, then you can use power spectrum accumulation to drop the noise floor relative to the signal. If the noise is relatively high at low frequencies, then the FFT of the sampled signal may not give an accurate measurement.
  • #1
Tim Condra
2
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
  • #2
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.
 
  • #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.
 
  • #4
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.
 

What is FFT and why is it used?

FFT stands for Fast Fourier Transform. It is a mathematical algorithm used to efficiently compute the discrete Fourier transform of a given signal. This allows for the analysis of periodic signals and the identification of their frequency components.

How is FFT calculation performed?

FFT calculation involves breaking down a signal into smaller segments, performing calculations on each segment using complex numbers, and then combining the results to get the frequency spectrum of the signal. This process can be done recursively to achieve faster computation times.

What are the applications of FFT?

FFT has a wide range of applications in various fields such as signal processing, image processing, data compression, and audio analysis. It is used in the analysis of signals in fields like engineering, physics, and astronomy.

What is the difference between FFT and DFT?

FFT is a faster and more efficient version of the Discrete Fourier Transform (DFT). While both methods compute the frequency spectrum of a signal, FFT uses a divide-and-conquer approach to reduce the number of computations needed, making it more suitable for real-time applications.

Are there any limitations to FFT calculation?

FFT calculation can be limited by the size of the input signal, as it works best with signals that are a power of 2. It may also produce inaccurate results if the signal is not periodic or contains a lot of noise. Additionally, FFT is not suitable for analyzing signals with sharp changes or discontinuities.

Similar threads

  • General Math
Replies
12
Views
1K
Replies
7
Views
3K
Replies
6
Views
1K
  • Set Theory, Logic, Probability, Statistics
Replies
10
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
2K
  • Electrical Engineering
Replies
4
Views
2K
Replies
9
Views
1K
  • Calculus and Beyond Homework Help
Replies
8
Views
4K
  • Precalculus Mathematics Homework Help
Replies
5
Views
1K
  • Electromagnetism
Replies
10
Views
2K
Back
Top