The Octave Forge package repository is no longer actively maintained. Please find Octave Packages at https://packages.octave.org.

Navigation

Operators and Keywords

Function List:

C++ API

Function File: cleaned = lazy (X, m, rv)
Function File: [cleaned, diff] = lazy (X, m, rv)
Function File: … = lazy (X, m, rv, imax)

Performs simple nonlinear noise reduction

Inputs

X

Must be realvector. If it is a row vector then the output will be row vectors as well.

m

Embedding dimension. Must be positive integer.

rv

If rv > 0 then it is equal to the absolute radius of the neighbourhoods. If rv < 0 then its opposite (-rv) is equal to the fraction of standard deviation used. It cannot be equal 0.

imax

The number of iterations [default = 1].

Output

cleaned

Vector containing the cleaned data.

diff

Difference between the clean and noisy data.

See the demo for example of how lazy works.

Algorithm
Uses TISEAN package lazy

Demonstration 1

The following code

 hen    = henon (10000);
 "The following line is equvalent to 'addnoise -v0.02 hen' from TISEAN";
 hen    = hen + std (hen) * 0.02 .* (-6 + sum (rand ([size(hen), 12]), 3));
 hendel = delay (hen(:,1));
 henlaz = lazy (hen(:,1),7,-0.06,3);
 henlaz = delay (henlaz);

 subplot (2,3,1)
 plot (hendel(:,1), hendel(:,2), 'b.','markersize', 3);
 title ("Noisy data");
 pbaspect ([1 1 1]);
 axis tight
 axis off

 subplot (2,3,4)
 plot (henlaz(:,1), henlaz(:,2),'r.','markersize', 3);
 title ("Clean data");
 pbaspect ([1 1 1]);
 axis tight
 axis off

 subplot (2,3,[2 3 5 6])
 plot (hendel(:,1), hendel(:,2), 'b.','markersize', 3,...
       henlaz(:,1), henlaz(:,2),'r.','markersize', 3);
 legend ("Noisy", "Clean");
 title ("Superimposed data");
 axis tight

Produces the following figure

Figure 1

Package: tisean