How I can find the index when both signals are high?

1 view (last 30 days)
I have two signals. I want to find out indexes on which both signals are high. Both signals have the amplitude (0 & 1). Blue signal is shifted at y=1. Please help me. Thanks

Accepted Answer

Bruno Luong
Bruno Luong on 3 Aug 2020
Edited: Bruno Luong on 3 Aug 2020
Assuming your signal are binary vectors of the same size b and r
both = min(b,r);
d = diff([0; both(:); 0]);
upidx = find(d==1) % index where both become high, a & c
downidx = find(d==-1) % index where any of b/r becomes low (so both is no longer high), b & d
lgt = downidx-upidx % (b-a) and (d-c)
  8 Comments
Bruno Luong
Bruno Luong on 3 Aug 2020
Edited: Bruno Luong on 3 Aug 2020
Sorry I give up. Your example is not generic for me, it's even totally trivial as both signal are exactly out of phase to each other. Your "explanation" is then not useful for me.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!