Missing points before and after the R peaks

I have a signal which I want to segment in heartbeats. I have the location of the R peaks and want to create a sliding window which takes 100 points before and 100 points after each peak, but before the first beat are just 78 points and after the last peak are also less than 100.
How can I avoid those peaks and just select the beats that have enough points before an after the R-peak?

4 Commenti

That depends on how you are applying your sliding window. The solution will be either trivial or difficult depending on those details.
Thank you for your response Rik.
I do that with a for statement
before=100; after=100;
for i=1:length(qrs_i)
beat(i,:)=ECG(qrs_i-before:qrs_i+after);
end
where qrs_i is a vector with the index position of the R peak in the ECG signal
Can you please tell me how I show modify it for what I want to do?
Don't you mean a for-loop? If that is the case you could compute the indices first and use continue if any of them is invalid.
sorry I used a for loop, idk why I wrote if

Accedi per commentare.

Risposte (1)

Something like this is what I meant:
before=100; after=100;
for n=1:numel(qrs_i)
ind=(qrs_i(n)-before):(qrs_i(n)+after);
if ind(1)<1 || ind(end)>numel(ECG), continue, end
beat(n,:)=ECG(ind);
end

Categorie

Richiesto:

il 9 Feb 2021

Commentato:

il 9 Feb 2021

Community Treasure Hunt

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

Start Hunting!

Translated by