基于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等。
相关推荐
布朗克1681 小时前
Java 10 新特性及具体应用
java·开发语言·新特性·java10
说私域3 小时前
基于开源AI智能客服、AI智能名片与S2B2C商城小程序的微商服务优化及复购转介绍提升策略研究
人工智能·小程序
CHEN5_024 小时前
【Java虚拟机】垃圾回收机制
java·开发语言·jvm
HalvmånEver4 小时前
在 C++ :x86(32 位)和 x64(64 位)的不同
开发语言·c++·学习
之歆5 小时前
Al大模型-本地私有化部署大模型-大模型微调
人工智能·pytorch·ai作画
amy_jork6 小时前
npm删除包
开发语言·javascript·ecmascript
legendary_bruce7 小时前
【22-决策树】
算法·决策树·机器学习
浪成电火花7 小时前
(deepseek!)deepspeed中C++关联部分
开发语言·c++
茉莉玫瑰花茶7 小时前
Qt 常用控件 - 9
开发语言·qt
paid槮7 小时前
机器学习总结
人工智能·深度学习·机器学习