Numerical Analysis of Fundamental Frequencies (NAFF)
A little command line tool (macOS only) to perform high-resolution frequency analysis of time series following the Laskar method.
Welcome to hpNAFF Analysis(version 0.0.2, build 146). ©2018 Heiko Pälike Usage: hpnaff [options] file file format: tab separated columns, data must be equidistantly spaced. -h, --help: Displays help message. -r, --fracRMSChangeLimit: fracRMSChangeLimit. Default: 0.000002 -f, --fracFreqAccuracyLimit: fracFreqAccuracyLimit. Default: 0.00000001 -m, --maxFrequencies: maxFrequencies. Default: 30 -c, --freqCycleLimit: freqCycleLimit. Default: 100 -l, --lowerFreqLimit: lowerFreqLimit. Default: 0.0 -u, --upperFreqLimit: upperFreqLimit. Default: 0.5 (NYQUIST) -d, --detrendingOrder: Order for polynomial detrending. 0 removes DC only. >0 removes a polynomial fit. Default: not set -dC, --detrendChunks: Option to apply detrending (-d) to individual chunks. Default: false -fAL, --filterAbscissaLower: filter on Abscissa (x-axis) data greater or equal than value specified. -fAU, --filterAbscissaUpper: filter on Abscissa (x-axis) data lesser or equal than value specified. -s, --chunkSize: Split the input file into chunks of this size. Default: not set, no chunking -w, --window_offsets: Specify windowing offset for evolutive analysis. Default: chunkSize if set, or None. -z, --columnSeparator: Use this as columns separtor for input file instead of default tab \t. Default: \t -k, --skipHeaderLines: Specify number of (header)lines to be skipped. Default: 0 -a, --abscissaColumn: Specify column number for abscissa (time or depth). Default: 1 -o, --ordinateColumn: Specify column number for ordinate (data). Default: 2 -t, --deltaT: Specify time/depth offset between data. Default: 1.0 -x, --ratios: Compute and output frequency ratio matrix. Default: false. --ratio_list: If ratio_option is set, provides comma separated list of frequency ratios to highlight in output. --output_detrended_data: Output detrended data to this filename. Not implemented yet. --version: Shows current version and build of this software -v, --verbose: Print verbose messages. Specify multiple times to increase verbosity. --references: Shows references to papers and sources. --licenses: Shows licenses of code components used in this software.
Binary download:
after download, add execute permissions by 'chmod a+x ./hpnaff'
Then try it on a sample file etp_1kyr_36Ma.txt:
|
"Evolutive" outputs can be obtained with the -s option, e.g. -s 1000 computes an analysis for every 1000 points.
Notes:
This is a Swift implementation of https://ops.aps.anl.gov/manuals/SDDStoolkit/SDDStoolkitsu61.html
Related efforts:
https://github.com/MichaelEhrlichman/FortNAFF
https://github.com/adrn/SuperFreq
https://github.com/nkarast/PyNAFF
References:
1. Laskar, J., 1990, The chaotic motion of the Solar System. A numerical estimate of the size of the chaotic zones, Icarus, 88, 266-291.
2. Laskar, J., 1993, Frequency analysis for multi-dimensional systems. Global dynamics and diffusion, Physica D, 67, 257-281.
3. Dumas, S., Laskar, J., 1993, Global Dynamics and Long-Time Stability in Hamiltonian Systems Via Numerical Frequency Analysis, Phys. Rev. Letters, 70 (20), 2975-2979.
4. Laskar, J. : 1999, Introduction to frequency map analysis, in proc. of NATO ASI 533 3DHAM95, S'Agaro, Spain, 134150.
5. Papaphilippou, Y., Frequency maps for LHC models, PAC99.
6. Papahilippou, Y. Zimmermann, F., Weak-strong beam-beam simulations for the Large Hadron Collider, Phys. Rev. ST Accel.
Beams 2, 104001 (1999).
7. Robin, D., Steir, C., Laskar, J., Nadolski, L. : 2000, Global dynamics of the ALS revealed through experimental Frequency Map Analysis, Phys. Rev. Let., 85, pp. 558-561.
8. Laskar, J., Frequency map analysis and quasiperiodic decompositions. preprint (https://arxiv.org/pdf/math/0305364.pdf) (2003).
9. Valluri & Merritt, 1998