当前位置:   article > 正文

时域分析——有量纲特征值含义一网打尽_时域特征

时域特征

在之前的文章(Mr.括号:信号时域分析方法的理解(峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等))里对时域指标做过一些分析。最近由于新建立一个公众号(括号的城堡)将会对以前讲过的内容进行系统的梳理。内容将在公众号首发,欢迎大家关注。

时域特征值是衡量信号特征的重要指标,时域特征值通常分为有量纲参数与无量纲参数。

所谓“量纲”,简单地理解就是“单位”。有量纲的参数就是有单位的,比如平均值,一段温度信号(单位℃)的平均值依旧是℃;无量纲的参数没有单位,无量纲量常写作两个有量纲量之积或比,但其最终的纲量互相消除后会得出无量纲量,比如,应变是量度形变的量,定义为长度差与原先长度之比。

有量纲的特征值往往具有直观的物理含义,是最为常用的特征指标。有量纲特征值主要包括:最大值、最小值、峰峰值、均值、方差、标准差、均方值、均方根值(RMS)、均方误差(MSE)、均方根误差(RMSE)、方根幅值等。

1.均值

均值、方差、均方值、均方根值之间有内在的联系。

均值是信号的平均,是一阶矩,可以表示为:

2.均方值

均方值是信号的平方的平均(信号→平方→平均值),代表了信号的能量,是二阶矩,可以表示为:

3.方差

方差是每个样本值与全体样本值的平均数之差的平方值的平均数,代表了信号能量的动态分量(均值的平方是静态分量),反应数据间的离散程度,是二阶中心距,可以表示为:

方差的不同表达方式,可以看出方差的几种理解方式:

(1)

式中可以看出:方差描述的是信号的离散程度,也就是变量离其期望值的距离。

(2)

式中可以看出:方差即平方的期望(均方值)减掉期望的平方。

(3)从物理含义上讲,均方值代表信号的能量,期望的平方代表信号的直流分量,而方差代表信号的交流分量。

4.标准差

标准差又叫均方差,是方差的算数平方根。标准差反应的是数据的离散程度

问题来了,方差和标准差都表示数据的离散程度,那么既然有了方差,为什么还要有标准差呢?

为了和原始信号统一量纲。

举个例子,假设北京一年的平均气温是20℃,气温标准差是10℃;乌鲁木齐一年的平均气温是20℃,气温标准差是15℃。这样会对气温的离散程度有一个直观理解,但如果说北京的气温方差是100,乌鲁木齐是225,就很不方便理解了。

5.均方根

均方根(RMS)又叫有效值。将所有值平方求和,求其均值,再开平方,就得到均方根值。或者说均方根值等于均方值的算数平方根。

其物理含义可以这样理解:让交流电与直流电分别通过同一电阻,若两者在相同的时间内所消耗的电能相等(或产生的焦耳热相同),那么该直流电的数值就叫做交流电的有效值。

6.均方误差

均方误差(MSE)是某种意义上的方差,均方误差是指参数估计值与参数真值之差平方的数学期望值。如果我们把随机变量的数学期望E认为是参数估计值(未来的),把随机变量本身作为参数真值,那么均方误差就是普通方差。

均方误差MSE可以评价数据的变化(偏离)程度,MSE的值越小(相互之间的比较,而不是跟参数真值的比较),说明预测模型描述实验数据具有更好的精确度。

均方误差在机器学习中常作为一种误差量度。

7.均方根误差

均方根误差(RMSE)就是均方误差的算术平方根:

均方误差与均方根误差,正如方差与标准差一样,是量纲上的区别,应用不同场合。

 7. 特征提取的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变量里就会得到相应的这些特征值,顺序也是与输入的排序保持一致的。

这个函数的介绍如下:

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

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

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

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

总结

欢迎批评指正!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/326701
推荐阅读
相关标签
  

闽ICP备14008679号