How to extract the time interval from areas of interest from a signal?

2 views (last 30 days)
Hello! I have a blood pressure signal that looks like this:
and I want to find the time interval for each descent part ( in my case 4 intervals). But I don't know how since it doesn't have any pattern. If anyone can, please help me. Thank you.
  1 Comment
Star Strider
Star Strider on 10 Nov 2015
It actually has a pattern, but you do not have a time vector in your file. You might be able to recover the time vector if you know what the heart rate was.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 8 Nov 2015
First you have to filter out the outliers. How are you doing that? Perhaps a median filter might work if they're not too close together. Then you can just invert the image and use findpeaks(). I can't do it because you didn't attach the actual data.
  5 Comments
Image Analyst
Image Analyst on 10 Nov 2015
Something went wrong with your original picture you attached. Please fix it.
Image Analyst
Image Analyst on 10 Nov 2015
Try this. Let me know how it goes:
signal = xlsread('presiune.xlsx');
plot(signal, 'b-');
[values, indexes] = findpeaks(-signal, 'MinPeakProminence', 25);
grid on;
hold on;
stem(indexes, 50*ones(1, length(indexes)));

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!