1 简介
基于贝叶斯证据框架下的支持向量机,设计了一种轴承故障诊断方法.将贝叶斯证据框架应用于SVM分类器来选取正规化参数和核参数,作为样本训练SVM分类器来确定模拟轴承故障诊断的模型.结果表明,设计的轴承故障诊断方法效果良好.
2 部分代码
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%函数名称:特征矩阵函数 Feature_matrix2.m
%%入口参数:该故障轴承情况下的时域数据Y和相应的频域数据y,以及采样点个数N和数据划分的维度大小D
%%出口参数:该故障轴承情况下数据的特征矩阵
%%说明:主要提取数据的均方根特征、峭度特征、峰值特征、统计特征以及均方根和峭度作为特征值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [feature_matrix] = Feature_matrix2(Y,y,N,D,df)
% Y1_DE包络特征
% 包络
[maxv,maxl] = findpeaks(abs(Y(1:N/2)),'minpeakdistance',100);
plot(maxl*df,maxv,'color','R');
envelope_feature = zeros(1,D);
l = length(maxv);
for i = 1:D
X_aver = mean(maxv((i-1)*floor(l/D)+1:i*floor(l/D)));
X_rms = sqrt(sumsqr(maxv((i-1)*floor(l/D)+1:i*floor(l/D)))/floor(l/D));
envelope_feature(i) = X_aver/X_rms;
end
% 峰值特征
max_feature = zeros(1,D);
l = length(y);
for i = 1:D
max_feature(i) = max(y((i-1)*floor(l/D)+1:i*floor(l/D)));
end
% 均方根特征
rms_feature = zeros(1,D);
l = length(y);
for i = 1:D
rms_feature(i) = rms(y((i-1)*floor(l/D)+1:i*floor(l/D)));
end
% 峭度特征
ku_feature = zeros(1,D);
l = length(y);
for i = 1:D
ku_feature(i) = kurtosis(y((i-1)*floor(l/D)+1:i*floor(l/D)));
end
% 得到10X7的特征向量矩阵
feature_matrix = zeros(D,4);
feature_matrix(:,1) = envelope_feature;
feature_matrix(:,2) = max_feature;
feature_matrix(:,3) = rms_feature;
feature_matrix(:,4) = ku_feature;
% feature_matrix(:,5) = ku_feature;
feature_matrix;
end
3 仿真结果
4 参考文献
[1]罗志勇, 史忠科. 贝叶斯框架支持向量机的模拟电路故障诊断[J]. 系统仿真学报, 2007.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。