【故障诊断】基于matlab GUI KNN+BP+SVM轴承故障诊断【含Matlab源码 4866期】

✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。

更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)

⛄一、KNN+BP+SVM轴承故障诊断

1 研究背景
滚动轴承故障占旋转机械故障的大约30%,现阶段主要采用信号分析来进行故障识别。探究形成机械设备故障尤其是滚动轴承的理论和诊断手段及方法是广大科学家们共同追求的目标,无论是在工程实际还是故障分析理论上都有着重大的意义和应用价值。

1.1 轴承诊断背景
(1)滚动轴承
在这里插入图片描述
图1 托辊实物图
滚动轴承是当前工业生产中应用频率最高的轴承,可以极大地有效的减少机械机构运转之间的摩擦损失,摩擦损失对于整个机械运转架构来说是很大的无效能,会造成很大的资源浪费,使得整个设计出的机械运转效率下降,增大使用成本。对于滚动轴承来说,滚动体的外形与尺寸及个数对滚动轴承的性能及使用寿命有着很大的影响,滚动轴承有着节能效果明显、维修简便,质量可靠等优点。同时采用滚动轴承维修量大大减少,有着维修简便的优点。

(2)轴承诊断
滚动轴承的故障诊断始于60年代,1966年瑞典SKF公司发明了用冲击脉冲仪检测轴承损伤,滚动轴承的故障诊断水平得到了很大的提高。

滚动轴承若故障会引起一定的的冲击振动,是由冲击点为原点以球面形式向外扩散,然后逐步通过相应机构如一些零件轴承座等传到箱体和机架。需要注意的是,因冲击产生的振动的为高频振动,在通过轴承构件传递振动时,会有比较明显的能量损失。因此,在轴承故障诊断中,所选取的试验点即测点应尽可能减少中间所经过的轴承构件,所选取的测试点离轴承外圈也就是冲击点的距离越小越好。根据通过产生异响和温度升高等异常现象,初步推断故障产生在轴承上,故布置3个测点位置如图,得到三段正常信号,三段故障信号。

表1 设备的一般参数
在这里插入图片描述
在这里插入图片描述
图2 测点布置图
通过查阅资料及经验推断,因设备故障发出的“沙沙”声,初步确定托辊故障发生在轴承上,滚动轴承安装在托辊内主要用以减少托辊的运行阻力及减少胶带的磨损。

根据给出的轴承信号,查到轴承基本信息如下表。
表2 SKF308/309轴承基本参数
在这里插入图片描述
(3)滚动轴承故障诊断方法
滚动轴承故障是运行过程中机械设备故障的主要原因之一。滑动轴承的失效形式有磨损失效,疲劳失效,腐蚀失效和气蚀失效。

常用的对滚动轴承进行故障诊断的方式一般有时域分析,用时域参数对早期故障的敏感性,对滚动轴承进行定期检测,得到其峭度、峰值因子、以及振动频率有效值趋势曲线等,幅值或有效值的变化曲线或规律可以对滚动轴承故障有一个初步的诊断,或是频域分析,利用快速傅里叶变换获得振动信号的频谱图,了解频率成分。通过计算轴承故障频率与时域分析结果对比确定故障位置。

2 时域分析
2.1 时域波形分析
时域波形分析是指经过各种专业仪器采集记录并显示的被测设备信号与时间相对应的波形信号,如振动、噪声、温度、压力等进行分析,进而得到得到待测对象的时间历程的分析方法。信号在时域上的分析所包含的特征量较多,且视觉上更能明显看到规律,趋势也易于让人领会,是轴承故障诊断方面的重要依据。
表4 信号时域信息统计

在这里插入图片描述
通过对三个测点正常和故障的信号进行时域分析可以看出,故障信号的均值较正常信号均值要大,说明滚动体在滚道上运动的时候,不规则运动较大,轴承磨损程度大。故障信号较正常信号的方差值要大十倍左右,说明故障信号的数据波动程度很大。

每个测点的故障信号峰峰值比正常高很多,说明故障时机构振动、能量都很大。峭度对早期信号故障有较高的敏感性可以看出故障信号峭度比正常信号峭度大,说明轴承有一定程度的损伤。在一段故障信号中取三个幅值相同的点,w1信号周期约为0.4s,频率为2.5Hz,与滚动体故障频率接近。w2周期约为0.2s,频率约为5Hz与外圈故障频率接近。w3周期约为0.6s,频率为1.6Hz,与滚动体故障频率接近。

3 频谱分析
3.1 倒谱分析
倒谱分析就是将原始波形的傅里叶变换结进行对数求解,最后再将对数求解后的结果再进行傅里叶逆变换。倒谱分析在信轴承故障诊断方面具有较大的实用意义。倒谱分析可以将波形数据卷积后的多个信号进行分离,进而将波形数据中较为明显突出的特征量即特征信号分离出来,方便后面的对轴承的故障诊断分析,并将倒谱分析后的数据或波形特征与时域、频域等其他分析手段相结合进而达到对滚动轴承进行故障诊断的依据。
在这里插入图片描述
图5 第二段信号倒谱分析图

4 KNN+BP+SVM轴承故障诊断
KNN (K-Nearest Neighbors)、Back Propagation (BP) 算法和 Support Vector Machine (SVM) 是三种常用的机器学习方法,它们常被结合应用于轴承故障诊断这类监督学习任务中。

KNN (K-Nearest Neighbors): 这是一种基于实例的学习方法,通过寻找新样本在特征空间中最接近的已知样本(邻居)的类别来进行预测。在轴承故障诊断中,KNN可以根据设备的历史数据点来判断当前状态是否异常。

BP (Back Propagation): 是一种用于训练人工神经网络的常用算法,它通过反向传播误差来调整权重,从而逐步优化模型的性能。如果将BP与KNN结合,可能是通过构建一个包含KNN分类器的神经网络结构,用BP来更新网络参数。

SVM (Support Vector Machine): SVM通过构造最大边距超平面来进行分类,特别适合小样本、高维数据集。在轴承故障诊断中,SVM可以通过特征选择找到对故障最有区分性的特征,提高分类精度。

当这三种方法组合使用时(KNN+BP+SVM),通常步骤如下:
(1)数据预处理:清洗、归一化或标准化数据。
(2)特征选择:使用适当的方法提取轴承运行中的关键特征。
(3)模型构建:首先使用KNN进行初步分类,然后可能使用BP来训练神经(4)网络作为中间层,最后使用SVM对整个系统进行优化或做最终分类。
(5)模型评估:通过交叉验证等方法测试模型的性能,如准确率、召回率和F1分数。

⛄二、部分源代码

function varargout = faultdiag(varargin)
% FAULTDIAG MATLAB code for faultdiag.fig
% FAULTDIAG, by itself, creates a new FAULTDIAG or raises the existing
% singleton*.
%
% H = FAULTDIAG returns the handle to a new FAULTDIAG or the handle to
% the existing singleton*.
%
% FAULTDIAG(‘CALLBACK’,hObject,eventData,handles,…) calls the local
% function named CALLBACK in FAULTDIAG.M with the given input arguments.
%
% FAULTDIAG(‘Property’,‘Value’,…) creates a new FAULTDIAG or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before faultdiag_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to faultdiag_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE’s Tools menu. Choose “GUI allows only one
% instance to run (singleton)”.
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help faultdiag

% Last Modified by GUIDE v2.5 27-Nov-2023 14:12:53

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name’, mfilename, …
‘gui_Singleton’, gui_Singleton, …
‘gui_OpeningFcn’, @faultdiag_OpeningFcn, …
‘gui_OutputFcn’, @faultdiag_OutputFcn, …
‘gui_LayoutFcn’, [] , …
‘gui_Callback’, []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT

% — Executes just before faultdiag is made visible.
function faultdiag_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to faultdiag (see VARARGIN)
% ʾ
h = handles.figure1;
movegui(h,‘center’);

% Choose default command line output for faultdiag
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes faultdiag wait for user response (see UIRESUME)
% uiwait(handles.figure1);

% — Outputs from this function are returned to the command line.
function varargout = faultdiag_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

% — Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(faultdiag,‘Visible’,‘off’);
set(pretreat,‘Visible’,‘on’);

% — Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(faultdiag,‘Visible’,‘off’);
set(getfeat,‘Visible’,‘on’);

% — Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% — Executes on button press in pushbutton5.
function pushbutton5_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton5 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
close

% — Executes on button press in pushbutton6.
function pushbutton6_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton6 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,‘String’) returns contents of edit2 as text
% str2double(get(hObject,‘String’)) returns contents of edit2 as a double

% — Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

% — Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton7 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a或2019b

2 参考文献
[1]汪超,吴吉瑞,张键.基于振动理论的齿轮箱故障诊断应用研究[J].煤矿机械 .2015

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

1.1 PID优化
1.2 VMD优化
1.3 配电网重构
1.4 三维装箱
1.5 微电网优化
1.6 优化布局
1.7 优化参数
1.8 优化成本
1.9 优化充电
1.10 优化调度
1.11 优化电价
1.12 优化发车
1.13 优化分配
1.14 优化覆盖
1.15 优化控制
1.16 优化库存
1.17 优化路由
1.18 优化设计
1.19 优化位置
1.20 优化吸波
1.21 优化选址
1.22 优化运行
1.23 优化指派
1.24 优化组合
1.25 车间调度
1.26 生产调度
1.27 经济调度
1.28 装配线调度
1.29 水库调度
1.30 货位优化
1.31 公交排班优化
1.32 集装箱船配载优化
1.33 水泵组合优化
1.34 医疗资源分配优化
1.35 可视域基站和无人机选址优化

2 机器学习和深度学习分类与预测
2.1 机器学习和深度学习分类
2.1.1 BiLSTM双向长短时记忆神经网络分类
2.1.2 BP神经网络分类
2.1.3 CNN卷积神经网络分类
2.1.4 DBN深度置信网络分类
2.1.5 DELM深度学习极限学习机分类
2.1.6 ELMAN递归神经网络分类
2.1.7 ELM极限学习机分类
2.1.8 GRNN广义回归神经网络分类
2.1.9 GRU门控循环单元分类
2.1.10 KELM混合核极限学习机分类
2.1.11 KNN分类
2.1.12 LSSVM最小二乘法支持向量机分类
2.1.13 LSTM长短时记忆网络分类
2.1.14 MLP全连接神经网络分类
2.1.15 PNN概率神经网络分类
2.1.16 RELM鲁棒极限学习机分类
2.1.17 RF随机森林分类
2.1.18 SCN随机配置网络模型分类
2.1.19 SVM支持向量机分类
2.1.20 XGBOOST分类

2.2 机器学习和深度学习预测
2.2.1 ANFIS自适应模糊神经网络预测
2.2.2 ANN人工神经网络预测
2.2.3 ARMA自回归滑动平均模型预测
2.2.4 BF粒子滤波预测
2.2.5 BiLSTM双向长短时记忆神经网络预测
2.2.6 BLS宽度学习神经网络预测
2.2.7 BP神经网络预测
2.2.8 CNN卷积神经网络预测
2.2.9 DBN深度置信网络预测
2.2.10 DELM深度学习极限学习机预测
2.2.11 DKELM回归预测
2.2.12 ELMAN递归神经网络预测
2.2.13 ELM极限学习机预测
2.2.14 ESN回声状态网络预测
2.2.15 FNN前馈神经网络预测
2.2.16 GMDN预测
2.2.17 GMM高斯混合模型预测
2.2.18 GRNN广义回归神经网络预测
2.2.19 GRU门控循环单元预测
2.2.20 KELM混合核极限学习机预测
2.2.21 LMS最小均方算法预测
2.2.22 LSSVM最小二乘法支持向量机预测
2.2.23 LSTM长短时记忆网络预测
2.2.24 RBF径向基函数神经网络预测
2.2.25 RELM鲁棒极限学习机预测
2.2.26 RF随机森林预测
2.2.27 RNN循环神经网络预测
2.2.28 RVM相关向量机预测
2.2.29 SVM支持向量机预测
2.2.30 TCN时间卷积神经网络预测
2.2.31 XGBoost回归预测
2.2.32 模糊预测
2.2.33 奇异谱分析方法SSA时间序列预测

2.3 机器学习和深度学习实际应用预测
CPI指数预测、PM2.5浓度预测、SOC预测、财务预警预测、产量预测、车位预测、虫情预测、带钢厚度预测、电池健康状态预测、电力负荷预测、房价预测、腐蚀率预测、故障诊断预测、光伏功率预测、轨迹预测、航空发动机寿命预测、汇率预测、混凝土强度预测、加热炉炉温预测、价格预测、交通流预测、居民消费指数预测、空气质量预测、粮食温度预测、气温预测、清水值预测、失业率预测、用电量预测、运输量预测、制造业采购经理指数预测

3 图像处理方面
3.1 图像边缘检测
3.2 图像处理
3.3 图像分割
3.4 图像分类
3.5 图像跟踪
3.6 图像加密解密
3.7 图像检索
3.8 图像配准
3.9 图像拼接
3.10 图像评价
3.11 图像去噪
3.12 图像融合
3.13 图像识别
3.13.1 表盘识别
3.13.2 车道线识别
3.13.3 车辆计数
3.13.4 车辆识别
3.13.5 车牌识别
3.13.6 车位识别
3.13.7 尺寸检测
3.13.8 答题卡识别
3.13.9 电器识别
3.13.10 跌倒检测
3.13.11 动物识别
3.13.12 二维码识别
3.13.13 发票识别
3.13.14 服装识别
3.13.15 汉字识别
3.13.16 红绿灯识别
3.13.17 虹膜识别
3.13.18 火灾检测
3.13.19 疾病分类
3.13.20 交通标志识别
3.13.21 卡号识别
3.13.22 口罩识别
3.13.23 裂缝识别
3.13.24 目标跟踪
3.13.25 疲劳检测
3.13.26 旗帜识别
3.13.27 青草识别
3.13.28 人脸识别
3.13.29 人民币识别
3.13.30 身份证识别
3.13.31 手势识别
3.13.32 数字字母识别
3.13.33 手掌识别
3.13.34 树叶识别
3.13.35 水果识别
3.13.36 条形码识别
3.13.37 温度检测
3.13.38 瑕疵检测
3.13.39 芯片检测
3.13.40 行为识别
3.13.41 验证码识别
3.13.42 药材识别
3.13.43 硬币识别
3.13.44 邮政编码识别
3.13.45 纸牌识别
3.13.46 指纹识别

3.14 图像修复
3.15 图像压缩
3.16 图像隐写
3.17 图像增强
3.18 图像重建

4 路径规划方面
4.1 旅行商问题(TSP)
4.1.1 单旅行商问题(TSP)
4.1.2 多旅行商问题(MTSP)
4.2 车辆路径问题(VRP)
4.2.1 车辆路径问题(VRP)
4.2.2 带容量的车辆路径问题(CVRP)
4.2.3 带容量+时间窗+距离车辆路径问题(DCTWVRP)
4.2.4 带容量+距离车辆路径问题(DCVRP)
4.2.5 带距离的车辆路径问题(DVRP)
4.2.6 带充电站+时间窗车辆路径问题(ETWVRP)
4.2.3 带多种容量的车辆路径问题(MCVRP)
4.2.4 带距离的多车辆路径问题(MDVRP)
4.2.5 同时取送货的车辆路径问题(SDVRP)
4.2.6 带时间窗+容量的车辆路径问题(TWCVRP)
4.2.6 带时间窗的车辆路径问题(TWVRP)
4.3 多式联运运输问题

4.4 机器人路径规划
4.4.1 避障路径规划
4.4.2 迷宫路径规划
4.4.3 栅格地图路径规划

4.5 配送路径规划
4.5.1 冷链配送路径规划
4.5.2 外卖配送路径规划
4.5.3 口罩配送路径规划
4.5.4 药品配送路径规划
4.5.5 含充电站配送路径规划
4.5.6 连锁超市配送路径规划
4.5.7 车辆协同无人机配送路径规划

4.6 无人机路径规划
4.6.1 飞行器仿真
4.6.2 无人机飞行作业
4.6.3 无人机轨迹跟踪
4.6.4 无人机集群仿真
4.6.5 无人机三维路径规划
4.6.6 无人机编队
4.6.7 无人机协同任务
4.6.8 无人机任务分配

5 语音处理
5.1 语音情感识别
5.2 声源定位
5.3 特征提取
5.4 语音编码
5.5 语音处理
5.6 语音分离
5.7 语音分析
5.8 语音合成
5.9 语音加密
5.10 语音去噪
5.11 语音识别
5.12 语音压缩
5.13 语音隐藏

6 元胞自动机方面
6.1 元胞自动机病毒仿真
6.2 元胞自动机城市规划
6.3 元胞自动机交通流
6.4 元胞自动机气体
6.5 元胞自动机人员疏散
6.6 元胞自动机森林火灾
6.7 元胞自动机生命游戏

7 信号处理方面
7.1 故障信号诊断分析
7.1.1 齿轮损伤识别
7.1.2 异步电机转子断条故障诊断
7.1.3 滚动体内外圈故障诊断分析
7.1.4 电机故障诊断分析
7.1.5 轴承故障诊断分析
7.1.6 齿轮箱故障诊断分析
7.1.7 三相逆变器故障诊断分析
7.1.8 柴油机故障诊断

7.2 雷达通信
7.2.1 FMCW仿真
7.2.2 GPS抗干扰
7.2.3 雷达LFM
7.2.4 雷达MIMO
7.2.5 雷达测角
7.2.6 雷达成像
7.2.7 雷达定位
7.2.8 雷达回波
7.2.9 雷达检测
7.2.10 雷达数字信号处理
7.2.11 雷达通信
7.2.12 雷达相控阵
7.2.13 雷达信号分析
7.2.14 雷达预警
7.2.15 雷达脉冲压缩
7.2.16 天线方向图
7.2.17 雷达杂波仿真

7.3 生物电信号
7.3.1 肌电信号EMG
7.3.2 脑电信号EEG
7.3.3 心电信号ECG
7.3.4 心脏仿真

7.4 通信系统
7.4.1 DOA估计
7.4.2 LEACH协议
7.4.3 编码译码
7.4.4 变分模态分解
7.4.5 超宽带仿真
7.4.6 多径衰落仿真
7.4.7 蜂窝网络
7.4.8 管道泄漏
7.4.9 经验模态分解
7.4.10 滤波器设计
7.4.11 模拟信号传输
7.4.12 模拟信号调制
7.4.13 数字基带信号
7.4.14 数字信道
7.4.15 数字信号处理
7.4.16 数字信号传输
7.4.17 数字信号去噪
7.4.18 水声通信
7.4.19 通信仿真
7.4.20 无线传输
7.4.21 误码率仿真
7.4.22 现代通信
7.4.23 信道估计
7.4.24 信号检测
7.4.25 信号融合
7.4.26 信号识别
7.4.27 压缩感知
7.4.28 噪声仿真
7.4.29 噪声干扰

7.5 无人机通信

7.6 无线传感器定位及布局方面
7.6.1 WSN定位
7.6.2 高度预估
7.6.3 滤波跟踪
7.6.4 目标定位
7.6.4.1 Dv-Hop定位
7.6.4.2 RSSI定位
7.6.4.3 智能算法优化定位
7.6.5 组合导航

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

  • 31
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海神之光

有机会获得赠送范围1份代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值