### 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