function COSEn = COSEn(data, m, r,fs) % COSEn % Ref. Douglas E. Lake and J. Randall Moorman % Accurate estimation of entropy in very short physiological time series: the problem of atrial fibrillation detection in implanted ventricular devices % Am J Physiol Heart Circ Physiol 300: H319¨CH325, 2011 % % $ Modified:2015.10.10 by Chengyu Liu % @ Emory % LICENSE: % This software is offered freely and without warranty under % the GNU (v3 or later) public license. See license file for % more information % data=[179,185,184,183,184,184,185,185,180,178,177,176]*4; % data=[159 157 160 160 159 160 160 157 160 158 157 157]*4; % data=[240 240 239 240 239 240 239 239 239 239 239 % 240]*4; % data=[109,108,108,109,109,109,108,109,108,108,109,108,108,109,108,108,108,109,108,109,109,109,108,108,109,108,108,109,109,109]*4; % m=1; % r=30; N=length(data); for i=1:N-m x1(i,:)=data(i:i+m-1); x2(i,:)=data(i:i+m); end ratio=0.4; if N>20 % Thr=ratio*N; Thr=5; else Thr=5; end Min_numerator=0; kk=0; while Min_numerator20 if N<20 r=r-1; else r=r-1000/fs; end end if Min_numerator==N-m while Min_numerator>=Thr [Min_numerator,r]=ReGet_min_numerator2(x1,x2,N,m,r,fs); end if r<0 r=r+2; else r=r+1; end end for i=1:N-m t1=0; t2=0; for j=1:N-m d1max(i,j)=max(abs(x1(i,:)-x1(j,:))); d2max(i,j)=max(abs(x2(i,:)-x2(j,:))); if d1max(i,j)