python时域波形特征分析
(一)python实现信号时域统计特征提取
https://blog.csdn.net/qq_34705900/article/details/88389319
1.实验数据需求
为了对采集的压力实验数据做特征工程,需要对信号进行时域的统计特征提取,包含了均值、均方根、偏度、峭度、波形因子、波峰因子、脉冲因子、峭度因子等,现用python对其进行实现。
2.python实现
其中的输入参数含义:
①data:实验数据的DataFrame
②p1:所截取实验信号的起始采样点位置
③p2:所截取实验信号的终止采样点位置
from pandas import Series
import math
pstf_list=[]
def psfeatureTime(data,p1,p2):
#均值
df_mean=data[p1:p2].mean()
#方差
df_var=data[p1:p2].var()
#标准差
df_std=data[p1:p2].std()
#均方根
df_rms=math.sqrt(pow(df_mean,2) + pow(df_std,2))
#偏度
df_skew=data[p1:p2].skew()
#峭度
df_kurt=data[p1:p2].kurt()
sum=0
for i in range(p1,p2):
sum+=math.sqrt(abs(data[i]))
#波形因子
df_boxing=df_rms / (abs(data[p1:p2]).mean())
#峰值因子
df_fengzhi=(max(data[p1:p2])) / df_rms
#脉冲因子
df_maichong=(max(data[p1:p2])) / (abs(data[p1:p2]).mean())
#裕度因子
df_yudu=(max(data[p1:p2])) / pow((sum/(p2-p1)),2)
featuretime_list = [df_mean,df_rms,df_skew,df_kurt,df_boxing,df_fengzhi,df_maichong,df_yudu]
return featuretime_list
3.结果与说明
————————————————
版权声明:本文为CSDN博主「focusxy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34705900/article/details/88389319
(二)python时域信号特征提取
https://blog.csdn.net/weixin_43336305/article/details/103404406
def psfeatureTime(data):
#均值
df_mean=data.mean()
df_var=data.var()
df_std=data.std()
#均方根
df_rms=np.sqrt(pow(df_mean,2) + pow(df_std,2))
#峰峰值
fengfengzhi = max(data)-min(data)
#偏度
df_skew=pd.Series(data).skew()
#峰度
df_kurt=pd.Series(data).kurt()
sum=0
for i in range(len(data)):
sum+=np.sqrt(abs(data[i]))
#波形因子
df_boxing=df_rms / (abs(data).mean())
#峰值因子
df_fengzhi=(max(data)) / df_rms
#脉冲因子
df_maichong=(max(data)) / (abs(data).mean())
#裕度因子
df_yudu=max(data)/ pow(sum/(len(data)),2)
#峭度
df_qiaodu =(np.sum([x**4 for x in data])/len(data)) / pow(df_rms,4)
featuretime_list = [round(df_rms,3),round(fengfengzhi,3),round(df_fengzhi,3),round(df_boxing,3),round(df_maichong,3),round(df_yudu,3),round(df_qiaodu,3)]
return featuretime_list
if __name__ == '__main__':
p1 = psfeatureTime(records1)
p1
def get_rms(records):
"""均方根值 反映的是有效值而不是平均值 """
root_mean = math.sqrt(sum([x ** 2 for x in records]) / len(records))
"""峰峰值"""
peak_to_peak = max(records)-min(records)
"""峰值指标"""
crest_factor = max(records)/root_mean
"""波形指标"""
shape_factor = root_mean/abs(sum([x for x in records]) / len(records))
"""脉冲指标"""
impulse_factor = max(records)/abs(sum([x for x in records]) / len(records))
"""裕度指标"""
clarance = max(records)/pow(abs((sum(sqrt([abs(x) for x in records]))/len(records))),2)
"""峭度指标"""
kur = (sum([x**4 for x in records])/len(records))/pow(root_mean,4)
pstf = [round(root_mean,3),round(peak_to_peak,3),round(crest_factor,3),round(shape_factor,3),round(impulse_factor,3),round(clarance,3),round(kur,3)]
return pstf
if __name__ == '__main__':
records1 = [1, 2, 3, 4, 5, 6]
records2 = [2, 4, 6]
# 均方根
rms1 = get_rms(records1) # 4.08
rms2 = get_rms(records2) # 4.32
rms1
————————————————
版权声明:本文为CSDN博主「狂奔的 蜗牛」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43336305/article/details/103404406
(三)信号时域分析方法的理解(峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等)
https://blog.csdn.net/fengzhuqiaoqiu/article/details/101153107
最近要做关于信号处理的一些工作,涉及时域、频域分析,滤波、神经网络以及贝叶斯等内容。在此做一些整理,作为梳理思路的笔记,也希望能对读者有所帮助。
文章如要转载请私信与我联系,并注明来源知乎专栏与信号处理有关的那些东东作者Mr.括号。
时域信号可以按照有无量纲分为有量纲特征值和无量纲特征值。有量纲特征值包括:最大值、最小值、峰峰值、均值、方差、均方值、均方根值等。有量纲特征值的数值大小常因外界一些物理量的变化而变化,给工程应用带来一定困难,因而时常使用多种无量纲指标,包括峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等。
这些特征量的MATLAB代码实现见:时域特征值提取的MATLAB代码实现(均方根、峰值因子、脉冲因子、裕度因子、峭度因子、波形因子和偏度等)
一、有量纲特征值
最大值、最小值、峰峰值这些就不说了。均值、方差、均方值、均方根值之间有内在的联系。
均值是信号的平均,是一阶矩,可以表示为:
均方值是信号的平方的平均(信号→平方→平均值),代表了信号的能量,是二阶矩,可以表示为:
方差是每个样本值与全体样本值的平均数之差的平方值的平均数,代表了信号能量的动态分量(均值的平方是静态分量),是二阶中心距,可以表示为:
均方根(RMS)又叫有效值。将所有值平方求和,求其均值,再开平方,就得到均方根值。
二、无量纲特征值
峰值因子是信号峰值与有效值(RMS)的比值,代表的是峰值在波形中的极端程度。
脉冲因子是信号峰值与整流平均值(绝对值的平均值)的比值。脉冲因子和峰值因子的区别在分母上,由于对于同一组数据整流平均值小于有效值,所以脉冲因子大于峰值因子。
裕度因子是信号峰值与方根幅值的比值。与峰值因子类似,方根幅值和均方根值(有效值)是对应的,均方根的公式是信号平方和的平均值的算术平方根,方根幅值是算术平方根的平均值的平方(有点绕)。
峭度因子是表示波形平缓程度的,用于描述变量的分布。正态分布的峭度等于3,峭度小于3时分布的曲线会较“平”,大于3时分布的曲线较“陡”。
综合来说:峰值因子、脉冲因子和裕度因子的物理意义是相似的,峰值因子和脉冲因子都是用来检测信号中有无冲击的指标,裕度因子常用来检测机械设备的磨损状况。峭度因子也是对振动信号冲击特性的反应,不过公式的表达形式上与前三个差异较大。
偏度:偏度也叫偏斜度、偏态。偏度和峭度是有一定的相关性的,峭度是四阶中心矩和标准差的四次方的比值;偏度是三阶中心矩和标准差的三次方的比值。偏度与峭度相同,描述的是分布。物理含义简单理解的话,对于单峰分布,负偏度代表分布图线的“头”在右侧,“尾”在左侧;正偏度反之。参看下图:
波形因子:波性因子是有效值(RMS)与整流平均值的比值。在电子领域其物理含义可以理解为直流电流相对于等功率的交流电流的比值,其值大于等于1。说到这儿也许你已经发现了,波形因子=脉冲因子/峰值因子。
欢迎关注我的公众号“括号的城堡”,微信号为“khscience”,会有更多有趣的东西分享。
参考:
Kurtosis - Wikipedia
Skewness - Wikipedia
Form factor (electronics)
高爽. 齿轮故障特征参数提取及最佳特征参数选择研究[D].沈阳航空航天大学,2017.
【图文】轴承故障诊断技术_百度文库
《故障诊断》第二章_图文_百度文库
————————————————
版权声明:本文为CSDN博主「括号先森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fengzhuqiaoqiu/article/details/101153107
(四)MATLAB求解峰值、均值、平均幅值、方差、均方根、方根幅值、最值、峭度、斜度、裕度指标、波形指标、脉冲指标、峰值指标、峭度指标
https://blog.csdn.net/youtaidudewamao/article/details/101981100
python时域波形特征分析相关推荐
- python时域信号特征提取(各种因子)
#######################################计算因子###############################import csv import pandas a ...
- matlab样本序列的时域波形,时域信号matlab实现
1.利用MATLAB的向量表示法绘制下列连续信号的时域波形. (1) x1(t) = u(t + 2) - u(t - 3) (2) x2(t) = cos(2πt + π/3) (3) x3(t) ...
- 第一周 清浊音时域波形与频谱分析以及计算RGB文件三通道的熵
一.清浊音时域频域分析 实验软件:Audacity 录制浊音a.o.e,清音t,爆破音p,分别查看其时域波形和频谱 (1)a (2)o (3)e (4)t (5)p 由上图可知: 浊音的时域波形呈现周 ...
- 用matlab画出时域波形,用Matlab画出信号的时域波形与频谱,观察它们的关系。.ppt...
信号与系统课程实践考察 班级: 学号: 姓名: 指导老师: 一 实验题目 试用MATLAB画出它们的时域波形及频谱,观察它们的关系. 二 实验目的 1 正确运用傅立叶变换 2用Matlab编程观察周期 ...
- 利用MATLAB编写单位冲激函数,熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形.doc...
熟悉MATLAB软件的相关函数的使用方法各种信号的时域波形 实验目的: 熟悉MATLAB软件的相关函数的使用方法.各种信号的时域波形. 实验内容: 1.用MATLAB软件绘制各类典型信号的时域波形并且 ...
- matlab样本序列的时域波形,基于MATLAB的简易声音信号频谱分析仪设计
基于MATLAB的简易声音信号频谱分析仪设计 汉宁窗时域波形曲线图 汉宁窗频域特性曲线图 在MATLAB中,生成汉宁窗的函数是hanning.使用该函数进行频谱修正时,先生成一个和待修正的样本具有相同 ...
- 元音音频时域波形与频谱的简洁分析
目录 元音时域及频谱分析 分析结果 元音时域及频谱分析 1. 时域: 频域: 2. 时域: 频域: 3. 时域: 频域: 分析结果 1.不同的元音,时域波形有较大区别: 元音信号的时域波形具有明显 ...
- matlab频谱图幅值意义,时域波形傅里叶分析之后,频率-幅值波形图意义 – MATLAB中文论坛...
%对单一的5元的样本纸币进行傅里叶分析,画出频率-幅值图(频谱图) %处理顺序: %第一步:冠字码信号时间序列 %第二步:数据预处理(数据平滑滤波),此处没有用到数据压缩,因为快速傅里叶变换涉及到采样 ...
- 元音的时域波形、频谱特点举例分析
一.录制三个元音音频,通过Audacity工具观察.总结时域波形.频谱特点. 1. 时域波形 元音 a 元音 e 元音 u 将音频放大观察: 元音 a 元音 e 元音 u 由放大后的音频时域波形可得: ...
最新文章
- layui selec下的option出现之前的渲染
- c语言中指数优化,西藏东财中证医药卫生指数C净值下跌1.96% 请保持关注
- UC浏览器APP如何卸载插件
- Flutter 一个电话样式小控件
- Linux下捕捉信号
- Nginx源码分析 - 基础数据结构篇 - 双向链表结构 ngx_queue.c(05)
- java 3dm_3dm游戏运行库合集安装包-游戏运行库合集安装包下载v3.0DM整理-西西软件下载...
- $.ajax.submit,jQuery中的AjaxSubmit使用讲解
- 经纬度格式转换-(互转 度转度分秒 度分秒转度……)
- 反双曲余弦函数之C#设计笔记(五)
- WIN10 下 autocad2006 及其他版本打开文件多窗口不能一个窗口的解决办法
- 自动驾驶软件开发人才现状_一文读懂自动驾驶研究现状
- 《被讨厌的勇气》整理
- Kali Linux系统正确安装指南教程(一)MAC安装kail+Vmware Fusion详细教程(吐血本人测试10次)
- 财政收入影响因素分析及预测
- 计算机网络技术专业就业前景分析。
- python如何撤回_python如何查看微信消息撤回
- Vue开发Web阅读器(一)
- SVN-查看两版本区别
- html5黄游戏,HTML5游戏-看你有多色