Identify large sudden changes in signal
Mostrar comentarios más antiguos
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 comentarios
Amit
el 24 de En. de 2014
But the data you have attached has NaN values. Do you have to replace them or remove them?
Image Analyst
el 24 de En. de 2014
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
el 25 de En. de 2014
Editada: Tereza Smejkalova
el 25 de En. de 2014
Image Analyst
el 25 de En. de 2014
Can you show what you'd want the interpolated curves to look like if the interpolation was ideal?
Amit
el 25 de En. de 2014
Do you want to remove the NaN, interpolate or find where the sudden jumps happening?
Tereza Smejkalova
el 27 de En. de 2014
Editada: Tereza Smejkalova
el 27 de En. de 2014
Image Analyst
el 27 de En. de 2014
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
el 8 de Nov. de 2018
you can use 1-d haar transform
Respuestas (0)
Categorías
Más información sobre Time Series Events en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
