Python计算时域、频域特征参数
python计算时域数据的时域、频域统计参数
代码来自师兄分享的程序,以免丢失,在此当作笔记
最近重新整理了一篇,想拿来直接用的,可以转至:更详细,封装完善,拿来直接用
def time_features(data):'''计算时域特征参数,输入的data为 样本数*样本长度 的二维数组'''f_sum = np.sum(data, axis=-1) # 总能量f_min = np.min(data, axis=-1) # 最小值f_max = np.max(data, axis=-1) # 最大值f_std = np.std(data, axis=-1) # 标准差f_var = np.var(data, axis=-1) # 方差f_pk = f_max - f_min # 极差f_avg = np.mean(np.abs(data), axis=-1) # 整流平均值f_sk = np.mean(((data-np.mean(data, axis=-1)[:, :, np.newaxis]) ** 3), axis=-1) # 偏度f_ku = np.mean(((data-np.mean(data, axis=-1)[:, :, np.newaxis]) ** 4), axis=-1) / np.power(f_var, 2) # 峭度f_rms = norm(data, 2, axis=-1) / np.sqrt(data.shape[-1]) # 均方根s = f_rms / f_avg # 波形因子c = f_pk / f_rms # 峰值因子i = f_pk / f_avg # 脉冲因子xr = np.mean(np.sqrt(abs(data)), axis=-1) ** 2L = f_pk / xr # 裕度因子return np.transpose(np.array([f_sum, f_min, f_max, f_std, f_var, f_pk, f_avg, f_sk, f_ku, f_rms, s, c, i, L]),[1, 0, 2])
def freq_features(data):'''计算频域特征参数,输入的data是FFT后的数据,为 样本数*样本长度 的二维数组'''f_sum = np.sum(data, axis=-1) # 总能量f_max = np.max(data, axis=-1)f_min = np.min(data, axis=-1) # 最小值f_std = np.std(data, axis=-1) # 标准差f_var = np.var(data, axis=-1) # 方差f_pk = f_max - f_min # 极差f_avg = np.mean(np.abs(data), axis=-1) # 整流平均值f_sk = np.mean(((data-np.mean(data, axis=-1)[:, :, np.newaxis]) ** 3), axis=-1) # 偏度f_rms = norm(data, 2, axis=-1) / np.sqrt(data.shape[-1]) # 均方根return np.transpose(np.array([f_sum, f_min, f_std, f_var, f_pk, f_avg, f_sk, f_rms]),[1, 0, 2])
频域的特征参数还可以根据不同频段分割后分别计算,这样可以增加特征数量。
matlab版:https://blog.csdn.net/weixin_44620044/article/details/105617749
转载请注明出处,谢谢!
Python计算时域、频域特征参数相关推荐
- 频谱分析:基于python画出时域频域波形
一,FFT解释 FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法.即为快速傅氏变换.它是根据离散傅氏变换的奇.偶.虚.实等特性,对离散傅立叶变换的算法 ...
- matlab信号频域放大的含义,频域特征是什么意思 信号频域特征参数,如重心
信号频域特征参数,如重心频率.均方根频率是什么无论何时,请一定要相信:尽管耳边寒风呼啸,你的心灵总还有取暖的地方. 小编想使用matlab来对振动信号的频域特征参数进行提龋各位大神可以给一些每当小编考 ...
- 3.2 Python图像的频域图像增强-高通和低通滤波器
3.2 Python图像的频域图像增强-高通和低通滤波器 文章目录 3.2 Python图像的频域图像增强-高通和低通滤波器 1 算法原理 1.1理想滤波器 1.2巴特沃斯滤波器 1.3指数滤波器 2 ...
- 3.1 Python图像的频域图像增强-图像的傅里叶变换和反变换
3.1 Python图像的频域图像增强-图像的傅里叶变换和反变换 文章目录 3.1 Python图像的频域图像增强-图像的傅里叶变换和反变换 1 算法原理 2 代码 3 效果 1 算法原理 图像的傅里 ...
- 实验二 离散控制系统的性能分析(时域/频域)
实验二 离散控制系统的性能分析(时域/频域) 一.实验目的 1.掌握离散闭环系统的动态性能时域参数的分析与计算方法: 2.掌握离散系统稳定性的频域典型参数分析与计算方法. 二.实验工具 MATLAB ...
- 使用OpenCV和Python计算图像的“彩色度”
使用OpenCV和Python计算图像"彩色度" 1. 效果图 2. 炫彩度量方法是什么? 3. 源代码 参考 你是否尝试过计算每个图像的炫彩值,并根据炫彩值对自己的图像数据集进行 ...
- Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例
Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例 目录
- Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序、获取交集元素及其索引、如果输入数组不是一维的,它们将被展平(flatten),然后计算交集
Python计算两个numpy数组的交集(Intersection)实战:两个输入数组的交集并排序.获取交集元素及其索引.如果输入数组不是一维的,它们将被展平(flatten),然后计算交集 目录
- Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日?
Python使用datetime中的timedelta模块实现时间增减:python计算100天后是哪年那月那日? 目录
最新文章
- 小米某程序员的忧虑:感觉互联网这两年要凉,突然想回家种地
- mysql如何按行数匹配_mysql – 是否可以使用MATCH AGAINST计算每行匹配的单词数
- Java入门系列-16-继承
- python【Numpy科学计算库】连女朋友都会用的Numpy(真の能看懂~!)
- 模糊数学笔记:七、模糊综合评判决策
- Java加密算法 AES
- matlab去除坏点,图像处理之坏点校正及源码实现
- 二分搜索法 C++代码实现 恋上数据结构笔记
- 从Windows上用SSH链接接入Ubuntu
- 无法加载具有重复项目项的项目: pathstroke.cpp 作为 ClCompile 且作为 None 项类型包括在其中。
- 我的mongoose代码备份
- 杨振宁讲(经典)数学笑话兼论数学和物理的关系
- java 远程怎么改bug_java struts2 远程执行任意java代码bug漏洞修复
- 英文单词 modal 模态,flex里取模糊之意
- 219.存在重复元素II
- 智慧景区项目建设方案之(票务管理详细介绍)
- python面板数据模型_面板数据模型选择
- 代码参考--点击文本,即可复制
- 贝塞尔曲线及实践案例
- GlassFish安装