资源简介

计算样本熵的Matlab程序,可用于机械故障诊断,生物医学信号处理(例如脑电、肌电、心电等)

资源截图

代码片段和文件信息


function SampEnVal = SampEn(data m r)
% SAMPEN  计算时间序列data的样本熵
% 输入:data是要分析的一维行向量,data为输入数据序列向空间重构的时间延迟默认为1,
%       m重构维数,一般选择1或2,优先选择2,一般不取m>2
%       r 阈值大小,一般选择r=0.1~0.25*Std(data)
% 输出:SampEnVal样本熵值大小
% $Author: lskyp
% 修改:yuhansgg
% $Date:   2018.03.05
% Orig Version: V1.0--------分开计算长度为m的序列和长度为m+1的序列
%                           这一版的计算有些问题,需要注意两个序列总数都要为N-m
% Modi Version: V1.1--------综合计算,计算距离时通过矩阵减法完成,避免重循环
% V1.1 Modified date: 2018.03.05
% 样本熵公式参考论文:《A review on sample entropy applications for the non-invasive analysis of atrial fibrillation electrocardiograms》

data = data(:)‘;
N = length(data);
Nkx1 = 0;
Nkx2 = 0;

% 分段计算距离,x1为长度为m的序列,x2为长度为m+1的序列

for k = N - m:-1:1
    x1(k :) = data(k:k + m - 1);
    x2(k :) = data(k:k 

评论

共有 条评论