Dynamic window for smoothdata

15 views (last 30 days)
Matt Gaidica
Matt Gaidica on 16 Mar 2021
Commented: Matt Gaidica on 16 Mar 2021
Say I have a single stream of data (vector) that has sections where I want different filter window lengths. For instance, I want specify a vector of window lengths equal to the length of my data, how? I don't want to break up my data stream.
The only option I see is to somehow dynamically scale the data using interpolation and then use a smoothdata with a fixed window.
  3 Comments
Matt Gaidica
Matt Gaidica on 16 Mar 2021
Yea I know how to smooth with N fixed. I was hoping I might not have to iterate through the entire array (this might be clumsy with large data sets). I would also like access to the gaussian method.
Matt Gaidica
Matt Gaidica on 16 Mar 2021
For some more context, this has to do with changing day length over the year. Say sunrise-to-sunset = 1, else = 0 for all days of the year. If all days were half day/half night, I could use a fixed window of 1440 minutes and get a nice curve/oscillation. But imagine day length minimizes, to just small notch, then N=1440 is not really an accurate—my thoughts are I would want to decrease N based on day length here so my curve captures the shape of either long or short days in a similar manner.

Sign in to comment.

Accepted Answer

Matt Gaidica
Matt Gaidica on 16 Mar 2021
In brief, I'm just running through progressively smaller filters and creating a smoothed binary gate depending on if the filter applies to a specific section of the data stream.
  2 Comments
Mathieu NOE
Mathieu NOE on 16 Mar 2021
ok so topic closed !
all the best
Matt Gaidica
Matt Gaidica on 16 Mar 2021
Thanks for taking a peek, I think it might be too niche for a general answer. Cheers!

Sign in to comment.

More Answers (0)

Categories

Find more on Measurements and Spatial Audio in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!