# How could I create a sliding window of 300 seconds, with an overlap of 60 seconds?

3 views (last 30 days)

Show older comments

I have a Ecg signal. I need to process it with consecutive windows of 5 minutes, and a overlap of 1 minute.(it's like first array from 1 to 300, second one from 61 to 361, third from 121 to 421..) My Ecg has a 250 Hz sample frequency. This is my code, but it doesn't work as i would:

N2=length(ECG);

fs=250; % sample freq

smp2=1:1:N2;

tmp2=smp2*(1/fs); % time array in seconds

h=1; %1 min

w=300*fs; %5 mins

for %%%here is missing something but i don t understand what is it

tmp_prova=tmp2(h:w);

h=h+60*fs;

w=w+(60*fs);

end

##### 1 Comment

JAYANTH BHIMAVARAPU
on 29 Jun 2018

### Answers (3)

JAYANTH BHIMAVARAPU
on 2 Jul 2018

Edited: JAYANTH BHIMAVARAPU
on 2 Jul 2018

for i = 0:60:length(ECG)-300

temp = ECG(i+1 : 300 + i)

end

##### 6 Comments

Hemen Gogoi
on 23 May 2020

Walter Roberson
on 23 May 2020

MUHAMMED IRFAN
on 29 Jun 2018

Does this help?

for i = 1 : 60: length(fullsignal)

current_signal = fullsignal( i : (i + 300-1))

end

##### 0 Comments

Image Analyst
on 29 Jun 2018

If you have the Image Processing Toolbox, you can use blockproc(). Demo attached above.

##### 0 Comments

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!