癫痫脑电信号近似熵分析
各位大侠,我现在正在做癫痫脑电分析,采用的是近似熵方法,理论上,癫痫发作期间,近似熵应该减小,但是我现在出现的情况是正常时期近似熵反而小于癫痫发作时期,前期只做了简单的带通滤波,大侠们,求助啊,需要你们的帮助function ApEn=fastAPEN(signal,r)
%近似熵快速求解程序
%r 相似容限
%signal 待分析数据
signal=signal(:);
N=length(signal);
Cr_ij=[];Cr_i=[];Cr=[];
Cr_ij_1=[];Cr_i_1=[];Cr_1=[];
D=abs(signal*ones(1,N)-ones(N,1)*signal');%距离矩阵
S=zeros(N,N);
S(find(D<=r*std(signal)))=1;%计算N*N二值距离矩阵
m=2;S(N+1,(m+1):N)=0;%m+1时满足循环所有数目
for k=1:N-m+1
% m维
Cr_ij=S(k,1:N-1).*S(k+1,2:N);%“与”运算
sumC=sum(Cr_ij);%矢量距离小于相似容限r的矢量个数统计
Cr_i=sumC/(N-m+1);
Cr=[Cr; Cr_i];
% m+1维
Cr_ij(end)=[];%去除最后一个0值,与以下矩阵维度保持一致
Cr_ij_1=Cr_ij.*S(k+2,3:N);
sumC_1=sum(Cr_ij_1);
Cr_i_1=sumC_1/(N-m);
Cr_1=[Cr_1;Cr_i_1];
end
Cr_1(end)=[];%去除最后一个0值,以防ApEn出现无穷大
phi_m=mean(log(Cr));
phi_m_1=mean(log(Cr_1));
ApEn=phi_m-phi_m_1;
return