Smooth and Filter large data set

3 visualizaciones (últimos 30 días)
Orion
Orion el 21 de Jul. de 2016
Respondida: Star Strider el 21 de Jul. de 2016
I have a signal data array of 2,000,000 elements and I want to smooth the signal as it is very spiky. I tried to use the 'smooth' function with a span of 61, but it took MATLAB forever to process it. I ran it on a cluster node with 6 cores and I didn't get the results after 20 hrs. Is there any other ways to do the smoothing on a large dataset?

Respuestas (1)

Star Strider
Star Strider el 21 de Jul. de 2016
First, take the fft to see what frequencies are signal and what are noise. If it looks that you have separable signal and noise energy, you can use a frequency-selective filter to eliminate the noise. (Since ‘spikes’ tend to be characterised as being high-frequency, you may be able to filter out most of the ‘spike’ energy.)
There are several ways to design filters in MATLAB, including dfilt and designfilt. My IIR filter design procedure is here: How to design a lowpass filter for ocean wave data in Matlab?.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by