Description

Spikes in data due to different nature can be removed, if desired, from the original data. LTPDA spikecleaning detects and replaces spikes of the input AOs. A spike in data is defined as a single sample exceeding a certain value (usually, the floor noise of the data) defined by the user:



where is the input data high-pass filtered, is a value defined by the user (by default is 3.3) and is the standard deviation of . In consequence, a spike is defined as the value that exceeds the floor noise of the data by a factor , the higher of this parameter the more difficult to "detect" a spike.

Syntax

    
b = spikecleaning(a, pl)

Parameters

The following parameters can be set in this method:

Algorithm

Random: this method substitutes the spiky sample by:



where is a random number of mean zero and standard deviation 1.

Mean: this method uses the following equation to replace the spike detected in data.



Previous: the spike is substitued by the previous sample, i.e.:



Examples

1. Spike cleaning of a sequence of random data with kspike = 2.

      
x = ao(plist( 'waveform', 'noise', 'nsecs',1e4)); % create an AO of random data sampled at 1 Hz. pl = plist( 'kspike', 2); % kspike = 2 y = spikecleaning(x, pl); % spike cleaning function applied to the input AO, x iplot(x, y) % plot original and "cleaned" data