时域计算代码相对简单,下列代码主要来自求助matlab时域分析程序-峰值、均方根、裕度、峭度_百度知道。不过原文中求“峭度因子”的方法不对,即“Kr = sum(y.^4)/sqrt(sum(y.^2)))”,求峭度直接用函数kurtosis就行。

%x=0:0.1:2*pi;
%y=sin(x);         %信号
y=normrnd(600,1,1000,1);   %生成平均值为600,标准差为1的1000*1的矩阵
plot(y);
ma = max(y);           %最大值
mi = min(y);           %最小值
me = mean(y);          %平均值
pk = ma-mi;            %峰-峰值
av = mean(abs(y));     %绝对值的平均值(整流平均值)
va = var(y);           %方差
st = std(y);           %标准差
ku = kurtosis(y);      %峭度
sk = skewness(y);               %偏度
rm = rms(y);           %均方根
S = rm/av;         %波形因子
C = pk/rm;         %峰值因子
I = pk/av;         %脉冲因子
xr = mean(sqrt(abs(y)))^2;
L = pk/xr;         %裕度因子

原始信号为平均值为600,标准差为1的数列:

计算结果为:

关于均方根、峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等概念的理解可以参考我之前的文章信号的各种时域分析方法的理解(峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等)

附:特征提取的MATLAB代码快速实现

笔者最近在做这样一件事情。由于搞科研写论文时,对特征提取的需要往往是集中性的、多种类的、需求各异的,所以我把常用的特征值指标:

有量纲特征值8个——最大值、最小值、峰峰值、均值、方差、标准差、均方值、均方根值(RMS)

无量纲特征值6个——峭度、偏度、波形因子、峰值因子、脉冲因子、裕度因子

频域特征值5个——重心频率、均方频率、均方根频率、频率方差、频率标准差 (熵相关特征若干——这个后续补充。还会有其他常用、不常用的特征指标)

以上19种全都集中到一个封装函数里,实现一行代码完成特征提取。

比如提取数据“波形因子”就可以像这样写:

fea = genFeature(data,{'waveformF'}) %对data数据求波形因子

如果提取数据“最大值、最小值、峰峰值、均值、方差、标准差、均方值...”这全部19种特征,就可以这样写:

fea =genFeature(data,{'max','min','mean','peak','arv','var','std','kurtosis','skewness', 'rms','waveformF','peakF','impulseF','clearanceF'})%对data数据求波形因子

也就是说需要提取哪个特征,在函数中直接指定就可以了。输出的fea变量里就会得到相应的这些特征值,顺序也是与输入的排序保持一致的。

这个函数的介绍如下:

function fea = genFeature(data,fs,featureNamesCell)
% 时域信号特征提取
% 输入:
% data:待特征提取的时域信号
% fs:采样频率,如果不提取频域特征,fs值可以设置为1
% featureNamesCell:拟进行特征提取的特征名称,该变量为cell类型,其中包含的特征名称为字符串,特征名称需要在下边列表中:
% 目前支持的特征(2021.10.29):
% max :最大值
% min :最小值
% mean :平均值
% peak :峰峰值
% arv  :整流平均值
% var  :方差
% std  :标准差
% kurtosis  :峭度
% skewness  :偏度
% rms       :均方根
% waveformF :波形因子
% peakF     :峰值因子
% impulseF  :脉冲因子
% clearanceF:裕度因子
% FC:重心频率
% MSF:均方频率
% RMSF:均方根频率
% VF:频率方差
% RVF:频率标准差
%
% 输出:
% fea:数据data的特征值数组,其特征值顺序与featureNamesCell一一对应

需要上边这个函数文件以及测试代码的同学,可以在下述链接中获取:

时域、频域特征提取MATLAB代码

这个函数会持续更新,有哪些想要加进去的特征指标,同学们可以在评论区留言,笔者会考虑纳入到这个“特征提取指标全家桶”中。

文章如要转载请私信与我联系,并注明来源知乎专栏与信号处理有关的那些东东作者Mr.括号。

时域特征值提取的MATLAB代码实现(均方根、峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等)相关推荐

  1. matlab小波分析工具箱原理与应用_补充:频域特征值提取的MATLAB代码实现(小波分析)...

    之前的文章信号频域分析方法的理解(频谱.能量谱.功率谱.倒频谱.小波分析)中提到了离散小波分解的例子,其参考代码如下: t_s 结果如下: 原始信号 离散小波分析结果 左侧四行是1~4阶的近似信号,右 ...

  2. matlab频域怎么提取特征值,补充:频域特征值提取的MATLAB代码实现(小波分析)...

    之前的文章信号频域分析方法的理解(频谱.能量谱.功率谱.倒频谱.小波分析)中提到了离散小波分解的例子,其参考代码如下: t_s = 0.005; %采样周期 t_start = 0.001; %起始时 ...

  3. 补充:频域特征值提取的MATLAB代码实现(小波分析)

    之前的文章信号频域分析方法的理解(频谱.能量谱.功率谱.倒频谱.小波分析)中提到了离散小波分解的例子,其参考代码如下: t_s = 0.005; %采样周期 t_start = 0.001; %起始时 ...

  4. 【图像分割】基于计算机视觉实现胸部CT肺质提取附matlab代码

    1 内容介绍 在现代医学领域中,医学影像处理技术随着计算机科学和影像技术的进步,已经成为医学领域重要的一个分支.室外光照度不均.CT自身空间分辨率和层厚参数.人体组织器官蠕动等诸多外界因素造成了医学X ...

  5. 时域波形分析和频谱分析matlab代码

    1 简介 基于Matlab软件平台研究了不同的数字滤波器对污染的语音信号的去噪效果.对比了加入噪声前后的语音信号的时域与频域图.仿真实验结果表明:4种滤波器中切比雪夫I型滤波器对加入噪声后的语音信号的 ...

  6. 求助matlab时域分析程序-峰值、均方根、裕度、峭度

    fobgochod 推荐于2018-03-07 x=0:0.1:2*pi; y=sin(x); %信号 ma = max(y); %最大值 mi = min(y); %最小值 me = mean(y) ...

  7. 机械故障诊断信号幅域分析- 时域统计特征 | 基于python代码实现,在CWRU和IMF轴承数据集上实战

    最详细的机械故障信号时域特征分析及实战 1.摘要 2.有量纲幅域参数计算公式及物理意义 3.无量纲幅域参数计算公式及物理意义 4.模拟数据代码实战 4.1 导入包 4.2 生成模拟正弦数据 4.3 绘 ...

  8. 频域特征指标及其MATLAB代码实现(重心频率、均方频率、均方根频率、频率方差、频率标准差)

    以前我们梳理过常用的有量纲时域特征指标和无量纲时域特征指标,其实特征提取方法中,一些频谱特征指标也是十分有用的. 下述频域特征指标是根据信号的功率谱求得的.在故障诊断或者其他应用场景下,可以与时域指标 ...

  9. matlab 提取最小值,MATLAB中取最小值的代码

    matlab 最小二乘法 平面拟合的代码 p=[xyones(length(x),1)]\z这样得到的就是平面z=p(1)*x+p(2)*y+p(3)祝你学习快乐!再问:xyz轴中如何显示所拟合的平面 ...

最新文章

  1. Gin源码解析和例子——路由
  2. Linux shell test用法
  3. SQL语句中各个部分的执行顺序(转)
  4. 【.NET进程通信】初探.NET中进程间通信的简单的实现
  5. 微信小程序定义全局变量_微信小程序第二天学习内容分享
  6. 飞鸽改变您的互联网生活
  7. ssh 配置文件中 maxsessions 与 MaxStartups
  8. 解决python中csv文件中文写入问题
  9. MySQL(16)-----字符串函数
  10. 神策分析 Android SDK 架构解析
  11. SSM项目实战之十八:基础数据的修改和删除
  12. 个人java课设的心得体会收获_java课程设计心得体会
  13. Web服务器及性能优化
  14. 漏型和源型区分,NPN和PNP区别
  15. xyoj 6042:让人头疼的“双十一”
  16. Mac 如何开启实现DOH保护隐私?
  17. Hi3516DV300
  18. 等保2.0.第九章.等保2.0基础知识
  19. 中国顶尖“黑客”团队:一半是历年高考状元
  20. Cocos2d-x 游戏中子弹的设计

热门文章

  1. 安徽专升本计算机基础【柳青版】书后全部名词解释习题+部分课后答案
  2. vlayout源码解析
  3. 基于Linux的网络编程——网络聊天程序
  4. 在windows上配置elasticsearch和river-mongodb插件
  5. 解决WIN2003无法安装无线网卡驱动的问题
  6. c4d打开没反应_(图文+视频)C4D野教程:来制作一个类似蹦床的布料动画
  7. ubuntu安装串口工具minicom
  8. ubuntu GPIO口操作
  9. Mysql 字符集 设置
  10. Java获取IP地址和VUE获取IP地址。