Smooth and Filter large data set
3 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
回答 (1 件)
Star Strider
2016 年 7 月 21 日
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?.
0 件のコメント
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!