Simple nonlinear noise reduction

lazy -m# [-r# | -v#] [-i# -o outfile -l# -x# -c# -V# -h] file

-m embedding dimension
-r absolut radius of neighbourhoods
-v same as fraction of standard deviation
-i number of iterations (1)
-l number of values to be read (all)
-x number of values to be skipped (0)
-c column to be read (1 or file,#)
-o output file name, just -o means file_lc, file_lcc (etc.)
-V verbosity level (0 = only fatal errors)
-h show this message
Performs nonlinear noise reduction with locally constant approximations. Either -r or -v must be present. Output file (the cleaned sequence) is file_lc[ccc] (one letter c per iteration).

This routine is based on

T. Schreiber,
Extremely simple nonlinear noise reduction method,
Phys. Rev. E 47, 2401 (1993).

Note: With already fairly clean data, you can expect superior results using project or ghkss.


See also nrlazy which corrects more than just the central component. You may want to try both.

Usage example

Try also just running: gnuplot lazy.gnu in the examples directory.

> henon -l10000 > data
> addnoise -v0.02 data
> lazy -m7 -v0.06 -i3 data_noisy

gnuplot> plot '< cat data_noisy | delay'
gnuplot> plot '< cat data_noisy_lccc | delay'

noisy data cleaned data

Table of Contents * TISEAN home