Azzera filtri
Azzera filtri

Smooth and Filter large data set

11 visualizzazioni (ultimi 30 giorni)
Orion
Orion il 21 Lug 2016
Risposto: Star Strider il 21 Lug 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?

Risposte (1)

Star Strider
Star Strider il 21 Lug 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?.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by