### Determine end-to-end mismatch before making surrogate data

`endtoend [-o` outfile`-l# -x# -m# -c#[,#] -V# -h]` file

> `-o` output file name, just `-o` means file`_end`
> `-l` number of points (whole file)
> `-x` number of values to be skipped (0)
> `-m` number of columns to be read (1)
> `-c` columns to be read (1)
> `-V` verbosity level (0 = only fatal errors)
> `-h` show this message

Determine the effect of an end-to-end mismatch on the autocorrelation structure for various sub-sequence lenths. It is important to avoid jumps and phase slips that occur when the data is periodically continued when making Fourier based surrogates, e.g. with surrogates.

The mismatch in value is measured by

              /           \ 2
              | x(1)-x(N) |
              \           /
    d     = __________________
     jump     __
             \   /      _ \ 2
              |  | x(n)-x |
             /__ \        /

and the phase slip by

             /                           \ 2
             | (x(2)-x(1))-(x(N)-x(N-1)) |
             \                           /
    d     = _________________________________
     slip     	  __                         .
              	 \   /      _ \ 2
              	  |  | x(n)-x |
              	 /__ \        /

The weighted mismatch is then

          j*d     + (1-j)*d     .
             jump          slip

In the multivariate case, the values of d are computed for each channel seperately and then averaged.

The sub-sequence length is successively decreased, only considering lengths which can be factorized with factors 2, 3 and 5 (that is what surrogates can handle). For each length, the optimal time offset is determined and a result is printed whenever an improvement was found. You can then use the `-x` and `-l` options to choose that sub-sequence for surrogates.

Table of Contents * TISEAN home