Python环境下一种新的类谱峭度算法的旋转机械故障诊断模型

news2024/10/6 5:59:10

谱峭度SK的本质是计算每根谱线峭度值的高阶统计量,谱峭度对信号中的瞬态冲击成分十分敏感,能有效的从含有背景噪声信号中识别瞬态冲击及其在频带中的分布。由于谱峭度的复杂性、缺少一个正式的定义和一个容易理解的计算过程使其在很长时间内都未能引入到工程应用中,直到Antoni为谱峭度做了详细的定义,并提出了基于短时傅里叶变换的SK估计器,将理论概念与实际应用联系起来,提出了Kurtogram算法,并阐述了该算法在旋转机械故障特征提取领域的具体应用过程。

为了简化Kurtogram的操作过程,提高算法的处理效率,使其满足实际工业监测的要求,Antoni又提出了快速谱峭度的概念作为Kurtogram的快速算法应用于解决非平稳信号。Kurtogram能够通过检测和表征信号的非平稳性,自适应的选择最佳带通滤波频带作为包络谱分析的前置处理。其过程是在整个频带平面内搜索频率/频率分辨率组合的最优解,从而确定瞬态冲击成分的频带位置和区间。该算法的第一层将信号分解为二叉树结构,第二层将信号分解为1/3树结构,其余的由类推得到。

众多学者对Kurtogram算法进行了改进,这些改进主要针对算法的两个方面,一方面是提升频带分割能力,通过选择优异的频带划分方法使得频率/频率分辨率趋于最优解,从而更加准确地识别和判定循环冲击成分所处于的共振频带及带宽。另一方面是改进累积统计量计算指标,用以取代峭度,从而克服峭度指标在处理某些问题时的局限性。比如为了提升频带划分精度,可以利用二进制小波包分解代替传统Kurtogram算法中的傅里叶分解和FIR滤波器。基于小波包变换的滤波器能够有效滤除噪声,精准匹配含噪声信号中故障特征区间。考虑到对时域信号计算峭度对低信噪比和存在非高斯噪声干扰时的局限性,还可以对基于小波包划分的谱峭度图算法做进一步的改进,计算各小波包子带包络信号的功率谱峭度作为统计指标的改进谱峭度图。还可以采用小波包分解作为频带划分算法,通过计算不同层度的小波包系数包络信号的功率谱稀疏度作为统计指标构建稀疏图,通过检查从所有小波包节点获得的小波包系数的最大稀疏值,可以选择最佳的小波包节点,从而确定最优频带区间。此外可以利用包络谱相关峭度代替传统的时域峭度作为统计指标,针对小波包变换中节点与频带对应关系中的频率折叠问题采用频率排序方法,进而修正小波包划分频带方法。

Antoni大佬在2016年将熵的概念引入到对Kurtogram算法的改进中,综合考虑振动信号序列中存在的冲击成分和周期性成分,提出了众多改进算法,基于Antoni变革性的理论基础,众多学者展开了对谱峭度算法的改进。比如利用多尺度聚类方法,将两个负熵进行灰度组合,同时考虑时域和频域的谱负熵,同时兼顾了信号序列中的冲击成分和周期成分。

鉴于此,提出一种新的类谱峭度算法的旋转机械故障诊断模型,该算法以较低的参数调整实现了自适应滤波频带搜索,运行环境为Python。

完整代码可由知乎学术咨询获得:

Python环境下一种新的类谱峭度算法的旋转机械故障诊断模型

工学博士,担任《Mechanical System and Signal Processing》审稿专家,担任《中国电机工程学报》优秀审稿专家,《控制与决策》,《系统工程与电子技术》,《电力系统保护与控制》,《宇航学报》等EI期刊审稿专家。

擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1549337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3进阶(叁):关于 Vue2 项目迁移至 Vue3 的几点注意事项

文章目录 一、前言二、Vue3 新特性三、Vue2 安全保障四、迁移方案4.1 迁移辅助工具 vue/compat 库 五、迁移注意事项5.1 升级和兼容性5.2 组件的改变5.3 Composition API5.4 Vue Router5.5 Vuex5.6 其他库和插件5.7 差异示例5.7.1 创建vue5.7.2 定义时间格式全局过滤器5.7.3 vu…

修复ubuntu引导

一、制作ubuntu启动U盘 进入启动盘后,点击Try ubuntu,进入U盘的ubuntu系统。 二、配置和添加源 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update三、运行 Boot Repair重新制作引导 sudo boot-repair注意&#x…

QT 控件有突出感,定义控件边框

QT 控件有突出感,定义控件边框 1.设计师页面 在flat部分选中 这个时候按钮会失去边框如下图: 然后在.cpp文件中写入代码: ui->pushButton->setStyleSheet("border: 1px solid gray;");按钮就有了新的边框:

hdlbits系列verilog解答(Hadd)-65

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本节我们创建一个半加法器。半加法器将两个位相加(无进位)并产生求和和进出。 模块声明 module top_module( input a, b, output cout, sum ); 思路: 可用真值表写出逻辑表达式,或者直接用数据流方式。 二…

VMware和Xshell连接

1.开启虚拟机 2.使用管理员账户,点击未列出 3.输入用户名密码 4.点击编辑虚拟网络编辑器 5.记住自己的网关和IP地址 6.打开终端 7.输入命令,vim / etc / sysconfig / network -scripts / ifcfg-ens33 回车 8.修改图中两处按“ I ”键进入编辑 d…

【网安小白成长之路】2.PHP与MySQL交互

🐮博主syst1m 带你 acquire knowledge! ✨博客首页——syst1m的博客💘 🔞 《网安小白成长之路(我要变成大佬😎!!)》真实小白学习历程,手把手带你一起从入门到入狱🚭 &…

Jenkins--在Linux上使用Docker安装

一、Jenkins 简介 Jenkins是一个流行的开源自动化服务器,用于持续集成和持续交付(CI/CD)。Jenkins的核心功能主要包括以下几点: 持续集成:Jenkins可以监控版本控制系统(如Git、SVN)中的代码变…

Django开发复盘

一、URL 对于一个不会写正则表达式的蒟蒻来说,在urls.py中就只能傻傻的写死名字,但是即便这样,还会有很多相对路径和绝对路径的问题(相对ip端口的路径),因为我们网页中涉及到页面跳转,涉及到发送…

【LaTeX】7实现章节跳转

使用 LaTeX 实现章节跳转 写在最前面1. 引入 hyperref 包2. 标记章节3. 引用章节示例代码注意 小技巧总结 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,…

江协STM32:点亮第一个LED灯和流水灯

很多单片机都是高电平弱驱动,低电平强驱动,所以这里是低电平有效 点亮一个LED灯 操作STM32的GPIO需要三个操作: 第一个使用RCC开启GPIO的时钟 第二步使用GPIO_Init函数初始化GPIO 第三步使用输出或输入函数控制GPIO 1.使用RCC开启GPIO的时…

使用patchelf解决vscode远程连接不支持低版本glibc的问题

使用patchelf解决vscode远程连接不支持低版本glibc的问题 目录 使用patchelf解决vscode远程连接不支持低版本glibc的问题1. 动态链接库下载2. 用 patchelf 修改 vscode-server 依赖的 glibc 版本 VScode 1.86 版本的 remote 要求 glibc 2.28 及以上,于是在各种旧版本…

python--函数的参数问题

1.函数的参数: 默认值参数:通过定义函数时,将可能调用时不怎么变化的参数,给定默认值,在调用时方便调用 注意:位置参数不能写在默认值参数后边 可变参数(不定长参数):在开…

阿里云云服务器资源规格推荐指南

资源规格推荐可以根据您的特定业务场景,为您推荐最合适的计算资源规格以及满足您算力需求的资源规模。本文介绍如何根据物理机规格推荐ECS资源和根据总算力推荐ECS资源。 根据物理机规格推荐ECS资源 IDC上云可以帮助您在将线下IDC服务器搬迁上云前,根据…

《深入Linux内核架构》第3章 内存管理(4)

目录 3.4 初始化内存管理 3.4.1 建立数据结构 3.4.2 特定于体系架构的设置 内核在内存中的布局 初始化步骤 分页机制的初始化 3.4.3 启动期间的内存管理 数据结构 初始化 与内核的接口 停用bootmem分配器 释放初始化数据 3.4 初始化内存管理 包括: 显式…

【数字图像处理matlab系列】数组索引

【数字图像处理matlab系列】数组索引 【先赞后看养成习惯】【求点赞+关注+收藏】 MATLAB 支持大量功能强大的索引方案,这些索引方案不仅简化了数组操作,而且提高了程序的运行效率。 1. 向量索引 维数为1xN的数组称为行向量。行向量中元素的存取是使用一维索引进行的。因此…

STM32收发HEX数据包

在实际应用中,STM32的串口通信都是以数据包格式进行收发,这个数据包一般都包含包头和包尾,表示一个数据包。源代码在文末给出 数据包格式: 固定长度,含包头包尾 可变包长,含包头包尾 问题1:当…

Anaconda虚拟环境的介绍与使用

Anaconda虚拟环境介绍 虚拟环境是一种工具,可以让您在同一台计算机上创建多个独立的Python环境,每个环境可以拥有自己的Python解释器版本、包和依赖项。使用虚拟环境有以下几个优点: 隔离项目环境: 在开发中,不同的项…

使用LangChain LCEL生成RAG应用、使用LangChain TruLens对抗RAG幻觉

# 导入LangChain的库 from langchain import *# 加载数据源 loader WebBaseLoader() doc loader.load("https://xxx.html")# 分割文档对象 splitter RecursiveCharacterTextSplitter(max_length512) docs splitter.split(doc)# 转换文档对象为嵌入,并…

3d放上模型为什么渲染不出来---模大狮模型网

如果在3D软件中放置模型后无法正确渲染出来,可能有几个常见的原因导致这种情况发生: 材质设置问题:确保所放置的模型具有正确的材质和纹理,并且材质设置正确。如果材质设置有误,可能会导致模型无法正确显示。 光照设置…

BaseDao封装JavaWeb的增删改查

目录 什么是BaseDao? 为什么需要BaseDao? BaseDao的实现逻辑 什么是BaseDao? Basedao 是一种基于数据访问对象(Data Access Object)模式的设计方法。它是一个用于处理数据库操作的基础类,负责封装数据库…