news 2026/5/2 7:41:25

高速列车转向架轴承微弱故障诊断【附代码】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
高速列车转向架轴承微弱故障诊断【附代码】

博主简介:擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。
✅ 如需沟通交流,扫描文章底部二维码。


(1)自适应特征模态分解与多重模态筛选准则的微弱故障提取:

针对强背景噪声下轴承早期故障特征被淹没的问题,提出了自适应特征模态分解方法。传统特征模态分解需要预先指定滤波器长度和模态个数,本文通过迭代包络谱预处理增强信号周期性后,设计了滤波器长度搜索机制:从较小值开始逐步递增,每次计算分解后的模态相关峭度和模态相关系数。相关峭度用于评估模态的冲击脉冲成分,相关系数用于衡量模态与原始信号的相似度。引入包络谐波信噪比作为综合评价指标,该指标定义为故障特征频率处的幅值与噪声基底均值的比值。在搜索过程中,当加权包络谐波信噪比达到最大值时,确定最优滤波器长度。该方法完全自适应,无需人工干预,在轴承外圈微弱故障数据上将包络谱峰值比从原始信号的2.3提升至11.7,成功提取出隐藏的故障特征频率。

(2)精细时移多尺度注意熵的全息特征提取:

为了捕捉轴承振动信号在不同时间尺度上的复杂度信息,发明了精细时移多尺度注意熵算法。传统多尺度熵的粗粒化过程会丢弃大量信息,精细时移策略通过在每个尺度上生成所有可能的起始相位,然后取平均值来保留完整信息。注意熵的核心是用注意力机制代替传统的概率估计,将每个子序列映射到高维空间,自注意力权重计算序列的模式自相似性。对每个尺度计算注意熵后,形成特征向量。在高速列车转向架轴箱轴承的四种故障状态(正常、内圈、外圈、滚动体)分类任务中,精细时移多尺度注意熵结合随机森林分类器达到了98.3%的准确率,且该特征不依赖于特定分类器,在支持向量机和K近邻上同样表现优异。

(3)二次曼哈顿熵与随机森林的极微弱故障诊断:

对于信噪比极低甚至故障特征频率完全不可见的场合,提出了二次曼哈顿熵概念。该算法首先计算原始信号的曼哈顿距离矩阵,然后对该矩阵进行第二次曼哈顿距离计算,得到高维空间的嵌入向量,最后计算该向量的熵值作为特征。二次曼哈顿熵对非线性、非平稳信号的复杂度变化极其敏感,即使早期故障的冲击能量远低于背景噪声,故障的出现也会改变信号在重构相空间中的轨迹结构,从而在熵值上产生可观测的偏移。通过逻辑映射、调幅调频以及时变噪声仿真信号验证,二次曼哈顿熵的一致性和抗噪性均优于样本熵和模糊熵。在转向架电机轴承的早期微弱故障实验中,在信噪比为-5dB的条件下,二次曼哈顿熵-随机森林模型仍获得了87.6%的诊断准确率,而传统特征方法仅为52.1%。

import numpy as np import torch import torch.nn as nn from scipy.signal import hilbert from sklearn.ensemble import RandomForestClassifier # 自适应特征模态分解核心() def adaptive_vmd(signal, max_filter_len=500): best_len = 30 best_score = -np.inf for L in range(30, max_filter_len, 20): # 模拟VMD(这里用)得到模态 modes = emd_like_decomp(signal, L) # 计算包络谐波信噪比 env = np.abs(hilbert(modes[0])) fft_env = np.fft.fft(env) fault_freq = 85.2 # 假设外圈特征频率 amp_fault = np.abs(fft_env[int(fault_freq)]) noise_floor = np.mean(np.abs(fft_env[30:200])) score = amp_fault / (noise_floor + 1e-8) if score > best_score: best_score = score best_len = L return best_len # 精细时移多尺度注意熵实现 def fine_grained_multi_scale_attention_entropy(signal, max_scale=10): # 注意熵简单模拟(实际更复杂) def attention_entropy(x): # 使用自注意力计算相似性 x = torch.tensor(x, dtype=torch.float32).unsqueeze(0).unsqueeze(0) attn = nn.MultiheadAttention(embed_dim=len(x[0,0]), num_heads=1, batch_first=True) out, attn_weights = attn(x, x, x) # 熵计算 probs = attn_weights[0].flatten() / attn_weights[0].flatten().sum() ent = -torch.sum(probs * torch.log(probs + 1e-10)) return ent.item() features = [] for scale in range(1, max_scale+1): # 精细时移粗粒化 scales_vals = [] for phase in range(scale): sub = signal[phase::scale] scales_vals.append(attention_entropy(sub)) features.append(np.mean(scales_vals)) return np.array(features) # 二次曼哈顿熵 def double_manhattan_entropy(signal, m=3, tau=1): N = len(signal) # 重建相空间 phi = np.array([signal[i:i+m*tau:tau] for i in range(N-m*tau+1)]) # 第一次曼哈顿距离 dist1 = np.sum(np.abs(phi[:, None, :] - phi[None, :, :]), axis=2) # 第二次曼哈顿距离 dist2 = np.sum(np.abs(dist1[:, None, :] - dist1[None, :, :]), axis=2) # 熵估计 hist, _ = np.histogram(dist2.flatten(), bins=64, density=True) ent = -np.sum(hist * np.log(hist + 1e-10)) return ent # 训练随机森林 def train_rf_with_double_entropy(features, labels): clf = RandomForestClassifier(n_estimators=100, random_state=42) clf.fit(features, labels) return clf


如有问题,可以直接沟通

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/2 7:39:28

CATIA二次开发实战:教你用Python脚本递归遍历产品树,生成结构化BOM表

CATIA二次开发实战:Python递归遍历产品树生成智能BOM系统 在工业设计领域,产品结构数据的精准提取直接影响着生产效率和成本控制。传统手动创建BOM表的方式不仅耗时耗力,还容易因人为因素导致数据错误。本文将带您深入CATIA产品树的数据内核&…

作者头像 李华
网站建设 2026/5/2 7:37:13

Go-Swagger分布式追踪终极指南:Jaeger集成完整教程

Go-Swagger分布式追踪终极指南:Jaeger集成完整教程 【免费下载链接】go-swagger Swagger 2.0 implementation for go 项目地址: https://gitcode.com/gh_mirrors/go/go-swagger Go-Swagger是Go语言中Swagger 2.0规范的实现,它能够帮助开发者快速构…

作者头像 李华
网站建设 2026/5/2 7:36:32

iOS微信红包自动助手:告别错过红包的烦恼

iOS微信红包自动助手:告别错过红包的烦恼 【免费下载链接】WeChatRedEnvelopesHelper iOS版微信抢红包插件,支持后台抢红包 项目地址: https://gitcode.com/gh_mirrors/we/WeChatRedEnvelopesHelper 还在为错过微信群里的红包而懊恼吗?当你忙于工…

作者头像 李华
网站建设 2026/5/2 7:31:34

量子增强MCMC算法在组合优化中的应用与实现

1. 量子增强MCMC:组合优化的新范式在解决复杂组合优化问题时,传统计算方法往往面临指数级增长的资源消耗。量子计算的出现为这一领域带来了新的可能性。量子增强马尔可夫链蒙特卡洛(Quantum-enhanced Markov Chain Monte Carlo, QeMCMC&#…

作者头像 李华
网站建设 2026/5/2 7:29:39

掌握GraphQL动态查询:urql中@skip与@include指令的终极应用指南

掌握GraphQL动态查询:urql中skip与include指令的终极应用指南 【免费下载链接】urql The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow. 项目地址: https://gitcode.com/gh_mirrors/ur…

作者头像 李华