Effacer les filtres
Effacer les filtres

Best curve smoothing approach to avoid strange artifact? [Screenshots Included]

1 vue (au cours des 30 derniers jours)
I have some noisy, time-series data. Additionally, the data was collected in three consecutive sessions, with short breaks in between. Unfortunately the break times were not accurately recorded. I have done my best to estimate the length of the time breaks, and inserted them into the data, to get a closer representation of what the experiment actually observed.
I have tried a couple of different approaches to smooth the data, but I believe the breaks are causing strange artifacts in the data when smoothed. I am wondering what the best approach is to smooth my curves. Perhaps my break estimations need to be closer to the real values?
I tried polyfit, but it was just too inaccurate. I also used a window in the frequency domain to cut off high frequencies. I've attached a plot of the original data, and also my most recent attempt at smoothing, which was a smoothing filter followed by the smoothLine function from the file exchange.
Notice the large 'hump' at around 5000 seconds. This seems to be a constant problem I get whenever I attempt to smooth the data. The other graph is the raw data, with the breaks inserted.

Réponse acceptée

Image Analyst
Image Analyst le 25 Sep 2015
Why don't you try a Savitzky-Golay filter, done by sgolayfilt() if you have the Signal Processing Toolbox?
  2 commentaires
Image Analyst
Image Analyst le 25 Sep 2015
If you attach your data in a .mat file, I can try smoothing it.
Elijah Rockers
Elijah Rockers le 28 Sep 2015
Modifié(e) : Elijah Rockers le 28 Sep 2015
sgolayfilt() kinda worked, but I had to smooth each of the three hours separately. Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by