DESPIKING DISCRETE-TIME SIGNAL USING HISTOGRAM METHOD
Time series may contain undesired transients and spikes. This function replace spikes (outliers) exceeding the threshold value by interpolating among previous and subsequent data points or replacement them with NaN per user choice. The threshold is defined as mean +/- a number of standard deviations of windowed data centered at spike locations. This code uses the histogram method of Solomon et al. (2001) to detect spikes.
Examples are given in the comment section. The debug option when it is "True" compares results of this function with MatLAB's 1-D median filtering (medianfilt1) function.
For questions, comments and suggestions: firstname.lastname@example.org
Solomon, O. M., D. R. Larson, and N. G. Paulter (2001). Comparison of some algorithms to estimate the low and high state level of pulses, IEEE Instrumentation and Measurement Technology Conference, Vol. 1, Budapest, Hungary, 21–23 May 2001, 96–101.
Dr. Erol Kalkan, P.E. (2021). spikeRemoval (https://www.mathworks.com/matlabcentral/fileexchange/69614-spikeremoval), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!