卷积神经网络滚动轴承故障诊断毕业论文【机械故障智能诊断】
以滚动轴承故障诊断技术为研究主线,采用理论研究、数值计算和实验研究方法,提出了 SSA 优化改进阈值的滚动轴承故障诊断方法,并针对滚动轴承信号直接或间接输入网络中易丢失时间相关性问题,提出小样本下基于MTF-SPCNN 的滚动轴承故障诊断方法;针对实际工作环境复杂以及样本不足的问题,提出一种小样本下基于 MTF 与 SSCAM-MSCNN 的滚动轴承故障诊断方法。主要介绍滚动轴承故障特征频率及信号
一、核心思路
以滚动轴承故障诊断技术为研究主线,采用理论研究、数值计算和实验研究方法,提出了 SSA 优化改进阈值的滚动轴承故障诊断方法,并针对滚动轴承信号直接或间接输入网络中易丢失时间相关性问题,提出小样本下基于MTF-SPCNN 的滚动轴承故障诊断方法;针对实际工作环境复杂以及样本不足的问题,提出一种小样本下基于 MTF 与 SSCAM-MSCNN 的滚动轴承故障诊断方法。
主要介绍滚动轴承故障特征频率及信号特征,说明卷积神经网络相关结构与技术。
SSA 优化改进阈值的滚动轴承故障诊断方法。对小波阈值函数进行改进并运用 SSA 进行参数寻优,实现信号降噪;进行 EMD 分解,提出综合评价指标 P,以此为依据进行分量的筛选,进行特征提取;通过包络谱图实现对滚动轴承的故障诊断。通过仿真信号以及实验轴承信号,验证所提方法的有效性和可靠性。
小样本下基于 MTF-SPCNN 的滚动轴承故障诊断方法。首先将一维时域信号转化为具有时间相关性的 MTF 图像;然后提出条纹池化模块,将其引入网络中,构建SPCNN 模型,注重上下文全局特征信息,将MTF 图像输入SPCNN中实现全面特征提取与故障诊断;最后运用 CWRU 数据集和本实验室 MFS 数据集验证该方法的可靠性,结果表明所提方法具有良好的特征提取能力以及故障分类能力。
小样本下基于 MTF 与 SSCAM-MSCNN 的滚动轴承故障诊断方法。以条纹池化模块作为基础,添加自校正功能,提出一种新的注意力机制-SSCAM注意力机制,在聚焦长度方向信息的同时建立通道间依赖关系,自适应实现权重分配,将其引入 MSCNN 网络中实现对滚动轴承的故障诊断。运用两种数据集对该方法进行验证,实验结果表明,针对小样本变工况条件下的数据,所提方法具有更强的分类识别效果以及抗噪性能。
二、建模与仿真
故障频率幅值大小代表故障发生的概率,幅值越大说明故障发生概率越大。当滚动轴承发生故障时,频谱图上就会出现与之对应的峰值。但由于实际装配安装、转速变化等因素,导致实际故障特征频率与理论值有所差别。多数情况下,通常以特征频率作为基频,寻求二、三倍频等成分,倍频的出现同样可以判断滚动轴承的故障类型。
麻雀优化算法最早是由 Xue提出,目前已广泛应用于诸多领域。SSA 通过模仿麻雀觅食和反捕行为,实现全局信息寻优,其具有收敛速度快、参数少、寻优精度高、稳定性好等特点。
%%%%%%%%%%%%%%%%%免疫算法求函数极值%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%%%%%%
clear all; %清除所有变量
close all; %清图
clc; %清屏
D=10; %免疫个体维数
NP=100; %免疫个体数目
Xs=20; %取值上限
Xx=-20; %取值下限
G=500; %最大免疫代数
pm=0.7; %变异概率
alfa=1; %激励度系数
belta=1; %激励度系数
detas=0.2; %相似度阈值
gen=0; %免疫代数
Ncl=10; %克隆个数
deta0=1*Xs; %邻域范围初值
%%%%%%%%%%%%%%%%%%%%%%%初始种群%%%%%%%%%%%%%%%%%%%%%%%%
f=rand(D,NP)*(Xs-Xx)+Xx;
for np=1:NP
MSLL(np)=func1(f(:,np));
end
%%%%%%%%%%%%%%%%%计算个体浓度和激励度%%%%%%%%%%%%%%%%%%%
for np=1:NP
for j=1:NP
nd(j)=sum(sqrt((f(:,np)-f(:,j)).^2));
if nd(j)<detas
nd(j)=1;
else
nd(j)=0;
end
end
ND(np)=sum(nd)/NP;
end
MSLL = alfa*MSLL- belta*ND;
%%%%%%%%%%%%%%%%%%%激励度按升序排列%%%%%%%%%%%%%%%%%%%%%%
[SortMSLL,Index]=sort(MSLL);
Sortf=f(:,Index);
%%%%%%%%%%%%%%%%%%%%%%%%免疫循环%%%%%%%%%%%%%%%%%%%%%%%%
while gen<G
for i=1:NP/2
%%%%%%%%选激励度前NP/2个体进行免疫操作%%%%%%%%%%%
a=Sortf(:,i);
Na=repmat(a,1,Ncl);
deta=deta0/gen;
for j=1:Ncl
for ii=1:D
%%%%%%%%%%%%%%%%%变异%%%%%%%%%%%%%%%%%%%
if rand<pm
Na(ii,j)=Na(ii,j)+(rand-0.5)*deta;
end
%%%%%%%%%%%%%%边界条件处理%%%%%%%%%%%%%%%
if (Na(ii,j)>Xs) | (Na(ii,j)<Xx)
Na(ii,j)=rand * (Xs-Xx)+Xx;
end
end
end
Na(:,1)=Sortf(:,i); %保留克隆源个体
%%%%%%%%%%克隆抑制,保留亲和度最高的个体%%%%%%%%%%
for j=1:Ncl
NaMSLL(j)=func1(Na(:,j));
end
[NaSortMSLL,Index]=sort(NaMSLL);
aMSLL(i)=NaSortMSLL(1);
NaSortf=Na(:,Index);
af(:,i)=NaSortf(:,1);
end
%%%%%%%%%%%%%%%%%%%%免疫种群激励度%%%%%%%%%%%%%%%%%%%
for np=1:NP/2
for j=1:NP/2
nda(j)=sum(sqrt((af(:,np)-af(:,j)).^2));
if nda(j)<detas
nda(j)=1;
else
nda(j)=0;
end
end
aND(np)=sum(nda)/NP/2;
end
aMSLL = alfa*aMSLL- belta*aND;
%%%%%%%%%%%%%%%%%%%%%%%种群刷新%%%%%%%%%%%%%%%%%%%%%%%
bf=rand(D,NP/2)*(Xs-Xx)+Xx;
for np=1:NP/2
bMSLL(np)=func1(bf(:,np));
end
%%%%%%%%%%%%%%%%%%%新生成种群激励度%%%%%%%%%%%%%%%%%%%%
for np=1:NP/2
for j=1:NP/2
ndc(j)=sum(sqrt((bf(:,np)-bf(:,j)).^2));
if ndc(j)<detas
ndc(j)=1;
else
ndc(j)=0;
end
end
bND(np)=sum(ndc)/NP/2;
end
bMSLL = alfa*bMSLL- belta*bND;
%%%%%%%%%%%%%%免疫种群与新生种群合并%%%%%%%%%%%%%%%%%%%
f1=[af,bf];
MSLL1=[aMSLL,bMSLL];
[SortMSLL,Index]=sort(MSLL1);
Sortf=f1(:,Index);
gen=gen+1;
trace(gen)=func1(Sortf(:,1));
end
%%%%%%%%%%%%%%%%%%%%%%%输出优化结果%%%%%%%%%%%%%%%%%%%%%%%%
Bestf=Sortf(:,1); %最优变量
trace(end); %最优值
figure,plot(trace)
xlabel('迭代次数')
ylabel('目标函数值')
title('亲和度进化曲线')
运用 MTF 信号处理方法,将原始轴承信号转化为具有时间相关性的二维特征图,在较少样本条件下获取更充分的特征信息,增强数据质量,为后续的故障诊断工作奠定基础。同时,运用条纹池化模块代替传统方形池化,扩大感受野,更为全面地捕捉特征信息,克服了变工况数据分布不同导致故障诊断精度偏低的缺点。结合二者特性,构建 MTF-SPCNN 模型
博主简介:本人擅长数据处理、建模仿真、程序设计、论文写作与指导,项目与课题经验交流。个人博客:kelaboshi.com。
更多推荐
所有评论(0)