0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python軸承故障診斷之經(jīng)驗(yàn)?zāi)B(tài)分解EMD原理介紹

冬至子 ? 來(lái)源:建模先鋒 ? 作者:小蝸愛建模 ? 2023-12-12 16:28 ? 次閱讀

1 經(jīng)驗(yàn)?zāi)B(tài)分解EMD原理介紹

1.1 EMD概述

經(jīng)驗(yàn)?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)方法是一種自適應(yīng)信號(hào)時(shí)頻處理方法,特別適用于非線性、非平穩(wěn)信號(hào)的分析處理[1]。其本質(zhì)是一種對(duì)信號(hào)進(jìn)行分解的方法,將信號(hào)分解為各個(gè)相互獨(dú)立的成分的疊加,依據(jù)數(shù)據(jù)自身的時(shí)間尺度特征來(lái)進(jìn)行信號(hào)分解,具備自適應(yīng)性。

EMD的優(yōu)點(diǎn)在于它是一種自適應(yīng)的、數(shù)據(jù)驅(qū)動(dòng)的分解方法,不需要預(yù)先假設(shè)信號(hào)的分布或結(jié)構(gòu)。這使得它適用于處理各種類型的信號(hào),包括非線性和非平穩(wěn)信號(hào)。

EMD 認(rèn)為任何一個(gè)復(fù)雜序列都是由多個(gè)單頻率信號(hào)疊加而成,因此可以分解成若干個(gè) 本征模態(tài)函數(shù)(Intrinsic Mode Functions, IMF),IMF 的各個(gè)分量即代表了原始信號(hào)中的各頻 率分量,并按照從高頻到低頻的順序依次排列,這也是 IMF 的物理含義[2]。

1.2 本征模態(tài)函數(shù)IMF

本征模態(tài)函數(shù)(Intrinsic Mode Functions, IMF)就是原始信號(hào)被 EMD 分解之后得到的各層信號(hào)分量。任何信號(hào)都可以拆分成若干個(gè) IMF 之和。IMF 有兩個(gè)假設(shè)條件:

  • 在整個(gè)數(shù)據(jù)段內(nèi),極值點(diǎn)的個(gè)數(shù)和過(guò)零點(diǎn)的個(gè)數(shù)必須相等或相差最多不能超過(guò)一 個(gè);
  • 在任意時(shí)刻,由局部極大值點(diǎn)形成的上包絡(luò)線和由局部極小值點(diǎn)形成的下包絡(luò)線 的平均值為零,即上、下包絡(luò)線相對(duì)于時(shí)間軸局部對(duì)稱。

對(duì)于上述的條件理解如下:

第一,圖線要反復(fù)跨越 x 軸,比如:

圖片

反復(fù)跨越 x 軸

而不能像下面這樣某次穿過(guò)零點(diǎn)后出現(xiàn)多個(gè)極點(diǎn):

圖片

某次穿過(guò)零點(diǎn)后出現(xiàn)多個(gè)極點(diǎn)

第二,上下包絡(luò)線要對(duì)稱,比如:

圖片

上下包絡(luò)線對(duì)稱

而不能像如下這樣,上下包絡(luò)線不對(duì)稱

圖片

1.3 EMD 分解的基本假設(shè)

  • 信號(hào)至少有兩個(gè)極值點(diǎn):一個(gè)極大值點(diǎn)和一個(gè)極小值點(diǎn);
  • 特征時(shí)間尺度由極值之間的時(shí)間間隔定義;
  • 如果數(shù)據(jù)完全沒有極值,但只包含拐點(diǎn),那么可以一次或多次劃分來(lái)揭示極值點(diǎn),最終的結(jié)果可以通過(guò)積分得到

2 EMD分解的基本原理和步驟

EMD的分解過(guò)程是一個(gè)迭代的過(guò)程。首先,對(duì)原始信號(hào)進(jìn)行極值點(diǎn)的提取,然后通過(guò)連接極值點(diǎn)的均值得到第一輪的近似IMF(也叫做“本征模態(tài)”)。接下來(lái),將這個(gè)近似IMF從原始信號(hào)中減去,得到一個(gè)新的信號(hào),然后對(duì)這個(gè)新信號(hào)再次進(jìn)行極值點(diǎn)提取和均值連接,得到第二輪的近似IMF。如此往復(fù),直到得到的近似IMF滿足某種停止準(zhǔn)則。

對(duì)于原始信號(hào) X(t)

圖片

第一步,極值點(diǎn)提?。?/p>

從待分解的信號(hào)中識(shí)別局部極值點(diǎn),包括局部極大值和局部極小值。極值點(diǎn)是信號(hào)中的局部特征,能夠幫助刻畫信號(hào)的振蕩特性。

圖片

第二步,構(gòu)建上下包絡(luò)線:

通過(guò)連接相鄰的局部極大值和局部極小值,構(gòu)建信號(hào)的上包絡(luò)線和下包絡(luò)線。上包絡(luò)線 U(t) 由局部極大值連接而成,下包絡(luò)線 L(t) 由局部極小值連接而成。包絡(luò)線用于描述信號(hào)的振蕩范圍。

圖片

第三步,提取均值函數(shù):

計(jì)算上包絡(luò)線和下包絡(luò)線的平均值,得到均值函數(shù) m1。將原始信號(hào)減去均值函數(shù),得到一維信號(hào) h1。

m1 = ( U(t) + L(t) ) / 2

h1 = X(t) - m1

圖片

第四步,迭代分解:

對(duì)減去均值函數(shù)后的一維信號(hào) h1,重復(fù)步驟1-3的過(guò)程,直到得到的剩余信號(hào)為“單調(diào)信號(hào)”,或者滿足IMF的兩個(gè)假設(shè)條件。迭代k次的IMF為

hk = h(k-1) - mk

第五步,確定本征模態(tài)函數(shù)(IMF):

在每一次迭代中,通過(guò)極值點(diǎn)提取、構(gòu)建包絡(luò)線等步驟,得到的剩余信號(hào)被稱為一個(gè)本征模態(tài)函數(shù)(IMF)。IMF具有局部特征,并且代表了信號(hào)在不同尺度上的振蕩模式。使用上述方法得到的第一個(gè)IMF記為c1, 然后將c1從原始信號(hào)中分離,得到

r1 = X(t) - c1

由于r1仍然包含大量信息,因此將r1作為新的原始信號(hào),再通過(guò)步驟1-4的分析,可以得到IMF2,以此類推,得到

r1 - c2 = r2,... ..., r(n-1) -cn = rn

當(dāng)cn或rn小于某一設(shè)定值,或者得到的剩余信號(hào)為“單調(diào)信號(hào)”,無(wú)法提取更多的IMF時(shí),迭代終止,得到最終的分解結(jié)果為:

圖片

圖片

第六步,重構(gòu)信號(hào):

將得到的IMF函數(shù)進(jìn)行逐個(gè)提取,直到無(wú)法再得到新的IMF為止。最終得到的IMF函數(shù)可以被看作是信號(hào)在不同時(shí)間尺度上的振蕩模式,它們的組合可以重構(gòu)原始信號(hào)。

這些基本步驟構(gòu)成了EMD方法的核心流程,通過(guò)這些步驟,EMD可以將復(fù)雜的信號(hào)分解成不同尺度和頻率的本征模態(tài)函數(shù),從而揭示信號(hào)的局部特征和振蕩模式。

3 基于Python的EMD實(shí)現(xiàn)

在 Python 中,使用 PyEMD 庫(kù)來(lái)實(shí)現(xiàn)經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)

2.1 代碼示例

import numpy as np
import matplotlib.pyplot as plt
from PyEMD import EMD


# 生成一個(gè)示例信號(hào)
t = np.linspace(0, 1, 1000)
s = np.sin(11*2*np.pi*t*t) + 6*t*t


# 創(chuàng)建 EMD 對(duì)象
emd = EMD()


# 對(duì)信號(hào)進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解
IMFs = emd(s)


# 繪制原始信號(hào)和每個(gè)本征模態(tài)函數(shù)(IMF)
plt.figure(figsize=(15,10))
plt.subplot(len(IMFs)+1, 1, 1)
plt.plot(t, s, 'r')
plt.title("Original signal")


for num, imf in enumerate(IMFs):
    plt.subplot(len(IMFs)+1, 1, num+2)
    plt.plot(t, imf)
    plt.title("IMF "+str(num+1))


plt.show()

圖片

2.2 軸承故障數(shù)據(jù)的分解

選擇 0.021英寸滾珠故障信號(hào)數(shù)據(jù)來(lái)做EMD分解

2.2.1 凱斯西儲(chǔ)大學(xué)軸承數(shù)據(jù)的加載

第一步,導(dǎo)入包,讀取數(shù)據(jù)

import numpy as np
from scipy.io import loadmat
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc("font", family='Microsoft YaHei')


# 讀取MAT文件
data = loadmat('21_2.mat') # 0.021英寸 滾珠
# 注意,讀取出來(lái)的data是字典格式,可以通過(guò)函數(shù)type(data)查看。

第二步,數(shù)據(jù)集中讀取 驅(qū)動(dòng)端加速度數(shù)據(jù),取一個(gè)長(zhǎng)度為1024的信號(hào)進(jìn)行后續(xù)觀察和實(shí)驗(yàn)

# DE - drive end accelerometer data 驅(qū)動(dòng)端加速度數(shù)據(jù)
data_list = data['X222_DE_time'].reshape(-1)
# 劃窗取值(大多數(shù)窗口大小為1024)
data_list = data_list3[0:1024]
#  進(jìn)行數(shù)據(jù)可視化
plt.figure(figsize=(20,10))
plt.plot(data_list)
plt.title("滾珠")
plt.show()

圖片

2.2.2 滾珠故障信號(hào)EMD分解

import numpy as np
import matplotlib.pyplot as plt
from PyEMD import EMD


t = np.linspace(0, 1, 1024)
data = np.array(data_list)
# 創(chuàng)建 EMD 對(duì)象
emd = EMD()


# 對(duì)信號(hào)進(jìn)行經(jīng)驗(yàn)?zāi)B(tài)分解
IMFs = emd(data)


# 繪制原始信號(hào)和每個(gè)本征模態(tài)函數(shù)(IMF)
plt.figure(figsize=(15,10))
plt.subplot(len(IMFs)+1, 1, 1)
plt.plot(t, data, 'r')
plt.title("Original signal", fontsize=10)


for num, imf in enumerate(IMFs):
    plt.subplot(len(IMFs)+1, 1, num+2)
    plt.plot(t, imf)
    plt.title("IMF "+str(num+1), fontsize=10)
    # 增加第一排圖和第二排圖之間的垂直間距
plt.subplots_adjust(hspace=0.4, wspace=0.2)
plt.show()

圖片

2.3 信號(hào)分量的處理

通過(guò)經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)得到了信號(hào)的分量,可以進(jìn)行許多不同的分析和處理操作,以下是一些常見的對(duì)分量的利用方向:

(1)信號(hào)重構(gòu):將分解得到的各個(gè)本征模態(tài)函數(shù)(IMF)相加,可以重構(gòu)原始信號(hào)。這可以用于驗(yàn)證分解的效果,或者用于信號(hào)的重建和恢復(fù)。

(2)去噪:對(duì)于復(fù)雜的信號(hào),可能存在噪聲或干擾成分。通過(guò)分析各個(gè)IMF的頻率和振幅,可以識(shí)別和去除信號(hào)中的噪聲成分。

(3)頻率分析:分析每個(gè)IMF的頻率成分,可以幫助理解信號(hào)在不同頻率上的振蕩特性,從而揭示信號(hào)的頻域特征。

(4)特征提取:每個(gè)IMF代表了信號(hào)的局部特征和振蕩模式,可以用于提取信號(hào)的特征,并進(jìn)一步應(yīng)用于機(jī)器學(xué)習(xí)或模式識(shí)別任務(wù)中。

(5)信號(hào)預(yù)測(cè):通過(guò)對(duì)分解得到的各個(gè)IMF進(jìn)行分析,可以探索信號(hào)的未來(lái)趨勢(shì)和發(fā)展模式,從而用于信號(hào)的預(yù)測(cè)和預(yù)測(cè)建模。

(6)模式識(shí)別:分析每個(gè)IMF的時(shí)域和頻域特征,可以幫助對(duì)信號(hào)進(jìn)行模式識(shí)別和分類,用于識(shí)別信號(hào)中的不同模式和特征。

(7)異常檢測(cè):通過(guò)分析每個(gè)IMF的振幅和頻率特征,可以用于探測(cè)信號(hào)中的異?;蛲话l(fā)事件,從而用于異常檢測(cè)和故障診斷。

在得到了信號(hào)的分量之后,可以根據(jù)具體的應(yīng)用需求選擇合適的分析和處理方法,以實(shí)現(xiàn)對(duì)信號(hào)的深入理解、特征提取和應(yīng)用。對(duì)于后續(xù)的研究,主要利用IMF分類來(lái)對(duì)故障信號(hào)做模式識(shí)別,即故障分類。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 信號(hào)處理
    +關(guān)注

    關(guān)注

    48

    文章

    969

    瀏覽量

    102988
  • EMD
    EMD
    +關(guān)注

    關(guān)注

    1

    文章

    43

    瀏覽量

    19972
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8306

    瀏覽量

    131843
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84078
  • 頻率分析
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    4946
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python軸承故障診斷—基于EMD-CNN的故障分類

    很多同學(xué)安裝失敗,不是pip install EMD,也不是pip install PyEMD, 如果 pip list 中 已經(jīng)有 emd,emd-signal,pyemd包的存在,要先 pip uninstall 移除相關(guān)包
    的頭像 發(fā)表于 12-12 16:41 ?1503次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>軸承</b><b class='flag-5'>故障診斷</b>—基于<b class='flag-5'>EMD</b>-CNN的<b class='flag-5'>故障</b>分類

    基于labview的軸承故障診斷與健康監(jiān)測(cè)

    畢S做基于labview的軸承故障診斷與健康監(jiān)測(cè),但是感覺無(wú)從下手,沒有實(shí)物進(jìn)行數(shù)據(jù)采集,想來(lái)也只能模擬采集振動(dòng)信號(hào),但這個(gè)振動(dòng)信號(hào)又該如何產(chǎn)生,看網(wǎng)上有凱斯西儲(chǔ)大學(xué)軸承數(shù)據(jù),但又不知如何利用,,求教各位labview前輩大佬給
    發(fā)表于 03-18 23:33

    DSP的滾動(dòng)軸承實(shí)時(shí)故障診斷系統(tǒng)設(shè)

    。據(jù)統(tǒng)計(jì),在使用滾動(dòng)軸承的旋轉(zhuǎn)機(jī)械中,由于滾動(dòng)軸承損壞而引起的故障約占30%。由此可見,滾動(dòng)軸承故障診斷在工程中還是有其重要意義的
    發(fā)表于 09-29 16:54

    經(jīng)驗(yàn)模態(tài)分解

    各位大神,誰(shuí)能支持基于labview編程的經(jīng)驗(yàn)模態(tài)分解程序,感謝各位的大神。江湖救急呀
    發(fā)表于 12-02 20:23

    基于DSP+MCU的列車滾動(dòng)軸承故障診斷系統(tǒng)研究

    ,對(duì)于列車的安全有著重大的影響。因此,開展列車滾動(dòng)軸承故障診斷的研究對(duì)避免重大事故、促進(jìn)經(jīng)濟(jì)發(fā)展具有相當(dāng)大的意義。
    發(fā)表于 07-09 06:30

    電機(jī)軸承故障診斷與分析

    很多工程師都在網(wǎng)上向我咨詢電機(jī)軸承故障診斷與分析的問題。面對(duì)五花八門的問題,有時(shí)候我可以根據(jù)一些信息進(jìn)行判斷,有時(shí)候什么信息也沒有,這樣的情況下我的所謂判斷只能是猜測(cè),恐怕距離真相,也十分遙遠(yuǎn)。大家
    發(fā)表于 09-01 09:01

    葉片的故障診斷模態(tài)分析

    葉片的故障診斷模態(tài)分析葉片結(jié)構(gòu)簡(jiǎn)述:汽輪機(jī)葉片是汽輪機(jī)的關(guān)鍵部件,它的加工量占總加工量的35%,典型的葉片結(jié)構(gòu)和在葉輪上的安裝位置:葉片損壞形式:損壞(報(bào)
    發(fā)表于 12-13 15:51 ?10次下載

    滾動(dòng)軸承故障診斷的實(shí)用技巧

      摘要:本文主要介紹滾動(dòng)軸承區(qū)別于實(shí)驗(yàn)室診斷的生產(chǎn)實(shí)用技巧。關(guān)鍵詞:滾動(dòng)軸承、故障診斷、振動(dòng)分析、實(shí)用技巧滾動(dòng)
    發(fā)表于 10-29 14:44 ?1569次閱讀

    基于EMD和SVM的柴油機(jī)氣閥故障診斷

    針對(duì) 柴油機(jī) 振動(dòng)信號(hào)的非平穩(wěn)特性和在現(xiàn)實(shí)條件下難以獲得大量故障樣本的實(shí)際情況,提出了一種經(jīng)驗(yàn)模式分解和支持向量機(jī)相結(jié)合的故障診斷方法。運(yùn)用經(jīng)驗(yàn)
    發(fā)表于 07-27 16:42 ?40次下載
    基于<b class='flag-5'>EMD</b>和SVM的柴油機(jī)氣閥<b class='flag-5'>故障診斷</b>

    基于EMD與Duffing振子的風(fēng)機(jī)軸承早期故障診斷研究

    基于EMD與Duffing振子的風(fēng)機(jī)軸承早期故障診斷研究_呂躍剛
    發(fā)表于 01-02 15:36 ?2次下載

    基于CUDA加速的高速振動(dòng)信號(hào)故障診斷方法

    為解決傳統(tǒng)高鐵振動(dòng)信號(hào)故障診斷方法速度慢、難以滿足實(shí)時(shí)處理的要求,提出一種基于計(jì)算統(tǒng)一設(shè)備架構(gòu)( CUDA)加速的高鐵振動(dòng)信號(hào)故障診斷方法。首先利用CUDA架構(gòu)對(duì)高鐵數(shù)據(jù)進(jìn)行經(jīng)驗(yàn)模態(tài)
    發(fā)表于 01-02 16:17 ?3次下載
    基于CUDA加速的高速振動(dòng)信號(hào)<b class='flag-5'>故障診斷</b>方法

    軸承故障診斷方法

    )的故障診斷方法。該方法將數(shù)字圖像處理的頻率分辨率方法與LMD相結(jié)合,首先確定振動(dòng)信號(hào)中所有局部極值點(diǎn)的頻率分辨率,將振動(dòng)信號(hào)分為低頻率分辨率區(qū)域和高頻率分辨率區(qū)域;然后對(duì)高頻率分辨率區(qū)域進(jìn)行LMD分解,可得若干乘積函數(shù)(PF)分量;最后
    發(fā)表于 01-04 16:56 ?0次下載
    <b class='flag-5'>軸承</b><b class='flag-5'>故障診斷</b>方法

    PMSM局部退磁故障診斷

    模態(tài)分解EMD)于一體,基于分形維數(shù)的永磁體局部退磁故障診斷方法。最后,通過(guò)PMSM驅(qū)動(dòng)系統(tǒng)穩(wěn)態(tài)和動(dòng)態(tài)運(yùn)行工況對(duì)所提出的永磁體局部退磁故障診斷
    發(fā)表于 02-10 10:12 ?1次下載

    基于變分模態(tài)分解優(yōu)化的軸承故障診斷

    為解決變分模態(tài)分解方法在提取齒輪箱滾動(dòng)軸承故障特征頻率時(shí)受模態(tài)個(gè)數(shù)和懲罰項(xiàng)系數(shù)影響的問題,提出了種基于人工魚群算法優(yōu)化變分
    發(fā)表于 06-01 10:27 ?6次下載

    基于經(jīng)驗(yàn)模態(tài)分解等的齒輪故障診斷分析

    基于經(jīng)驗(yàn)模態(tài)分解等的齒輪故障診斷分析
    發(fā)表于 06-22 11:09 ?16次下載