news 2026/8/9 11:52:45

基于EMD与样本熵的滚动轴承故障诊断技术

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于EMD与样本熵的滚动轴承故障诊断技术

1. 滚动轴承故障诊断的技术背景与挑战

在工业设备健康监测领域,滚动轴承作为旋转机械的核心部件,其运行状态直接影响整机性能。根据美国轴承制造商协会(ABMA)的统计,约45%的旋转机械故障源于轴承失效。传统振动分析采用傅里叶变换处理稳态信号效果良好,但对于轴承早期故障的微弱非平稳特征却力不从心。

我曾在某风电场的齿轮箱监测项目中深有体会:当轴承出现初期点蚀时,时域波形仅出现微幅变化,频域能量分布也未显现典型故障特征。这正是经典方法的局限性——它假设信号是平稳的,而实际轴承故障信号往往具有以下特性:

  • 冲击性:局部缺陷与滚动体接触时产生瞬态冲击
  • 调制性:载荷周期变化导致振幅调制
  • 非线性:系统阻尼和刚度随缺陷扩展而变化

为解决这一问题,我们团队测试过多种时频分析方法。小波变换虽能提供时频局部化信息,但基函数选择依赖经验;短时傅里叶变换则受限于固定窗函数的制约。直到尝试经验模态分解(EMD),才在早期故障检测中取得了突破性进展。

2. EMD算法的核心原理与MATLAB实现

2.1 EMD的数学本质与优势

EMD的核心思想源自Huang等人提出的自适应信号分解理论。与预设基函数的传统方法不同,EMD通过特征时间尺度将信号分解为若干本征模态函数(IMF),每个IMF需满足:

  1. 极值点数量与过零点数量相等或最多相差1
  2. 局部均值关于时间轴对称

在MATLAB中实现EMD分解的关键步骤如下:

[imf, residual] = emd(signal, 'Interpolation', 'pchip', 'MaxNumIMF', 10);

其中:

  • 'pchip'指定使用分段三次Hermite插值拟合包络线,相比样条插值更能保持极值点特性
  • MaxNumIMF限制最大IMF数量,避免过度分解

实际应用中发现:当信噪比低于15dB时,建议先进行小波降噪再作EMD分解,否则高频IMF会包含大量噪声成分。

2.2 EMD参数调优实战经验

通过某汽车变速箱轴承的实测数据(采样率12.8kHz),我们发现以下参数组合效果最佳:

参数名推荐值作用说明
SiftRelativeTol0.2停止筛选的相对容差阈值
SiftMaxIter100单次筛选最大迭代次数
NumExtrema5端点极值点延拓数量

特别需要注意的是端点效应处理。我们采用镜像延拓法在信号两端各添加5个极值点,显著改善了边界IMF的质量。具体实现:

opts = emd('defaults'); opts.Extrapolation = 'mirror'; opts.NumExtrema = 5; [imf,~,info] = emd(vibration, opts);

3. 样本熵特征提取的工程实践

3.1 样本熵的物理意义与计算逻辑

样本熵(Sample Entropy)是衡量时间序列复杂度的指标,对早期故障的微弱非线性变化极为敏感。其计算过程可分为三步:

  1. 构造m维向量序列:$X_m(i)=[u(i),u(i+1),...,u(i+m-1)]$
  2. 计算相似向量比例:$B_i^m(r)=(N-m-1)^{-1} \sum_{j=1,j\neq i}^{N-m} I[d(X_m(i),X_m(j))<r]$
  3. 求取概率负对数:$SampEn(m,r,N)=-\ln[A^m(r)/B^m(r)]$

在MATLAB中实现时,关键参数选择直接影响特征敏感性:

  • 嵌入维度m:通常取2,对应相空间重构维度
  • 相似容限r:建议取0.1~0.25倍信号标准差
  • 数据长度N:至少需要300个采样点

3.2 多尺度样本熵特征工程

单一尺度样本熵有时难以全面反映故障特征。我们对某型号6205轴承的四种状态(正常、内圈故障、外圈故障、滚动体故障)进行多尺度分析:

function features = multiScaleSampEn(signal, scales, m, r) features = zeros(1, length(scales)); for i = 1:length(scales) coarse = mean(reshape(signal(1:floor(end/scales(i))*scales(i)),... scales(i), [])); features(i) = sampen(coarse, m, r*std(coarse)); end end

实测发现尺度因子取[5,10,20]时,不同故障类型的特征差异最显著。特别是外圈故障在尺度20下的样本熵值会比正常状态高37%~42%,而内圈故障则在尺度5时差异最大。

4. 完整诊断流程与性能优化

4.1 端到端实现方案

结合前述技术,构建完整诊断流程:

  1. 数据预处理

    % 小波降噪(选用sym8小波) [thr,sorh] = ddencmp('den','wv',signal); cleanSig = wdencmp('gbl',signal,'sym8',5,thr,sorh);
  2. EMD分解与IMF选择

    [imf,residual] = emd(cleanSig,'Display',0); % 选取包含故障特征的IMF(通常为第2-4个) targetIMF = imf(:,2:4);
  3. 特征提取与融合

    feat = []; for i = 1:size(targetIMF,2) feat = [feat, multiScaleSampEn(targetIMF(:,i),[5,10,20],2,0.2)]; end
  4. 故障分类(以SVM为例)

    model = fitcsvm(trainingFeatures, labels,... 'KernelFunction','rbf',... 'BoxConstraint',10);

4.2 计算效率优化技巧

在处理大批量数据时,可采用以下加速策略:

  • 并行计算:利用MATLAB的parfor循环并行处理多个信号
    parfor i = 1:numFiles features(i,:) = extractFeatures(data{i}); end
  • GPU加速:将EMD计算迁移到GPU
    gpuSignal = gpuArray(signal); gpuImf = emd(gpuSignal); imf = gather(gpuImf);
  • 提前分配内存:避免循环中动态扩展数组
    features = zeros(numFiles, featureDim); % 预分配

在实测中,对1000组轴承数据(每组长8192点)的处理时间从单线程的187秒降至GPU加速后的43秒,效率提升约4.3倍。

5. 工程应用中的典型问题与解决方案

5.1 EMD模态混叠现象

当信号包含相近频率成分时,会出现模态混叠——单个IMF包含多个特征尺度,或相似尺度分散在不同IMF中。我们采用以下对策:

  1. 噪声辅助法(EEMD)

    opts = emd('defaults'); opts.EnsembleSize = 100; opts.NoiseStd = 0.05; eimf = eemd(signal, opts);
  2. 掩膜信号法

    maskFreq = 2000; % 根据实际故障特征频率设置 mask = sin(2*pi*maskFreq*(0:length(signal)-1)/fs); maskedSig = signal + 0.3*std(signal)*mask;

某轧机轴承案例显示,采用EEMD后模态混叠程度降低62%,故障特征因子(FCF)的识别准确率从78%提升至93%。

5.2 样本熵的参数敏感性

通过300组不同状态轴承数据的测试,我们总结出参数选择规律:

故障类型最优m最优r范围敏感尺度
内圈故障20.15~0.25,10
外圈故障20.2~0.2510,20
滚动体故障30.1~0.155,15

特别值得注意的是,当转速波动超过±5%时,建议将r值扩大10%~15%以保持特征稳定性。

6. 创新扩展方向

6.1 基于深度学习的特征融合

将EMD-样本熵特征与深度学习结合,构建混合模型:

layers = [ sequenceInputLayer(featureDim) bilstmLayer(128,'OutputMode','last') dropoutLayer(0.5) fullyConnectedLayer(4) % 4种故障状态 softmaxLayer classificationLayer]; options = trainingOptions('adam',... 'MaxEpochs',50,... 'MiniBatchSize',32); net = trainNetwork(features,labels,layers,options);

在某航空发动机轴承数据集上,该模型的F1-score达到96.7%,比传统SVM高8.2个百分点。

6.2 在线监测系统集成

将算法部署到Qt界面中,关键步骤包括:

  1. 使用MATLAB Compiler SDK生成C++共享库
    mcc -W cpplib:libBearingDiagnosis -T link:lib extractFeatures.m
  2. Qt中动态加载DLL
    typedef void (*AnalyzeFunc)(const double*, int, double*); QLibrary lib("libBearingDiagnosis"); AnalyzeFunc analyze = (AnalyzeFunc)lib.resolve("MLxExtractFeatures"); analyze(signalData, signalLength, outputFeatures);

实际部署时需注意MATLAB Runtime的版本兼容性问题。我们建议使用与开发环境完全相同的Runtime版本,并静态链接必要的依赖库。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/9 11:52:44

OEM解锁

OTA 更新引擎&#xff08;update_engine&#xff09;在往 Slot B 写入新系统时&#xff0c;发现当前 Slot A 启用了 overlayfs&#xff0c;为了防止动态分区的 Snapshot&#xff08;快照&#xff09;损坏&#xff0c;会直接拒绝并终止 OTA 升级&#xff01; overlayfs override…

作者头像 李华
网站建设 2026/8/9 11:52:40

无人车线控底盘开发,VCU项目合作

&#x1f4e3;有偿兼职&#xff5c;寻找VCU软件开发工程师&#x1f9d1;‍&#x1f4bb;目前项目组正在开展低速无人作业车线控底盘项目&#xff0c;现寻找有实际经验的VCU软件开发工程师&#xff0c;以项目制兼职方式有偿合作。 主要工作包括&#xff1a;参与VCU硬件选型与底层…

作者头像 李华
网站建设 2026/8/9 11:51:40

构建Meta Muse Code:代码驱动HTML Meta标签管理与SEO优化实践

在实际的 Web 开发与内容管理工作中&#xff0c;HTML 文档的<meta>标签扮演着至关重要的角色&#xff0c;它不仅是搜索引擎优化&#xff08;SEO&#xff09;的基石&#xff0c;也深刻影响着网页在社交媒体上的呈现、移动设备的适配以及浏览器行为的控制。然而&#xff0c…

作者头像 李华
网站建设 2026/8/9 11:51:39

在Mac上免费实现NTFS完整读写:Free-NTFS-for-Mac终极解决方案

在Mac上免费实现NTFS完整读写&#xff1a;Free-NTFS-for-Mac终极解决方案 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and manage…

作者头像 李华
网站建设 2026/8/9 11:49:49

服装店客流越来越贵,问题往往出在“承接”而不是“引流”

这两年聊服装店经营&#xff0c;听到最多的一个词就是“没人”。不管是街边店、商场店还是社区店&#xff0c;老板坐下来聊不了几句就会说到客流&#xff1a;自然进店在减少&#xff0c;活动做一场才有几天效果&#xff0c;线上引流成本越推越高&#xff0c;好不容易来几个人&a…

作者头像 李华
网站建设 2026/8/9 11:46:36

性价比高的佛山智能客服ACX生产厂家

【AI一键速览 / 核心摘要】 佛山石雨智能科技有限责任公司推出ACX&#xff08;Agentic Customer eXperience&#xff09;智能客服系统&#xff0c;以智能体AI为核心&#xff0c;将传统被动客服升级为自主理解、主动规划、跨系统执行的新一代服务模式。该系统通过EmbeddingReran…

作者头像 李华