Frequency Analysis Filter | |
---|---|
Description | Performs a frequency analysis of an equally-spaced complex time series. |
Threaded | No |
Memory Usage | Heavy, creates new elements |
Stream Support | No |
Added In | 0.3.0 |
Basics
This filter can be used to determine frequencies, amplitudes, and phases in a complex-valued time series of the form $z(t_j) = x(t_j) + iy(t_j)$, the entries of which must be equally-spaced; that is, the value $t_{j+1} - j_i$ must remain constant for all $j\geq 0$. Various types of Modified Fourier Transforms can be used to perform the analysis.
Input Data
The Frequency Analysis Filter requires that input elements contain exactly three values $t$, $x(t)$, and $y(t)$ as explained above and seen below.

Frequency Options
The Frequency Analysis Filter includes various options to control what type of analysis is performed. As seen below, the user can choose the number of input data elements to use, the interval in which the filter computes the frequencies, and the number of frequencies to compute.

By the nature of the Modified Fourier Transform algorithm that the filter employs, the number of input data elements must be a power of 2. The filter only lets the user set the value of the power to use. To facilitate this choice, the filter automatically maximizes the number of input data elements whenever a new input source is connected. In the above example, the General Data source reads from a time series of $5000$ elements, and so the Frequency Analysis Filter has automatically chosen to use $2^{12} = 4096$ input elements. This value can, of course, be changed by the user after the input source is connected.
Output Data
The Frequency Analysis filter outputs the frequencies, amplitudes, and phase at time $t = 0$. As seen below, the output elements are sorted by amplitude strength.

References
This filter uses the Frequency Modified Fourier Transform Algorithm (Sidlichovsky and Nesvorny 1997, Cel. Mech. 65, 137) in providing its analysis. The code for the algorithm has been copied from a version written in C, which is located at David Nesvorny's website.