Using fourier transform to find moving average

Click For Summary
Fourier transform can be effectively used to find a moving average on a dataset by transforming the data, removing high-order harmonics, and then performing an inverse Fourier transform to obtain a smoothed dataset. The process involves pointwise multiplication of the Fourier transforms of the signal and a filter, such as a rectangular window, which can be adjusted to other types like Hanning. The challenge lies in systematically deciding which harmonics to remove, as excessive removal can lead to oversimplification, resulting in a sine wave regardless of the original data. The effectiveness of this method is particularly noted in analyzing signals that stand out above noise, such as climate data, where periodic patterns can be identified. Understanding the characteristics of the peaks in Fourier space helps in determining the nature of the underlying signals.
brianhurren
Messages
71
Reaction score
2
can you use Fourier transform to find a moving average on a data set?

so, you do a Fourier transform on your one dimensional data set.
next remove high order harmonics from FT result.
do reverse Fourier transform on new FT result.

And, vola! smoothed out data set.
 
Mathematics news on Phys.org
Some of the high order terms are needed to smooth out the wobbles introduced by the low order terms.
Remove enough high order terms and you get a sine wave no matter what the data was ... so how do you, systematically, decide which terms to remove?
 
thats what I would like to know. I heard that FFT is used to analise climate change data, but I can't see how FFt would applie to a random set of data that has no periodic signal, except maybe as a means to calculate a rolling average. exactly as you point out, how do you decide which harmonics to leave out. which window would you use (Hanning, square etc).
 
Impossible to tell without specifics.
Do you have an example?

I think it is unlikely that the fft is used in the manner you imagine... i.e. it is probably not being applied to random data with no discernable signal.
 
brianhurren said:
can you use Fourier transform to find a moving average on a data set?

Yes, absolutely. The conventional moving average is just a convolution of your original signal with a rectangular window of some length. This is equivalent to pointwise multiplying the Fourier transforms of the signal and a rectangular and inverting (See Convolution, and especially the section on Fast convolution algorithms).

so, you do a Fourier transform on your one dimensional data set.
next remove high order harmonics from FT result.
do reverse Fourier transform on new FT result.

And, vola! smoothed out data set.
Right. And there's no reason you have to limit yourself to a rectangular window filter.
 
brianhurren said:
I heard that FFT is used to analise climate change data, but I can't see how FFt would applie to a random set of data that has no periodic signal, except maybe as a means to calculate a rolling average. exactly as you point out, how do you decide which harmonics to leave out. which window would you use (Hanning, square etc).
It's a good question. Mainly you are looking for signals which stand out above the "noise" and which you don't already know about or which have a frequency which is the same as some known, plausible mechanism which affects climate.
How "broad" a peak appears in Fourier space also tells you how far from perfectly periodic a signal might be. Just to give you an example, we expect the seasons in some region to vary on a yearly cycle, but if you were to look at a spectrum of the temperature record, you'd find a peak around 1 cycle/year which is pretty sharp but not a perfect spike. This is because the actual temperature variations can arrive slightly earlier or later each year.
 
Here is a little puzzle from the book 100 Geometric Games by Pierre Berloquin. The side of a small square is one meter long and the side of a larger square one and a half meters long. One vertex of the large square is at the center of the small square. The side of the large square cuts two sides of the small square into one- third parts and two-thirds parts. What is the area where the squares overlap?

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K