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 comentarios

Rik
Rik el 9 de Feb. de 2021
That depends on how you are applying your sliding window. The solution will be either trivial or difficult depending on those details.
Ioana Cretu
Ioana Cretu el 9 de Feb. de 2021
Editada: Ioana Cretu el 9 de Feb. de 2021
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?
Rik
Rik el 9 de Feb. de 2021
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.
Ioana Cretu
Ioana Cretu el 9 de Feb. de 2021
sorry I used a for loop, idk why I wrote if

Iniciar sesión para comentar.

Respuestas (1)

Rik
Rik el 9 de Feb. de 2021
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

2 comentarios

Ioana Cretu
Ioana Cretu el 9 de Feb. de 2021
Thank you Rik! This is exactly what I needed
darova
darova el 9 de Feb. de 2021

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with Signal Processing Toolbox en Centro de ayuda y File Exchange.

Preguntada:

el 9 de Feb. de 2021

Comentada:

el 9 de Feb. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by