FourierTransform - extrapolating the results?


(Otakar Trunda) #1

I have two questions about FourierTransform:

How can I extrapolate the results? I have a serie with - lets say - 100 elements, I compute its Fourier Forward Transform - this gives me also an array of 100 elements. Now when I compute Fourier Inverse of the result, I get the original serie. So far it works as expected. (So far I’m working with a simple sinusoid)
Now I need to use the Fourier Transform to estimate how the serie will continue, i.e. I need to evaluate it on indices larger than 100, lets say on interval [100, 200].
I tried to add additional zeros to the result of the Fourier Forward and then use the Inverse, but that will only rescale the original serie to the larger interval (i.e. it will have 200 elements, but there will be the same number of peaks as in the original. I need it to have twice as many peaks.)

Is there any difference between using ForwardComplex and only feeding it real data, and using ForwardReal? I want to use FF to a serie of real numbers. I guess I should create a serie of complex numbers with complex parts equal to zero, then use ForwardComplex, and then replace complex numbers in the result by their absolute value. Is it correct? Is this what I will get when I use ForwardReal and InverseReal?

Thanks a lot a to anyone who can help me :slight_smile:


(Peter Vanderwaart) #2

Here are some comments about your first question.

Go to the Wikipedia Article on Fourier Series and look under the heading “Definition” (https://en.wikipedia.org/wiki/Fourier_series#Definition). It says:

In this section, s ( x ) denotes a function of the real variable x , and s is integrable on an interval [ x 0, x 0 + P ], for real numbers x 0 and P . We will attempt to represent s in that interval as an infinite sum, or series, of harmonically related sinusoidal functions. Outside the interval, the series is periodic with period P (frequency 1/ P ). It follows that if s also has that property, the approximation is valid on the entire real line.

To break this down: you have data that represents a function, let’s say y(x), on an interval, say [0,100]. The Fourier Series is the function s(x) which is a way of representing that function on the interval. The function s is periodic with a period equal to the interval. That means that s(x+100) = s(x), So, the prediction for [100,200] is exactly the same as the function values for [0,100].

The values of s(x) outside the original interval are meaningless unless the original function y(x) is periodic with the same period as s(x). This is true of Fourier Transforms as well as Fourier Series.