Hi, I am trying to send ECG datd to ThingSpeak, however, at one sample per 15seconds it is rather useless when I have 650k samples. What I want to do is send a certain amount of samples before and after each R peak (I am usung find peaks to locate R-peaks after filtering the data). That way I can reduce the amount of samples sent and get more ECG signals inside the graph. Can anyone advise? PS - Patient 101 is data from MIT database. Thank you in advance! Gabriel N. Nicolau My current code is below: % clc % clear all % close all %load ( 'patient100.csv'); dat=csvread('patient100.csv'); figure; subplot(4,1,1) plot(dat) findpeaks(dat,'MinPeakHeight',0.5,'MinPeakDistance',200); title('Original') x=lowpass(dat,15,360); y=highpass(x,10,360); subplot(4,1,2) plot(x) findpeaks(x,'MinPeakHeight',0.5,'MinPeakDistance',200); title('Low-Pass') subplot(4,1,3) plot(y) findpeaks(y,'MinPeakHeight',0.3,'MinPeakDistance',200); title('High-Pass') y_diff=diff(y); y_abs = y_diff.^2; subplot(4,1,4) plot(y_abs); %for i=1: 1/length(dat)*100000: length(dat)*10000+ 1/length(dat)*100000; %t=dat(dat(i)>dat(i+1)); %end yy = y'; %%% DATA TO BE SENT TO THINGSPEAK CHANNEL a = yy; b = 0; c = 650000; x = [a]; chId = 622307; writeKey = 'XXXYYYZZZ'; tOut = 99999999; % tStamps = [datetime('now')-minutes(899):minutes(1):datetime('now')]'; for i = 1:c pause(15) b = x(i) thingSpeakWrite(chId,[b],'WriteKey',writeKey) end