I am working with signals that consist of consecutive equidistant dips. I am trying to write an algorithm that finds the absolute lowest (minimum) point in each of the dips.

We don't know the temporal period of the signal in advance. So, how can we partition the data in the horizontal direction (time), so that the program knows in what regions to look for a minimum?

Any suggestions would be greatly appreciated.

P. S. Here is an example of my signal after some minor smoothing:

enter image description here

For a more convenient analysis, I have excluded all the data points except those above a certain percentile (here $3 \sigma$) from the median as shown above. This is likely not a very robust approach, and I can't move much further down because the depth of the dips can vary considerably.

  • $\begingroup$ It seems to me that the standard deviation which you calculated is based on the entire data set. I would not include the dips for the calculation of std. Get some dips-free intervals calculate the std there. As you want to detect a deviation from this state to the short dips. Another way would be to look at the histogram of your data and set a threshold based on a false alarm rate of your choice. $\endgroup$ – Irreducible Apr 24 '19 at 12:50
  • $\begingroup$ You might find this helpful. $\endgroup$ – A_A Apr 25 '19 at 7:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.