I have two 10Hz signals coming from an analyzer. There is a correlation between dropouts in the current applied and the signal that it produces. The correlations occurs sometimes, but not all the time. I'd like to filter out the times when the current dropouts correlate with the signal.

In the figures the X is the current, the Y is the signal. XYDataXYdatacorrelation

I'm a Matlab user, any suggestions will be helpful.


1 Answer 1


If the dropouts are truly time coincident can't you just apply a linear discriminator to the bottom plot there? Figure out where the threshold is, is it a vertical line at 70.355? Or a somewhat vertical line with a bit of a drift to the right at the bottom? Once you've got the equation for your line then anything to the left/bottom of that line is a dropout.

The data looks a bit noisy, but maybe you could also do some clustering with k-means (if you know how many dropouts and where your data is) or dbscan and reject the clusters with values that correspond to the dropouts.

You might want to normalize the data first, by the mean of each and the standard deviation, like a z-score.

  • $\begingroup$ Thanks - I was making this more complicated than it needed to be! I'll see what the threshold is. $\endgroup$
    – Sam
    May 6, 2022 at 12:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.