最新のリリースでは,このページがまだ翻訳されていません。このこのの最新版版は英语でご覧になれます。

EMD

経験的モード分解

说明

[国际货币基金组织剩余的] = EMD(Xは,Xの経験的モード分解に対応する固有モード关数国际货币基金组织と残差信号剩余的を返します。EMDを使用して,复雑な信号をヒルベルトスペクトル解析に必要な有限数の固有モード关数に分解して単纯化します。

[国际货币基金组织剩余的信息] = EMD(Xは,诊断の目的のためにIMFの追加情报信息と残差信号を返します。

[___] = EMD(___名称,价值では,1つ以上の名称,价值のペア引数で指定された追加オプションを使用して,emdを推定します。

EMD(___图内では,同じで元の信号,国际货币基金组织(IMF),残差信号をサブプロットとしてプロットします。

すべて折りたたむ

周波数にはっきりした変化が含まれる正弦波で構成される非定常連続信号を読み込み,可視化します。ジャックハンマーの振動と花火の音は,非定常連続信号の例です。信号はFS.のレートでサンプリングされています。

加载('sinusoidalSignalExampleData.mat''X'“fs”)T =(0:长度(X)-1)/ FS;情节(T,X)xlabel(“时间(s)”

混合信号には异なる振幅と周波数値をもつ正弦波が含まれます。

ヒルベルトスペクトルプロットを作成するには,信号の固有モード关数(IMF)が必要です。経験的モード分解を実行して,IMFと信号の残差を计算します。信号が滑らかではないため”pchip“を内挿法として指定します。

[国际货币基金组织、残余信息]= emd (X,“插值”'pchip');
当前IMF |#Sift Iter项目|相对托尔|停止准则命中1 |2 |0.026352 |SiftMaxRelativeTolerance 2 |2 |0.0039573 |SiftMaxRelativeTolerance 3 | 1 | 0.024838 | SiftMaxRelativeTolerance 4 | 2 | 0.05929 | SiftMaxRelativeTolerance 5 | 2 | 0.11317 | SiftMaxRelativeTolerance 6 | 2 | 0.12599 | SiftMaxRelativeTolerance 7 | 2 | 0.13802 | SiftMaxRelativeTolerance 8 | 3 | 0.15937 | SiftMaxRelativeTolerance 9 | 2 | 0.15923 | SiftMaxRelativeTolerance The decomposition stopped because the number of extrema of the residual signal is less than 'MaxNumExtrema'.

コマンドウィンドウ内に生成されたテーブルは,生成された各IMFのシフト反复の数,相対许容误差,およびシフト停止基准を示します。この情报は信息にも含まれます。名前と値のペア'显示',0を追加してテーブルを非表示にできます。

経験的モード分解を使用して取得した国际货币基金组织成分を使用してヒルベルトスペクトルプロットを作成します。

HHT(IMF,FS)

周波数対时间のプロットは,IMFの各点における瞬间エネルギーを示す垂直方向のカラーバーがあるスパースプロットです。このプロットは,元の混合信号から分解された各成分の瞬时周波数スペクトルを表します。プロットには1秒での周波数に明了な変化がある3つのIMFが表示されます。

この三角恒等式は,同じ物理量信号の2つの异なるビューを示します。

5. 2 COS. 2 π F 1 T. + 1 4. COS. 2 π F 1 + F 2 T. + COS. 2 π F 1 - F 2 T. = 2 + COS. 2 π F 2 T. COS. 2 π F 1 T.

2つの正弦波S.およびZ.を生成します。S.は3つの正弦波の和で,Z.は変调された振幅を持つ単一の正弦波です。これらの差の无限大ノルムを计算して,2つの信号が等しいことを确认します。

t = 0:1e-3:10;ω= 2 *π* 100;₂= 2 *π* 20;s = 0.25 * cos ((omega1-omega2) * t) + 2.5 * cos(ω* t) + 0.25 * cos((ω+₂)* t);z = (2 + cos (omega2/2 * t) ^ 2)。* cos(ω* t);规范(s-z正)
ANS = 3.2729e-13

正弦波をプロットし,2秒目から始まる1秒区间を选択します。

情节(T,[S'Z'])XLIM([2 3])xlabel('时间'')ylabel('信号'

信号のスペクトログラムを取得します。スペクトログラムは,3つの異なる正弦波成分を示しています。フーリエ解析では,信号を正弦波の重ね合わせと見なします。

pspectrum(S,1000,'谱图'“TimeResolution”4)

EMDを使用して,信号の固有モード关数(IMF)と追加の诊断情报を计算します。既定では,この关数は各IMFのシフティング反复の数,相対许容误差,およびシフティング停止基准を示すテーブルを出力します。経験的モード分解では,信号をZ.と见なします。

(国际货币基金组织(imf), ~,信息)= emd (s);
当前IMF |#Sift Iter项目|相对托尔|停止准则命中1 |1 |1.8025e-06 |SiftMaxRelativeTolerance停止,因为目前的能源比例比“MaxEnergyRatio”更大的分解。

ゼロクロッシングと局所的极値の数は,最大で1だけ异なります。これは,信号がIMFであるために必要な条件を満たしています。

info.NumZerocrossing  -  info.NumExtrema
ans = 1

IMFをプロットし,2秒目から始まる0.5秒区间を选択します。EMDは信号を振幅変调された信号として表示するため,IMFはAM信号です。

情节(T,IMF)XLIM([2 2.5])xlabel('时间'')ylabel('国际货币基金组织'

破损したベアリングの振动信号をシミュレートします。経験的モード分解を実行して,信号のIMFを可视化し,欠陥を调查します。

ピッチの直径が12厘米のベアリングは8つの回転要素を持ちます。各回転要素の直径は2厘米です。内轮が1秒あたり25回駆动される间,外轮は静止状态を保ちます。加速度计はベアリングの振动を10千赫でサンプリングします。

FS = 10000;F0 = 25;N = 8;d = 0.02;P = 0.12;

正常なベアリングの振动信号には,駆动点周波数の次数が复数含まれます。

t = 0时:1 / FS:10-1 / FS;yHealthy = [1 0.5 0.2 0.1 0.05] * SIN(2 * PI * F 0 * [1 2 3 4 5]” * T)/ 5;

共振は,测定プロセス中にベアリングの振动で励起されます。

yHealthy = (1 + 1. / (1 + linspace(-10、10、长度(yHealthy)) ^ 4)) * yHealthy;

共振によりベアリングの外轮に欠陥が生じることで,摩耗が进行します。欠陥があると,ベアリングの外轮転动体通过周波数(BPFO)で缲り返される一连の影响を引き起こします。

B. P. F O. = 1 2 N F 0. [ 1 - D. P. COS. θ ]

ここで, F 0. は駆动レート, N は回転要素の数, D. は回転要素の直径, P. はベアリングのピッチの直径, θ はベアリングの接触角です。接触角は15°と仮定してBPFOを计算します。

CA = 15;BPFO = N * F0 / 2 *(1-d / P * COSD(CA));

关数pulstranを使用して,影响を5ミリ秒の正弦波の周期列としてモデル化します0.3千赫の各正弦波に,フラットトップウィンドウによってウィンドウが适用されます。べき乘则を使用して,ベアリング振动信号に进行する摩耗を导入します。

fImpact = 3000;tImpact = 0:1 / FS:5E-3-1 / FS;wImpact = flattopwin(长度(tImpact))'/ 10;。xImpact = SIN(2 * PI * fImpact * tImpact)* wImpact;TX = 0:1 / BPFO:T(端);TX = [TX;1.3 ^ TX-2]。nWear = 49000;NSAMPLES = 100000;yImpact = pulstran(吨,TX”,xImpact,FS)/ 5; yImpact = [zeros(1,nWear) yImpact(1,(nWear+1):nSamples)];

正常な信号に影响を追加してBPFO振动信号を生成します。信号をプロットし,5.0秒目から始まる0.3秒区间を选択します。

ybfo = yImpact + yHealthy;xLimLeft = 5.0;xLimRight = 5.3;yMin = -0.6;yMax = 0.6;yBPFO情节(t)[limLeft,limRight] = meshgrid([xLimLeft xLimRight],[yMin yMax]);情节(limLeft limRight,' - ') 抓住离开

选択した区间にズームインして,影响の效果を可视化します。

XLIM([xLimLeft xLimRight])

ホワイトガウスノイズを信号に付加します。 1 / 1 5. 0. 2 のノイズ分散を指定します。

RN = 150;yGood = yHealthy + randn(大小(yHealthy))/ RN;yBad = yBPFO + randn(大小(yHealthy))/ RN;情节(T,yGood,T,yBad)XLIM([xLimLeft xLimRight])图例(“健康”'损坏的'

EMDを使用して,正常なベアリング信号の経験的モード分解を実行します。最初の5つの固有モード关数(IMF)を计算します。既定では,この关数は各IMFのシフティング反复の数,相対许容误差,およびシフティング停止基准を示すテーブルを出力します。

imfGood = EMD(yGood,'MaxNumIMF',5);
当前IMF |#Sift Iter项目|相对托尔|停止准则命中1 |3 |0.017132 |SiftMaxRelativeTolerance 2 |3 |0.12694 |SiftMaxRelativeTolerance 3 | 6 | 0.14582 | SiftMaxRelativeTolerance 4 | 1 | 0.011082 | SiftMaxRelativeTolerance 5 | 2 | 0.03463 | SiftMaxRelativeTolerance The decomposition stopped because 'MaxNumIMF' was reached.

EMDを出力引数なしで使用し,最初の3つのモードと残差を可視化します。“显示”0.に设定して,テーブルを非表示にします。

EMD(yGood,'MaxNumIMF'5,“显示”,0)

欠陥のあるベアリング信号のIMFを计算および可视化します。最初の経験的モードでは,高周波数に影响が见られます。この高周波数モードでは,摩耗が进行するにつれてエネルギーが増加します0.3番目のモードは,振动信号の共振を示します。

imfBad = EMD(yBad,'MaxNumIMF',5);
当前IMF |#Sift Iter项目|相对托尔|停止准则命中1 |2 |0.041274 |SiftMaxRelativeTolerance 2 |3 |0.16695 |SiftMaxRelativeTolerance 3 | 3 | 0.18428 | SiftMaxRelativeTolerance 4 | 1 | 0.037177 | SiftMaxRelativeTolerance 5 | 2 | 0.095861 | SiftMaxRelativeTolerance The decomposition stopped because 'MaxNumIMF' was reached.
emd (yBad'MaxNumIMF'5,“显示”,0)

解析の次の手顺は,抽出されたIMFのヒルベルトスペクトルを计算することです。详细については,振动信号のヒルベルトスペクトルの计算の例を参照してください。

周波数にはっきりした変化が含まれる正弦波で構成される非定常連続信号を読み込み,可視化します。ジャックハンマーの振動と花火の音は,非定常連続信号の例です。信号はFS.のレートでサンプリングされています。

加载('sinusoidalSignalExampleData.mat''X'“fs”)T =(0:长度(X)-1)/ FS;情节(T,X)xlabel(“时间(s)”

混合信号には异なる振幅と周波数値をもつ正弦波が含まれます。

経験的モード分解を実行して,固有モード关数と信号の残差をプロットします。信号が滑らかではないため”pchip“を内挿法として指定します。

EMD(X,“插值”'pchip'
当前IMF |#Sift Iter项目|相对托尔|停止准则命中1 |2 |0.026352 |SiftMaxRelativeTolerance 2 |2 |0.0039573 |SiftMaxRelativeTolerance 3 | 1 | 0.024838 | SiftMaxRelativeTolerance 4 | 2 | 0.05929 | SiftMaxRelativeTolerance 5 | 2 | 0.11317 | SiftMaxRelativeTolerance 6 | 2 | 0.12599 | SiftMaxRelativeTolerance 7 | 2 | 0.13802 | SiftMaxRelativeTolerance 8 | 3 | 0.15937 | SiftMaxRelativeTolerance 9 | 2 | 0.15923 | SiftMaxRelativeTolerance The decomposition stopped because the number of extrema of the residual signal is less than 'MaxNumExtrema'.

元の信号,最初の3つのIMF,残差信号を含む対话型プロットが生成されます。コマンドウィンドウ内に生成されたテーブルは,生成された各IMFのシフト反复の数,相対许容误差,およびシフト停止基准を示します。展示0.と指定することによってテーブルを非表示にできます。

プロット内の空白を右クリックし,(国际货币基金组织(IMF)セレクター]ウィンドウを開きます。(国际货币基金组织(IMF)セレクター]を使用して,生成されたIMF,元の信号,および残差を选択的に表示します。

リストから表示するIMFを选択します。プロットに元の信号と残差を表示するかどうかを选択します。

これで选択したIMFがプロットに表示されます。

プロットを使用して,残差と共に元の信号から分解された个々の成分を可视化します。残差はIMFの総数に対して计算され,(国际货币基金组织(IMF)セレクター]ウィンドウで選択されたIMFによって変化はしないことに注意してください。

入力数

すべて折りたたむ

一様にサンプリングされた時間領域。ベクトルまたは単一データ列时间表として指定します。

名前と値のペアの引数

オプションの引数名称,价值のコンマ区切りペアを指定します。姓名は引数名で,价值は対応する値です。姓名は引用符で囲まなければなりません。Name1, Value1,…,的家のように,复数の名前と値のペアの引数を,任意の顺番で指定できます。

例:'MaxNumIMF',5

コーシー型收束基准“。SiftRelativeTolerance“と正のスカラーで构成されるコンマ区切りのペアとして指定します。SiftRelativeToleranceはシフティング停止基准の1つです。つまり,现在の相対许容误差がSiftRelativeTolerance未満の场合にシフティングが停止します。

シフティング反复の最大数“。SiftMaxIterations“と正のスカラー整数で构成されるコンマ区切りのペアとして指定します。SiftMaxIterationsはシフティング停止基准の1つです。つまり,现在の反复数がSiftMaxIterationsより大きい场合にシフティングが停止します。

SiftMaxIterationsは0または正の整数のみを使用して指定できます。

抽出されたIMFの最大的数。MaxNumIMF“と正のスカラー整数で构成されるコンマ区切りのペアとして指定します。MaxNumIMFは分解停止基准の1つです。つまり,生成されたIMFの数がMaxNumIMFに等しい场合に分解が停止します。

MaxNumIMFは0または正の整数のみを使用して指定できます。

残差信号の极値の最大数“。MaxNumExtrema“と正のスカラー整数で构成されるコンマ区切りのペアとして指定します。MaxNumExtremaは分解停止基准の1つです。つまり,极値の数がMaxNumExtrema未満の場合に分解が停止します。

MaxNumExtremaは0または正の整数のみを使用して指定できます。

信号対残差エネルギー比。”MaxEnergyRatio“とスカラーで构成されるコンマ区切りのペアとして指定します。MaxEnergyRatioはシフティングの开始における信号のエネルギーと平均包络线エネルギーとの比です。MaxEnergyRatioは分解停止基準の1つです。つまり,現在のエネルギー比がMaxEnergyRatioより大きい场合に分解が停止します。

包絡線構築のための内挿法”。插值“と样条的または'pchip'のいずれかで构成されるコンマ区切りのペアとして指定します。

以下のように插值を指定します。

  • Xが滑らかな信号の场合は,样条的

  • Xが滑らかでない信号の场合は,'pchip'

'花键“内挿法は3次スプラインを使用します。一方で'pchip'は区分的3次エルミート内插多项式法を使用します。

コマンドウィンドウの情报表示の切り替えです“。展示'と1または0で構成されるコンマ区切りのペアで指定します。コマンドウィンドウ内に生成されたテーブルは,生成された各IMFのシフト反復の数,相対許容誤差,およびシフト停止基準を示します。テーブルを表示するには展示に1を,非表示にするには0を指定します。

出力引数

すべて折りたたむ

固有モード关数。行列または时间表として返されます。国际货币基金组织は,包络线がゼロに关して対称で,极値とゼロクロッシングの数の违いが多くても1つの关数です。国际货币基金组织を使用してヒルベルト·ファン変换を适用し信号のスペクトル解析を実行します。

国际货币基金组织は以下として返されます。

  • Xがベクトルの場合,各列が国际货币基金组织の行列

  • Xが単一データ列の时间表の場合,时间表

信号の残差。列ベクトルまたは単一データ列の时间表として返されます。剩余的EMDによって分解されていない元の信号Xの部分を表します。

剩余的は以下として返されます。

  • Xがベクトルの场合,列ベクトル

  • Xが単一データ列の时间表の場合,単一データ列の时间表

诊断の详细。以下のフィールドを含む构造体として返します。

  • NumIMF- 信号から抽出されたIMFの数

  • NumExtrema- 各IMFにおける极値の数

  • NumZeroCrossing- 各IMFのゼロクロッシングの数

  • NumSifting- 各IMFの実行されたシフティングの数

  • MeanEnvelopeEnergy- 各IMF计算において取得された上侧および下侧の包络线の平均のエネルギー

  • RelativeTolerance- 各IMFの得られた相対许容误差

アルゴリズム

经验模态分解

EMDは,シフティングプロセスを使用して,信号X(t)的K.の数の固有モード关数(IMF)と残差R.K.(t)に分解します。[1][2]にリストされているシフティングプロセスの简単な概要は以下のとおりです。

  1. 信号X(t)的の局所的最大値と局所的最小値を検索して上側包絡線S.+(t)と,下侧包络线S.-(t)を構築します。

  2. 一世番目の反复の平均包络线,m凯西,我(t)を计算します。

    m K. 一世 T. = 1 2 [ S. + T. + S. - T. ]

  3. 最初の反复についてはCK.(吨)= X(t)的を使用して,残差信号から平均包絡線を引きます。

    C K. T. = C K. T. - m K. 一世 T.

    CK.(t)がIMFの基准に一致しない场合は,手顺4および5がスキップされます。この手顺をCK.(t)の新しい値で手顺1において再度缲り返します。

  4. CK.(t)がIMFの基准に一致する场合,新しい残差が计算されます。残差信号を更新するには,K.番目のIMFを前の残差信号から减算します。

    R. K. T. = R. K. - 1 T. - C K. T.

  5. 次に新しい信号R.K.(t)として取得した残差を使用して手顺1から开始し,CK.(t)を固有モード关数として保存します。

固有モード关数N.の场合,元の信号は次のように表されます。

X T. = σ. 一世 = 1 N. 国际货币基金组织 一世 T. + R. N. T.

シフティングプロセスの详细は,[1]および[2]を参照してください。

SiftRelativeTolerance

SiftRelativeTolerance[4]で提案されているコーシー型の停止基準です。現在の相対許容誤差がSiftRelativeTolerance未満の场合にシフティングが停止します。现在の相対许容误差は,以下のように定义されます。

相对宽容 R. 上一个 T. - R. cur T. 2 2 R. 上一个 T. 2 2

コーシー基准がゼロクロッシングと局所的极値の数を直接カウントしないため,分解によって返されたIMFは固有モード关数の厳しい定义を満たさない可能性があります。この场合,既定値からSiftRelativeToleranceの値を减らすことを试すことができます。停止条件の详细は,[4]を参照してください。参照では、経験的モード分解で厳密に定義された IMF を求める利点と欠点についても説明します。

MaxEnergyRatio

エネルギー比は,シフティングの开始における信号のエネルギーと平均包络线エネルギーの比です[3]。現在のエネルギー比がMaxEnergyRatioより大きい场合に分解が停止します。K.IMFでは,EnergyRatio

能量比 10. 日志 10. X T. 2 R. 一世 T. 2

と定义されます。

参照

[1]黄,诺登E.,政审,史蒂芬R.龙,曼丽C.吴幸H.西施,郑Quanan,乃铨日元,志巢东理,和亨利H.刘。“该EMD和非线性和非平稳时间序列分析希尔伯特谱”。伦敦皇家学会的诉讼程序。A系列:数学,物理和工程科学。卷。454,1998年,第903-995。

[2] Rilling, G., Patrick Flandrin和Paulo Gonçalves。"关于经验模态分解及其算法"IEEE-EURASIP非线性信号和图像处理研讨会2003。NSIP-03。第8 - 11级,意大利。。

[3]拉托,R.T.,曼努埃尔奥尔蒂盖拉,和阿纳尔巴蒂斯塔。“在HHT,其存在的问题,以及一些解决方案。”金宝搏官方网站机械系统和信号处理卷。22,2008年,第1374至1394年。

[4]王岗,西安,姚晨,方李乔,吴兆华和诺登黄。“在固有模式功能。”进展自适应数据分析。卷。2,第3期,2010,第277-293。

拡張機能

C / c++コード生成
MATLAB®编码器™を使用してÇおよびC ++コードを生成します。

R2018aで導入