# Using fourier transform to find moving average

1. May 22, 2013

### brianhurren

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.

2. May 27, 2013

### Simon Bridge

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?

3. May 28, 2013

### brianhurren

thats what I would like to know. I heard that FFT is used to analise climate change data, but I cant 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).

4. May 28, 2013

### Simon Bridge

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.

5. May 31, 2013

### olivermsun

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).

Right. And there's no reason you have to limit yourself to a rectangular window filter.

6. May 31, 2013

### olivermsun

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.