基于KNN的旋转机械故障诊断方法(MATLAB)

首先说点其他的,容易水论文的,比如基于几何模型的旋转机械故障诊断。

近年来,仿射包、超球体、凸包、超圆盘等图形学中的几何模型受到了学者的广泛关注, 并提出了一系列基于几何模型的分类方法。几何模型分类方法通常采用一种几何模型估计样本的类别分布,并根据某种决策准则(如最大间隔分类,最近邻分类)实现模式识别的目的。就分类性能而言,由于仿射包的无界性,在处理样本数量有限的高维数据时,其分类性能要逊色于超球体、凸包、超圆盘等有限边界几何模型。基于超球体的分类模型通过构造一个最小体积超球体来描述样本分布,其最典型的模型为支持向量数据描述SVDD。SVDD 是一种经典的单分类模型,在故障诊断领域常用于故障检测。

在计算几何学中,凸包为样本在给定空间中所构成的最小凸多边形。最大间隔凸包分类MMCCH是通过寻找不同类别凸包间的最近邻点,从而构建具有最大间隔的分类超平面,以分离不同类别样本。从几何角度分析,SVM 的求解问题可以转化为两个凸包间的最大间隔问题,因而MMCCH 是SVM 更直观的几何解释,两者的目标函数是可以相互转化的。由于基于凸包的分类方法具有坚实的统计学原理及良好的可解释性,因此在故障诊断方面具有一定的优越性。

然而,凸包对样本的类别分布估计过于紧密,导致其对异常值格外敏感。为此,超圆盘几何模型被提出,其具体表示形式为仿射包和超球体在样本空间的交集。因此,超圆盘的样本边界要比仿射包紧致,同时要比凸包松弛,这极大增强了超圆盘模型的泛化能力。基于超圆盘模型,最近邻超圆盘分类器NHDC和大间隔超圆盘分类器LMCHD被相继提出,并被用于高维小样本数据分类,也被成功引入故障诊断领域。

接下来,采用KNN模型对旋转机械故障进行诊断,运行环境为MATLAB R2018A,故障包括轴承故障、齿轮啮合故障、不平衡故障、不对中故障、多点故障、共振故障

Matlab 复制代码
%===================== Plot time-domain graph ==========================%

plot_time_domain('bearing.mat')
plot_time_domain('gearmesh.mat')
plot_time_domain('imbalance.mat')
plot_time_domain('misalignment.mat')
plot_time_domain('multifault.mat')
plot_time_domain('resonance.mat')


%===================== Plot frequency-domain graph and time domain graph side by side ====================%

 global pos_data;
 pos_data=1;
 figure( 'Name','Figure showing a comparison between time domain and frequency domain graph for various types of Faults ')
 plot_frequency_domain('bearing.mat')
 plot_frequency_domain('gearmesh.mat')
 plot_frequency_domain('imbalance.mat')
 plot_frequency_domain('misalignment.mat')
 plot_frequency_domain('multifault.mat')


知乎学术咨询获取代码:
https://www.zhihu.com/consult/people/792359672131756032?isMe=1
擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。


 plot_frequency_domain('resonance.mat')
  • 擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。
相关推荐
Pluchon11 分钟前
硅基计划2.0 学习总结 壹 Java初阶
java·开发语言·学习·算法
大模型最新论文速读14 分钟前
在Text-to-SQL任务中应用过程奖励模型
数据库·人工智能·sql·深度学习·语言模型·自然语言处理
wowocpp15 分钟前
Java MVC
java·开发语言·mvc
测试者家园17 分钟前
安装Python和配置开发环境
开发语言·软件测试·人工智能·python·职场和发展·零基础·质量效能
筏.k19 分钟前
智能指针入门:深入理解 C++ 的 shared_ptr
开发语言·c++·c#11.0
明明跟你说过28 分钟前
深入理解Embedding Models(嵌入模型):从原理到实战(下)
人工智能·语言模型·embedding
Rverdoser1 小时前
代理服务器运行速度慢是什么原因
开发语言·前端·php
牛马baby1 小时前
Java高频面试之并发编程-16
java·开发语言·面试
满怀10151 小时前
【人工智能核心技术全景解读】从机器学习到深度学习实战
人工智能·python·深度学习·机器学习·tensorflow
Blossom.1181 小时前
探索边缘计算:赋能物联网的未来
开发语言·人工智能·深度学习·opencv·物联网·机器学习·边缘计算