A little command line tool (macOS only) to perform Taner bandpass filtering and Hilbert transformation.

https://www.rocksolidimages.com/attributes-revisited/#_Toc328470897


Welcome to tanerHilbert Analysis(version 0.0.1, build 2). ©2018 Heiko Pälike
Usage: tanerHilbert [options] file
file format: tab separated columns, data must be equidistantly spaced. Instead of file can specify '-' for stdin.
  -h, --help:
      Displays help message.
  -l, --lowerFreqLimit:
      Lower frequency for taner bandpass. Default: 0.0
  -u, --upperFreqLimit:
      Upper frequency for taner bandpass. Default: 0.5 (NYQUIST if deltaT = 1)
  -l2, --lowerFreqLimit2:
      Lower frequency for second taner bandpass. Default: 0.0
  -u2, --upperFreqLimit2:
      Upper frequency for second taner bandpass. Default: 0.5 (NYQUIST if deltaT = 1)
  -r, --rollOver:
      rollOver. Default: 1e12 roll-off/octave
  -d, --detrendingOrder:
      Order for polynomial detrending. 0 removes DC only. >0 removes a polynomial fit. Default: not set
  -s, --filterAbscissaLower:
      filter on Abscissa (x-axis) data greater or equal than value specified.
  -e, --filterAbscissaUpper:
      filter on Abscissa (x-axis) data lesser or equal than value specified.
  -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
  -O, --timeOrigin:
      Specify time/depth origin. Default: first time
  --time_scaling:
      Specify if time column is in negative days, and convert to kyr. Default: false
  -n, --decimate:
      Specify decimation of input data. Default: 1 (take every value)
  --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 ./tanerHilbert'


Then try it on a sample file La2004_ecc.txt

user$ ./tanerHilbert  -t 1.0 -k 1 -l 0.0045 -u 0.0145 -s 0.0 -e 100000.0   -l2 0.0012 -u2 0.0037 La2004_ecc.txt > La2004_ecc_deamp.txt


Then filter and demodulate again:

user$ ./tanerHilbert  -t 1.0 -l 0.00025 -u 0.001 -s 0.0 -e 100000.0 -o 4  La2004_ecc_deamp.txt -k 1  > La2004_ecc_deamp2.txt


The bottom graph shows the ~2.4 Myr amplitude modulation of the 400kyr modulation of the 100kyr eccentricity component. Top red graph shows instantaneous frequency (would be around 1/2400 = 4.16x10-4 for a 2.4 Myr cycle).



References:

1. Taner (2003): https://www.rocksolidimages.com/attributes-revisited/#_Toc328470897
2. Zeeden, C. et al. (2018), Taner filter settings and automatic correlation optimisation for cyclostratigraphic studies, Computers & Geoscience 119, p. 18-28, doi:10.1016/j.cageo.2018.06.005