【轴承故障检测】滚动轴承中进行基于振动的故障诊断研究(Matlab代码实现)

news2024/11/14 14:59:08

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

滚动轴承故障检测方法一般包括温度分析、油液分析以及振动信号检测等,通过不同的传感器的信号表现形式可以从不同角度分析轴承故障,通过多种方法的结合运用可以更加准确地判断轴承
故障。

本文可用于在匀速运行的滚动轴承中进行基于振动的故障诊断。
这是一个三步程序:(i)倒谱预白化:
减少其他周期性来源(如齿轮)的贡献。
(ii) 带通滤波:提高信噪比,特别是当对系统共振执行时 (iii) 平方包络频谱:允许检测
(伪)循环稳态贡献,其特征是在特定循环频率下具有大分量
此功能与一个简单的演示一起提供,并且与倍频程完全兼容。

📚2 运行结果

 

 部分代码:

function [xSES,alpha,th] = SES(x,fs,bpf,plotFlag,p,cpswFlag)
%% Estimation of the Squared Envelope Spectrum
%     this function can be used for detecting bearing faults under constant
%     working speed
%
% INPUTS
%    x = input signal
%    fs = sampling frequency
%    bpf = band-pass filter frequencies, use a vector as [f lower, f higher]
%       put and empty vector if band-pass filtering is not needed
%        bearing fault detection can be improved if performed in a frequency band
%        wher the SNR is high (typically about a system resonance)
%    plotFlag = display the SES, 0 -> no (default), 1 -> yes 
%    p = threshold significance level, default p = .999 (99.9%)
%    cpswFlag = cesptrum pre-whitening, 0 -> no (default), 1 -> yes 
%        bearing fault detection is affected by periodic contribution due to
%        external sources such as gears. This effect can be reduced by whitening
%        the signal before SES
%
% OUTPUTS
%    SES = squared envelope spectrum
%    alpha = cyclic frequencies
%    th = threshold
%
% REF: Borghesani P. et al, Application of cepstrum pre-whitening for the diagnosis of bearing
%    faults under variable speed conditions, MSSP, 2013.
%
% M. Buzzoni
% May 2019

if nargin < 4
  plotFlag = 0;
  p = .999;
  cpswFlag = 0;
end
if nargin < 5
  p = .999;
  cpswFlag = 0;
end
if nargin < 6
  cpswFlag = 0;
end

L = length(x);
k = (0:L-1);

% cepstrum pre-whitening
if cpswFlag == 1;
  x = real(ifft(fft(x) ./ abs(fft(x))));
end

% band-pass filtering and ses estimation
if isempty(bpf)
  l = 1
  h = floor(L/2)+1;
  wfilt = zeros(size(x)); wfilt(l:h) = 1;
  xf = ifft(2 .* fft(x) .* wfilt); % filtered analytic signal  
else
  l = floor(bpf(1)*L/fs); % lower freq. index
  h = floor(bpf(2)*L/fs); % higher freq. index
  wfilt = zeros(size(x)); wfilt(l:h) = 1;
  xf = ifft(2 .* fft(x) .* wfilt); % filtered analytic signal
end
ENV = abs(xf).^2; % squared envelope
xSES = abs(1/L .* fft( ENV )) .^ 2; % squared envelope spectrum

% threshold
S0 = (h - l - k) ./ (2 * (h - l)^2 ) .* (mean(abs(xf).^2)).^2;
th = chi2inv(p,2) .* S0;

% keep only meaningful cyclic frequencies
alpha = k .* fs ./ L; % cyclic frequencies vector
alpha = alpha(1:h - l);
xSES = xSES(1:h - l); xSES(1) = 0; % put to zero the DC-term of SES in order to 
th = th(1:h - l);                  % improve its visualization 
if plotFlag == 1
% display results
  tt = k ./ fs; % time vector
  figure
  subplot(211)
  plot(tt,ENV,'k')
  title('squared envelope')
  xlabel('time (s)')
  box off
  subplot(212)
  plot(alpha,xSES,'k')
  title('squared envelope spectrum')
  hold on, plot(alpha,th,'r')
  legend('SES',[num2str(p .* 100) '% threhsold'  ])
  xlabel('cyclic frequency (Hz)')
  box off
end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]刁宁昆. 滚动轴承故障检测的无监督学习方法研究[D].石家庄铁道大学,2022.DOI:10.27334/d.cnki.gstdy.2022.000368.

[2]Borghesani P. et al, Application of cepstrum pre-whitening for the diagnosis of bearing faults under variable speed conditions, MSSP, 2013.

🌈4 Matlab代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

110.【十万字带你深入学习23种设计模式】

Java 23种设计模式 (一)、设计模式相关内容介绍1.软件设计模式概述(1).软件设计模式的产生背景(2).软件设计模式的概念(3).学习设计模式的重要性(4).设计模式分类 2.UML图(1).类图概述(2).类图的作用(3).类图表示法 3.软件设计原则(1).开闭原则 (重写不修改)(2).里氏代换原则 (…

Node内置模块 【https模块】

文章目录 &#x1f31f;前言&#x1f31f;https模块&#x1f31f;https原理&#x1f31f;SSL&#x1f31f;使用https&#x1f31f;搭建HTTPS服务器&#x1f31f;写在最后 &#x1f31f;前言 哈喽小伙伴们&#xff0c;新的专栏 Node 已开启&#xff1b;这个专栏里边会收录一些N…

不得不说的结构型模式-组合模式

组合模式是一种结构型设计模式&#xff0c;它允许您将对象组合成树形结构&#xff0c;并以统一的方式处理它们。该模式基于递归组合的想法&#xff0c;其中一个组件可以由许多更小的组件组成&#xff0c;这些更小的组件可以由更小的组件组成&#xff0c;以此类推。 在组合模式中…

Latex安装与简介

文章目录 Latex一.步入Latex的两种方式:1.下载安装与Vscode集成2.在线的编辑器: overleaf 二.解决中文输入的问题三.简单介绍 Latex 一.步入Latex的两种方式: 1.下载安装与Vscode集成 texlive下载与安装参考: https://blog.csdn.net/weixin_47581344/article/details/1243560…

Midjourney 提示词工具(10 个国内外最好最推荐的)

Midjourney&#xff0c;是一个革命性的基于人工智能的艺术生成器&#xff0c;可以从被称为提示的简单文本描述中生成令人惊叹的图像。Midjourney已经迅速成为艺术家、设计师和营销人员的首选工具&#xff08;包括像我这样根本不会设计任何东西的无能之辈&#xff09;。 为了帮…

前端优化的分析

前端优化的分析 目录概述需求&#xff1a; 设计思路实现思路分析渲染层性能更好的API 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,cha…

强化学习技巧

此软件包处于维护模式&#xff0c;请使用Stable-Baselines3 (SB3)获取最新版本。您可以在 SB3 文档中找到迁移指南。 本节的目的是帮助您进行强化学习实验。它涵盖了有关 RL 的一般建议&#xff08;从哪里开始、选择哪种算法、如何评估算法等&#xff09;&#xff0c;以及使用自…

嵌入式QT (Qt 信号与槽)

一、Qt 信号与槽机制 因为有了信号与槽的编程机制&#xff0c;在 Qt 中处理界面各个组件的交互操作时变得更加直观和简单。 信号&#xff08;Signal&#xff09;就是在特定情况下被发射的事件。 GUI 程序设计的主要内容就是对界面上各组件的信号的响应&#xff0c;只需要知道…

MySQL_第05章_排序与分页

第05章_排序与分页 讲师&#xff1a;尚硅谷 - 宋红康&#xff08;江湖人称&#xff1a;康师傅&#xff09; 官网&#xff1a; http://www.atguigu.com 1. 排序数据 1.1 排序规则 使用 ORDER BY 子句排序 ASC&#xff08;ascend&#xff09;: 升序 DESC&#xff08;desc…

物流管理APP软件开发公司 让货运变得更简单

随着互联网技术的发展&#xff0c;人们的生活方式也发生了很大的变化&#xff0c;移动互联网如今已经深入到生活的方方面面&#xff0c;就连物流运输行业也开始涌现出各种货运物流管理APP软件&#xff0c;让整个物流管理过程更加简单。下面我们一起来看一下为什么越来越多的运输…

数据库实验 | 第4关:修改多个数据表的存储过程

任务描述 本关任务&#xff1a; 图书管理数据库有读者reader图书book借阅数据表 读者表reader有读者证号dzzh、姓名xm、性别xb、身份sf、电话号码dhhm字段 图书表book有条形码txm、书名sm、分类号flh,作者zz,出版社cbs,出版日期cbrq,售价sj,典藏类别dclb,在库zk,币种bz字段 …

【DEBUG】错误手册集

文章目录 1.sshd启动报错,无法绑定端口2.克隆后的虚拟机可以联网&#xff0c;但是Xshell连接失败的解决办法 1.sshd启动报错,无法绑定端口 (1) 首先排查是否有端口占用&#xff08;没有发现问题&#xff09; netstat -ano | grep sshd(2) 查看 message 日志存在如下错误信息&…

MySQL数据库,联合查询

目录 1. 联合查询 1.1 内查询 1.2 外查询 1.3 自连接 1.4 子查询 1.5 合并查询 1. 联合查询 联合查询&#xff0c;简单的来讲就是多个表联合起来进行查询。这样的查询在我们实际的开发中会用到很多&#xff0c;因此会用笛卡尔积的概念。 啥是笛卡尔积&#xff1f;两张表…

深度学习 -- 张量操作与线性回归 张量的数学运算以及用张量构建线性回归模型

前言 这篇博客继承前篇博客的内容&#xff0c;将对张量的操作进行阐述&#xff0c;同时在理解张量的一些数学的基础上&#xff0c;配合机器学习的理论&#xff0c;在pytorch环境中进行一元线性回归模型的构建。 张量的拼接与切分 torch.cat() 功能&#xff1a;将张量按维度d…

Node.js四:包管理工具

1.介绍 2.npm安装 3.npm基本使用 属性翻译 4.搜索下载安装包 npm搜索网站&#xff1a; npm 5.生产环境与开发环境 开发环境 是程序员 专门用来写代码 的环境&#xff0c;一般是指程序员的电脑&#xff0c;开发环境的项目一般 只能程序员自己访问 生产环境 是项目 代码正式运行 …

海光信息业绩高歌猛进,但其作为国产CPU龙头的“地基”并不牢固

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 在“芯片寒冬”的大背景下&#xff0c;2022年全球头部芯片半导体公司纷纷下调业绩预期&#xff0c;英特尔、英伟达、美光等无一幸免。但是随着AIGC异军突起&#xff0c;仿佛寒冬中的一股暖流&#xff0c;催生着半导体市场行…

第四章 面向对象(OOP)

目录 一、编程思想 1.1. 面向对象 1.2. 面向过程 1.3.举例说明&#xff08;把大象装进冰箱&#xff09; 1.4.二者的联系与区别 1.5.面向对象的三个阶段 1.6.什么是类&#xff0c;什么是实例&#xff0c;二者的联系 二、面向对象三大特征 2.1 封装 2.2 继承 2.3 多态…

go-zero入门

文章目录 简介框架设计环境准备go安装Go Module设置goctl安装安装(mac\&linux)安装(windows) protoc & protoc-gen-go安装 goctl 各层代码生成一览goctl 生成REST和RPC微服务生成数据模型层Model生成API服务目录结构开发者需要做的修改配置文件修改上下文依赖修改业务逻…

CMake基本使用

重要指令 cmake_minimum_required:指定CMake最小版本要求 project&#xff1a;定义工程名称&#xff0c;并可指定语言 set&#xff1a;显示的定义变量 include_directories&#xff1a;向工程添加多个特定头文件搜素路径 link_directories&#xff1a;向工程添加多个特定库文件…

Spring lettuce读写分离

Redis 的 Sentinel 模式默认配置下 Redis 的客户端只对 Master 读写&#xff0c;另外2个Slave闲置。若主从节点在不同机房&#xff0c;在读取时会有跨机房的网络时延&#xff0c;并且比同机房访问更容易发生网络丢包。故在一些场景可以考虑将跨机房的服务节点设置为读写分离 Re…