Identify large sudden changes in signal
古いコメントを表示
Hi, I have a time series with large number of missing values. In certain period the non missing values are wrong (winter surface reflectance values due to polar darkness). I need to identify the point where the sudden change occurs and then again when it returns back to normal and change the affected values in this period to NaN. Just for illustration this is the signal when missing values are interpolated with red ellipses identifying the areas where I have the problem.

For every point in my time series this change occurs at a different time, so i am looking for suggestions how to do this automatically. Example of the original data for one point is in dat_example.mat
8 件のコメント
Amit
2014 年 1 月 24 日
But the data you have attached has NaN values. Do you have to replace them or remove them?
Image Analyst
2014 年 1 月 24 日
Can you attach a plot where the missing values are NOT interpolated? Wouldn't that be your original, input signal? If they ARE interpolated already (like what you say you are showing), I'm assuming that would be some attempt at fixing the data already.
Also I'm assuming you want the precipitous drop to be on the left side of the large humps only, and to ignore those on the right side, correct? And is there supposed to be one at 1500?
Tereza Smejkalova
2014 年 1 月 25 日
編集済み: Tereza Smejkalova
2014 年 1 月 25 日
Image Analyst
2014 年 1 月 25 日
Can you show what you'd want the interpolated curves to look like if the interpolation was ideal?
Amit
2014 年 1 月 25 日
Do you want to remove the NaN, interpolate or find where the sudden jumps happening?
Tereza Smejkalova
2014 年 1 月 27 日
編集済み: Tereza Smejkalova
2014 年 1 月 27 日
Image Analyst
2014 年 1 月 27 日
So there is no reflection when there is "polar darkness" and that's why the values, which were increasing, start decreasing again from 320 to 400? But if there were no polar darkness, those values would have headed up towards 8000? So what you want is to ignore that part, and identify that the start was at index 250, and the end was at index 500? Does that capture it? If so, you don't really need to interpolate the values in between 320 and 400 (invent values for them), so much as to ignore them and just find the 250 and 500. Correct?
afiq mohamad
2018 年 11 月 8 日
you can use 1-d haar transform
回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Descriptive Statistics についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
