function Y=MissedValCheck(X) if size(X,1)>size(X,2) X=X'; end Y=X; nancheck=sum(isnan(X')); missChannel=find(nancheck); for i=1:length(missChannel) Y(missChannel(i),:) = fillMissedChan(X(missChannel(i),:)); end end function y=fillMissedChan(x) nsamples=length(x); y=x; nancheck=isnan(x); %finding start and end indexes of each missed data interval diffcheck=diff(nancheck); ne=find(diffcheck==-1); ns=find(diffcheck==1)+1; %checking special cases (first missing interval) N=6*(ne(1)-ns(1)+1); if (ns(1)==ne(1) && ns(1)>1) y(ns(1))=(x(ns(1)-1)+x(ns(1)+1))/2; else if ns(1)nsamples-N y(ns(end):ne(end))=0; else fwdata=x(ns(end)-N:ns(end)-1); bwdata=x(ne(end)+N:-1:ne(end)+1); estimate=fillMissed(ns(end),ne(end),fwdata,bwdata); y(ns(end):ne(end))=estimate; end end end