Borrar filtros
Borrar filtros

Finding RRI fluctuations (ECG) in 1s windows

3 visualizaciones (últimos 30 días)
Shamus Sim
Shamus Sim el 10 de Ag. de 2020
Comentada: Shamus Sim el 11 de Ag. de 2020
This is the code I am running.
%ECG data
load('Dog_1_interictal_segment_0001.mat')
sf = 399.0698; %sampling frequency (Hz), samples per second
T = 1/sf;
timeSeries = T:T:600.8122;
%filtering
%y filtered data
d = designfilt('lowpassfir', ...
'PassbandFrequency',0.15,'StopbandFrequency',0.2, ...
'PassbandRipple',1,'StopbandAttenuation',60, ...
'DesignMethod','equiripple');
y = filtfilt(d,interictal_segment_1.data(1,:));
%findpeak for y signal in row 1
[pks,locs] = findpeaks(y(1,:),'MinPeakDistance',0.3);
I have found the local max for my signal y(1,:). However i would like to find fluctuations in the signal for successive 1 second, non-overlapping windows. Supposed that peaks 1,2,3,4 are successive local max.
Such that:
fluctuation1=peak2-peak1
fluctuation2=peak3-peak2
fluctuations are counted for a total length of 1 second and data is kept in window.1. Repeat for another 1s and keep data in window.2.
I am new to Matlab so any help is appreciated. Thank you.

Respuestas (1)

Peng Li
Peng Li el 10 de Ag. de 2020
Your question isn't quite clear. If you want to get fluctuations of subsequent points in a time series as you described above, you can use diff function to do the first order difference, or simply using locs(2:end) - locs(1:end-1) (locs in the variable you defined in your program).
The thing that is confusing is that you are trying to get RRI within a 1-s window. That doesn't make a lot of sense as usually the heart beats about once, or a bit more than twice per second when people exercise. You are not able to get any fluctuations from a single heart beat.
  2 comentarios
Shamus Sim
Shamus Sim el 11 de Ag. de 2020
Thanks for your feedback!
Its actually ECG for the brain. Thats why T of waves are much shorter.
These sound like good suggestions:
diff function to do the first order difference, or simply using locs(2:end) - locs(1:end-1)
However, could it also include these characteristics?
fluctuations are counted for a total length of 1 second and data is kept in window.1. Repeat for another 1s and keep data in window.2.
Shamus Sim
Shamus Sim el 11 de Ag. de 2020
I mean EEG signal not ECG. Sorry

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by