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:
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.