python实现信号时域统计特征提取代码实现信号时域统计特征提取代码
今天小编就为大家分享一篇python实现信号时域统计特征提取代码,具有很好的参考价值,希望对大家有所帮
助。一起跟随小编过来看看吧
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.结果与说明结果与说明
补充拓展:补充拓展:python数据结构与算法数据结构与算法--回溯算法详解回溯算法详解
回溯算法:一种优先搜索算法(试探法);按优条件向前搜索,以达目标;当试探到某步,发现原来选择并不好(走不通),回溯算法:一种优先搜索算法(试探法);按优条件向前搜索,以达目标;当试探到某步,发现原来选择并不好(走不通),
就退回重新选择。就退回重新选择。
回溯算法的一般步骤:1:定义问题的解空间(搜索中动态生成);2:确定易搜索的解空间结构(一般为树形结构或图);
3:以深度优先的方式搜索解空间,搜索中用剪枝函数避免无效搜索。
剪枝函数:1:用约束函数在扩展节点处减去不满足约束条件的子树;2:用限界函数减去不能得到最优解的子树。
回溯法:实战
评论1