news 2026/4/30 11:25:02

船舶齿轮箱退化特征提取与寿命预测【附代码】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
船舶齿轮箱退化特征提取与寿命预测【附代码】

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


(1)多层次改进多样性熵振动特征提取:

针对船舶齿轮箱全寿命周期振动信号非线性、非平稳特性导致传统熵值指标单调性差的问题,提出MIDE方法。MIDE在经典多尺度熵的基础上,引入动态重标定因子替代固定尺度平均,依据每个尺度下粗粒化序列的方差调整权重,方差越大表示局部波动越剧烈,赋予更高的熵值权重。同时采用改进的多样性度量,不是简单统计模式种类,而是考虑模式的出现概率分布与均匀分布的KL散度。在Adams动力学仿真生成的齿轮裂纹退化数据(从健康到断裂共15个阶段)上,MIDE提取的健康指标单调性指数达到0.86,趋势性指数0.91,显著优于多尺度熵(单调性0.71)和层次熵(0.68)。采用滑动窗口实时计算MIDE序列,可清晰观察到故障萌生和加速退化两个拐点。","

(2)双向门控循环单元与健康指标融合的RUL预测:

将MIDE提取的多维熵特征(在10个尺度下的值)作为输入序列,构建BiGRU网络进行剩余寿命预测。BiGRU同时处理前向和后向时序依赖,适合捕捉退化过程的双向演化规律。网络输出为剩余寿命百分比(0~1之间)。在齿轮箱全寿命试验数据上(共8组,每组约2000个采样点),预测均方根误差为5.97%,平均绝对百分比误差为8.3%。对比单向GRU(RMSE 8.2%)和LSTM(7.9%),BiGRU精度最高且参数量最小。将MIDE与振动均方根值进行相关性分析,发现MIDE的预测窗口更长,在寿命中期就能识别退化趋势,而RMS只在临近失效时才明显上升。通过贝叶斯超参数优化,确定了BiGRU的最优隐藏层维度为128,层数为2,学习率0.001。","

(3)仿真数据与试验数据融合的迁移寿命预测:

针对船舶齿轮箱全寿命数据难以获得的问题,建立基于Adams的多体动力学仿真模型,模拟齿轮裂纹从0.5mm到3mm的渐进扩展过程,生成多阶段振动仿真数据。使用仿真数据预训练MIDE-BiGRU模型,再用少量真实试验数据(仅前两个齿轮的完整寿命数据)进行微调。迁移学习策略冻结BiGRU的前两层参数,只微调最后一层和输出层。在剩余4个齿轮的测试中,微调后的模型RMSE为6.3%,而仅用仿真数据训练的模型RMSE为13.8%,仅用少量真实数据训练的模型由于数据不足RMSE为11.2%。仿真与真实数据之间的最大均值差异从0.42降到微调后的0.15,证明了特征空间的对齐效果。该方法使得新机型齿轮箱的RUL预测成为可能,无需等待其完成全寿命试验。

import numpy as np from scipy.signal import hilbert import torch import torch.nn as nn def multiscale_improved_diversity_entropy(signal, max_scale=10, m=3): def diversity_entropy(x): n = len(x) patterns = [] for i in range(n-m+1): pat = tuple(np.sign(x[i+1:i+m] - x[i:i+m-1]).astype(int)) patterns.append(pat) _, counts = np.unique(patterns, return_counts=True) probs = counts / len(patterns) # KL散度到均匀分布 unif = np.ones_like(probs) / len(probs) kl = np.sum(probs * np.log((probs+1e-10)/(unif+1e-10))) return kl mide = [] for scale in range(1, max_scale+1): # 粗粒化 coarse = np.mean(signal.reshape(len(signal)//scale, scale), axis=1) de = diversity_entropy(coarse) # 动态重标定因子 = 方差倒数 var = np.var(coarse) weight = 1.0 / (var + 1e-6) mide.append(de * weight) return np.array(mide) class BiGRU_RUL(nn.Module): def __init__(self, input_dim=10, hidden=128, num_layers=2): super().__init__() self.gru = nn.GRU(input_dim, hidden, num_layers, batch_first=True, bidirectional=True) self.fc = nn.Linear(hidden*2, 1) def forward(self, x): out, _ = self.gru(x) return torch.sigmoid(self.fc(out[:, -1, :])) def transfer_finetune(source_model, target_loader, freeze_layers=2): # 冻结前freeze_layers的GRU层 for name, param in source_model.named_parameters(): if 'gru.weight_ih_l0' in name or 'gru.weight_hh_l0' in name: param.requires_grad = False optimizer = torch.optim.Adam(filter(lambda p: p.requires_grad, source_model.parameters()), lr=0.0001) # 微调循环 for epoch in range(30): for x, y in target_loader: pred = source_model(x) loss = F.mse_loss(pred, y) optimizer.zero_grad() loss.backward() optimizer.step() return source_model


如有问题,可以直接沟通

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

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

使用国内 pip 镜像

实际使用过程中, 发现清华的源有概率会出现 403 问题, 估计是压力过大扛不住了, 推荐还是优先选择用阿里的源uv 配置镜像 # pypi 镜像 export UV_DEFAULT_INDEXhttps://mirrors.ustc.edu.cn/pypi/simple# 下载 Python 版本的镜像 export UV_PYTHON_INSTALL_MIRRORhttps://mirro…

作者头像 李华
网站建设 2026/4/30 11:17:21

PowerToys Awake终极指南:三步掌握电脑防休眠神器

PowerToys Awake终极指南:三步掌握电脑防休眠神器 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys …

作者头像 李华
网站建设 2026/4/30 11:15:23

ESP32智能地暖控制器设计与Home Assistant集成

1. 项目概述:基于ESP32的10通道地暖阀门控制器去年冬天改造自家地暖系统时,我发现市面上的智能阀门控制器要么价格离谱,要么封闭系统难以接入Home Assistant。直到在Hackster.io上看到Voltlog设计的这款开源硬件——采用ESP32芯片的10通道地暖…

作者头像 李华
网站建设 2026/4/30 11:04:03

js2coffee 2.0新特性全面解读:Esprima解析器与兼容性模式

js2coffee 2.0新特性全面解读:Esprima解析器与兼容性模式 【免费下载链接】js2coffee Compile JavaScript to CoffeeScript 项目地址: https://gitcode.com/gh_mirrors/js/js2coffee js2coffee 2.0是2015年2月发布的重大更新版本,作为一款将JavaS…

作者头像 李华