Time for action - using the fft function
1. Let us try to Fourier transform the function:
where t ∈ [0; 2π] using 150 data points. This function is characterized by two different frequencies (or modes) that will show in the Fourier transformation as two distinct peaks.
2This is also referred to as an O(N2) algorithm. O is pronounced 'big-O'.
2. To generate the data we use:
octave:29> N=150; t = linspace(0,2*pi, N); octave:30> f = sin(2*t) + 2*sin(5*t);
3. Then we simply transform those data via:
octave:31> F = fft(f);
4. The complex vector
F
is not really of much information itself, so we often display the absolute value (or magnitude) of the elements in the array:
octave:32> plot(abs(F), "o-")
which produces the plot seen in the figure below:
What just happened?
In Commands 29 and 30, we generated the data set. I strongly recommend that you try to plot f
versus t
to see the function that we are transforming. We then call fft
and plot the absolute value of the transformed data...