热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

对凯斯西储大学的轴承故障信号进行小波变换特征提取

最近本菜鸟对凯斯西储大学的轴承信号做了时域参数和小波变换,希望能分辨出其轴承出现故障与否和故障类型—外圈故障,内圈故障,滚珠体故障。以下是用matlab2011b处理信号后的结果及遇到的问题。先
最近本菜鸟对凯斯西储大学的轴承信号做了时域参数和小波变换,希望能分辨出其轴承出现故障与否和故障类型—外圈故障,内圈故障,滚珠体故障。以下是用matlab2011b处理信号后的结果及遇到的问题。先贴代码
close all;
clear all;
clc;
%采样频率
fs=12000;
%采样间隔
Ts=1/fs;
%采样点数
N=10000;n=1/N;
%轴承信号
load 97.mat;%故障
xdata=X097_DE_time(1:10000);
% xdata=BF(1:10000);
xdata=(xdata-mean(xdata))/std(xdata,1);
%信号时域波形
figure(1);
plot(1:N,xdata);
xlabel('时间 t/n');
ylabel('电压 V/v');
%使用db10小波进行尺度为5时的分解
[c,l]=wavedec(xdata,5,'db10');
%从小波分解结构[c,l]重构信号xdata
a0=waverec(c,l,'db10');

figure(2);
subplot(3,1,1);
plot(xdata);
title('原始信号')
subplot(3,1,2);
plot(a0);
title('重构信号')
subplot(3,1,3);
plot(xdata-a0);
title('误差信号')
err=max(abs(xdata-a0))

%重构第1~5层高频细节信号
d5=wrcoef('d',c,l,'db10',5);
d4=wrcoef('d',c,l,'db10',4);
d3=wrcoef('d',c,l,'db10',3);
d2=wrcoef('d',c,l,'db10',2);
d1=wrcoef('d',c,l,'db10',1);

%显示高频细节信号
figure(3);
subplot(5,1,1);
plot(d5,'LineWidth',2);
ylabel('d5');
subplot(5,1,2);
plot(d4,'LineWidth',2);
ylabel('d4');
subplot(5,1,3);
plot(d3,'LineWidth',2);
ylabel('d3');
subplot(5,1,4);
plot(d2,'LineWidth',2);
ylabel('d2');
subplot(5,1,5);
plot(d1,'LineWidth',2);
ylabel('d1');
xlabel('时间 t/s');

%第1层高频细节信号的包络谱
y=hilbert(d1);
ydata=abs(y);
y=y-mean(y);
nfft=1024;
p=abs(fft(ydata,nfft));
figure(4);
plot((0:nfft/2-1)/nfft*fs,2*p(1:nfft/2));
xlabel('频率 f/Hz');
ylabel('功率谱 P/W');


以下是分析的细节包络谱:

正常信号

外圈故障164Hz和其倍频

内圈故障还好,105.5Hz和其倍频

 滚珠体的就不对了,故障频率理论分析值是141Hz左右,最令我费解的是35.16Hz是什么?转频应是29.9Hz和其倍频,我这几个图分析的信号都没转频的影子,是我的代码不对还是小波变换还不够给力?请大神指点。


推荐阅读
  • 本文介绍了如何通过扩展 UnityGUI 创建自定义和复合控件,以满足特定的用户界面需求。内容涵盖简单和静态复合控件的实现,并展示了如何创建复杂的 RGB 滑块。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • Unity编辑器插件:NGUI资源引用检测工具
    本文介绍了一款基于NGUI的资源引用检测工具,该工具能够帮助开发者快速查找和管理项目中的资源引用。其功能涵盖Atlas/Sprite、字库、UITexture及组件的引用检测,并提供了替换和修复功能。文末提供源码下载链接。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ... [详细]
  • 本文介绍了如何使用 Python 的 Matplotlib 和 Pandas 库进行数据可视化。通过示例代码展示了折线图、柱状图和水平柱状图的创建方法,并解释了图表参数设置的具体细节。 ... [详细]
  • 利用生成对抗网络生成多标签离散电子健康记录
    本文探讨了通过生成对抗网络(GAN)生成合成电子健康记录(EHR)的方法,旨在解决隐私保护问题并促进医学研究。论文地址为:https://arxiv.org/abs/1703.06490v1。该方法通过生成高维离散变量的综合EHR数据,显著提升了医学研究中的数据可用性和安全性。 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • Kubernetes 持久化存储与数据卷详解
    本文深入探讨 Kubernetes 中持久化存储的使用场景、PV/PVC/StorageClass 的基本操作及其实现原理,旨在帮助读者理解如何高效管理容器化应用的数据持久化需求。 ... [详细]
  • 本文介绍如何利用 Python 中的 NumPy 和 Matplotlib 库,从 NumPy 数组中绘制线图。通过具体的代码示例和详细解释,帮助读者理解并掌握这一技能。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本文介绍如何使用.NET Framework开发一个简单的Windows Forms应用程序,以实现图形在窗口内的动态移动。文章详细描述了代码结构、关键逻辑以及最终的实现效果。 ... [详细]
  • 深入理解K近邻分类算法:机器学习100天系列(26)
    本文详细介绍了K近邻分类算法的理论基础,探讨其工作原理、应用场景以及潜在的局限性。作为机器学习100天系列的一部分,旨在为读者提供全面且深入的理解。 ... [详细]
  • 社交网络中的级联行为 ... [详细]
  • 本文详细介绍了Grand Central Dispatch (GCD) 的核心概念和使用方法,探讨了任务队列、同步与异步执行以及常见的死锁问题。通过具体示例和代码片段,帮助开发者更好地理解和应用GCD进行多线程开发。 ... [详细]
author-avatar
呼和浩特-时尚范儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有