Using fourier transform to find moving average

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
5 replies · 6K views
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.