当前位置: 首页 > news >正文

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

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


(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


如有问题,可以直接沟通

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

http://www.jsqmd.com/news/736757/

相关文章:

  • CATIA二次开发实战:教你用Python脚本递归遍历产品树,生成结构化BOM表
  • 终极指南:如何让老旧Android电视重新流畅观看直播?MyTV-Android原生方案详解
  • 如何让Windows电脑成为iPhone的免费AirPlay 2接收器?完整指南
  • 深入解析上下文管理:从原理到实践,掌握illegalstudio/context库的核心应用
  • vscode中代码片段(snippets)配置,中的$1 $2 $0等占位符表示的意思
  • Unity游戏本地化:集成AI翻译提升多语言内容生产效率
  • 如何使用Heroicons UI:5分钟快速上手教程
  • Arduino Portenta LTE Cat. M1/NB-IoT GNSS扩展板技术解析与应用
  • 戴尔G15散热控制终极指南:开源轻量级AWCC替代方案
  • 从信号处理到金融分析:MATLAB std函数在5个真实场景中的高阶用法
  • 如何3分钟免费将B站视频转文字?bili2text完全指南让你效率翻倍
  • RAG系统中语料库规模与模型容量的优化平衡
  • Shell-Pilot:纯Shell脚本实现的终端AI助手,无缝集成命令行工作流
  • 养老综合体设计哪家专业 2026年行业服务解析 - 品牌排行榜
  • 如何用DeepLearningPython构建强大的卷积神经网络:从LeNet到现代架构的完整指南
  • Laravel Hashids与Eloquent结合:如何在模型中使用ID编码的完整指南
  • 7个ES6语法糖完全指南:从入门到精通的实战解析
  • 为什么选择LINE Bot SDK Python:对比其他框架的5大优势分析
  • Diagon API详解:如何集成到你的项目中
  • XUnity.AutoTranslator:打破Unity游戏语言壁垒的智能翻译革命
  • snag:基于内容寻址的轻量级文件快照与同步工具实践
  • TI IWR6843ISK开发避坑指南:ECIBOOST、DCA1000与CCS调试模式到底怎么选?
  • 如何快速掌握Broadway.js:从NAL单元解析到帧重建的完整指南
  • 利用 Taotoken 实现多模型备选策略提升智能问答系统稳定性
  • 3步解决华硕笔记本风扇异常:G-Helper开源工具实战指南
  • 如何快速上手Ubertooth:从硬件组装到软件配置的完整教程
  • 终极指南:5步实现Cursor Pro永久免费,彻底解决AI编程助手试用限制
  • AI写作技能解析:从知识到文章的“破立塑润”四步法
  • 如何优化推荐系统中的Embedding?OneFlow稀疏张量支持的终极指南
  • 如何快速上手USBCopyer:新手必看的5分钟入门教程