熵特征提取程序用于特征指标的快速便捷的计算
目前已包含功率谱熵、奇异谱熵、能量熵、近似熵、样本熵、排列熵、模糊熵,代码不定期更新中,代码价格会随着功能更新提价,先下单的可以永久获取最新版本代码~
致力于实现优质、易用的程序,帮助研究人员快速实现目标
一、代码运行环境
MATLAB2018a及更新版本。
二、程序介绍
1.testGenFeaEn.m文件
特征提取函数genFeatureEn的测试文件,可以直接运行。程序运行完成后,在MATLAB的工作区,双击fea变量,可以查看求得的具体数值。
2.genFeatureEn.m文件
熵特征信号特征提取函数。7种熵都集中到一个封装函数里,只需要输入待提取数据、采样频率和特征类型,实现一行代码完成特征提取。
function fea = genFeatureEn(data,featureNamesCell,options)
% 熵相关算法的信号特征提取函数
% 输入:
% data: 待特征提取的时域信号,可以是二维数据,维度为m*n,其中m为数据组数,n为每组数据的长度。即每行数据为一组
% options: 其他设置,使用结构的⽅式导⼊。⽬前可设置变量包括:
% -svdpEn: 奇异谱熵的窗⼝长度。
% -Apdim: 近似熵参数, Apdim为近似熵的模式维度
% -Apr: 近似熵参数, Apr为模式的相似容限
% -Spdim: 样本熵参数, Spdim为样本熵的模式维度
% -Spr: Spr为样本熵的相似容限
% -Fuzr: 模糊熵参数, Fuzr为模糊熵的相似容限
% -Fuzn: 模糊熵参数, Fuzn为模糊熵的权重
% -Pedim: 排列熵参数, Pedim为排列熵模式维度
% -Pet: 排列熵参数, Pet为排列熵的时间延迟
% featureNamesCell: 拟进行特征提取的特征名称,该变量为cell类型,其中包含的特征名称为字符串。特征名称需要在目前支持的特征(2022.5.23,共7种)中:
% psdE: 功率谱熵
% svdpE: 奇异谱熵
% eE: 能量熵
% ApEn: 近似熵
% SampleEn: 样本熵
% FuzzyEn: 模糊熵
% PerEn: 排列熵
% 输出:
% fea: 数据data的特征值数组,其特征值顺序与featureNamesCell一一对应
该文件中还包含了功率谱熵、奇异谱熵、能量熵、近似熵、样本熵、排列熵、模糊熵的子函数,函数介绍如下:
function ie = kInformationEntropy(sig,SegmentNum)
% 计算信号的信息熵
% 参考《基于带式输送机轴承远程故障诊断系统》
% 输入:
% sig: 输入信号
% SegmentNum: 拟分段数,如果不输入,则自动使用斯塔格斯(Sturges)经验公式计算。
% 输出:
% ie: 信息熵求解结果
function svdpE = kSingularSpectrumEntropy(data,n)
% 求信号的奇异谱熵
% 参考《基于带式输送机轴承远程故障诊断系统》
% 输入:
% data: 待分析信号
% n: 窗口长度, 注意:2<=n<=length(data)-1
% 输出:
% svdpE: 奇异谱熵值
function psdE = kPowerSpectrumEntropy(data)
% 求信号的功率谱熵
% 功率谱熵使用周期图法计算得到
% 参考《基于带式输送机轴承远程故障诊断系统》
% 输入:
% data: 待分析信号
% 输出:
% psdE: 功率谱熵值

http://www.khsci.com/docs/






