资讯动态

声振融合风力机发电机轴承故障诊断【附代码】

发布时间:2026/9/28 5:49:29 来源:尧图企业网站定制
✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅如需沟通交流查看文章底部二维码1多尺度双流卷积与协同注意力特征提取网络针对单一振动信号特征提取维度不足的问题设计了一种并行双流架构。第一流以一维原始振动信号作为输入通过堆叠的一维卷积层提取时域波形中的冲击特征第二流将振动信号进行连续小波变换得到二维时频图再使用二维卷积神经网络提取时频域中的能量分布模式。两个流中均嵌入了多尺度模块采用不同尺寸的卷积核并行运算捕获局部细节和全局趋势。为有效融合双流特征引入协同注意力机制该机制不仅计算通道间的相互依赖还考虑了两个流之间的信息交互自适应地加权来自时域和时频域的贡献。实验表明该网络在风场实测数据上的故障识别准确率达到97.75%比单一流模型高出6%以上。2图卷积网络与声阵列传感器空间相关性建模对于声学信号由于环境噪声干扰严重单纯依赖单通道声信号效果不佳。因此构建了基于图卷积网络的声阵列诊断模型。首先部署多个麦克风组成小型声阵列采集不同方位的轴承声压信号。通过短时傅里叶变换将每个通道转换为谱图然后利用预训练的卷积神经网络提取每个通道的深度特征作为节点特征。同时依据麦克风几何位置关系构建邻接矩阵形成图结构数据。图卷积网络通过消息传递机制学习节点间的空间相关性从而增强对声源方向的感知并抑制背景噪声。在自建声阵列实验平台上该模型对7类轴承故障的平均识别率达到98.3%混淆矩阵显示误判率低于1.2%。3基于证据理论的决策级多源融合与不确定性量化为进一步提升诊断可靠性提出了一种结合改进图卷积网络和D-S证据理论的决策级融合方法。振动分支和图卷积声学分支分别输出各类故障的概率向量同时利用狄利克雷分布对每个分支的预测不确定性进行建模。通过主观逻辑将概率向量转换为证据信任质量。然后采用D-S证据组合规则融合两路证据得到综合信任分布。对于高度冲突的证据引入基于Pignistic概率的加权调和平均进行修正。最终决策依据最大信任原则。该方法在多传感器失效的鲁棒性测试中当某个传感器被噪声完全淹没时系统仍能保持96.7%的准确率同时能够输出每个决策的不确定性区间为运维人员提供可解释的置信度。import torch import torch.nn as nn import numpy as np from torch_geometric.nn import GCNConv from torch_geometric.data import Data # 双流多尺度CNN class DualStreamMSNet(nn.Module): def __init__(self, num_classes): super().__init__() # 一维流 self.conv1d_1 nn.Conv1d(1, 16, kernel_size3, padding1) self.conv1d_2 nn.Conv1d(16, 32, kernel_size5, padding2) # 二维流输入时频图 self.conv2d_1 nn.Conv2d(1, 16, kernel_size3, padding1) self.conv2d_2 nn.Conv2d(16, 32, kernel_size3, padding1) # 协同注意力模块 self.co_att nn.Sequential( nn.AdaptiveAvgPool1d(1), nn.Flatten(), nn.Linear(32, 32), nn.Sigmoid() ) self.fc nn.Linear(64, num_classes) def forward(self, x1d, x2d): f1 torch.relu(self.conv1d_1(x1d)) f1 torch.relu(self.conv1d_2(f1)) f1_pool f1.mean(dim-1) # (batch, 32) f2 torch.relu(self.conv2d_1(x2d)) f2 torch.relu(self.conv2d_2(f2)) f2_pool f2.mean(dim[2,3]) # (batch, 32) # 协同注意力权重 att self.co_att(f1_pool.unsqueeze(1)).squeeze() f1_weighted f1_pool * att fused torch.cat([f1_weighted, f2_pool], dim1) out self.fc(fused) return out # 图卷积网络用于声阵列 class GCN_Acoustic(nn.Module): def __init__(self, node_features, hidden_channels, num_classes): super().__init__() self.conv1 GCNConv(node_features, hidden_channels) self.conv2 GCNConv(hidden_channels, num_classes) def forward(self, x, edge_index): x torch.relu(self.conv1(x, edge_index)) x self.conv2(x, edge_index) return x # D-S证据理论融合实现 def dempster_combination(m1, m2): # m1, m2 为基本概率赋值字典键为类别索引值在0-1之间包含全集 # 此处仅考虑单子集焦元 conflict 0 combined {} for A in m1: if A not in m2: continue combined[A] m1[A] * m2[A] conflict combined[A] conflict 1 - conflict if conflict 1e-6: return m1 for A in combined: combined[A] / conflict return combined # 不确定性量化通过蒙特卡洛dropout def uncertainty_estimate(model, x, n_mc30): model.train() outputs [] for _ in range(n_mc): with torch.no_grad(): out model(x) outputs.append(torch.softmax(out, dim1)) outputs torch.stack(outputs) mean outputs.mean(dim0) std outputs.std(dim0) return mean, std ,如有问题可以直接沟通

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑