Fourier Analysis of a Time Series

120 Views Asked by At

The picture below displays experimental data on concentration oscillations in a chemical reaction. I would like to find frequency characteristics of the series.

More specifically, assuming that the signal is presented in the form

$$F(t)=F_{trend}(t)+\sum_{j} f_j e^{-i\omega_j t},\qquad 0\leq t \leq T,$$

how does one compute the frequencies $\omega_1<\omega_2<\omega_3<...$?

enter image description here

1

There are 1 best solutions below

0
On

Compute the Fourier Transform of $F(t) -F^{trend}(t)$ and then take the logarithm of the squared modulus and plot the result. You should see a maximum that will be the fundamental. Use the FFT. Say you have 1500 data points in the time series. Use an FFT of at least 2048 to 4096 points. Zero fill the rest of the points. This will have the benign effect of making the power spectrum smoother. The Niquist frequency will be $N_f = \frac{1}{2 \Delta x}$, where $\Delta x$ is the sampling interval. The Niquist frequency is the maximum recoverable frequency, without aliasing, from evenly sampled data.

To convert to angular frequency, multiply by $2 \pi$. The linear frequency interval is just $\Delta \epsilon_j= 2 N_f / N$, where $N$ is the size of the FFT. The angular frequencies are

$ \omega_j = 2\pi \Delta \epsilon_j = \frac{\pi}{\Delta x N}(N/2 - j), j = 0,1,...,N-1.$

The goto book is still "The Fast Fourier Transform" by E. O. Brigham. I hope this helps.