主要内容

emd

经验模态分解

描述

例子

(国际货币基金组织剩余] = emd(x返回固有模态函数国际货币基金组织剩余信号剩余对应的经验模态分解x。使用emd将复杂的信号分解和简化为执行希尔伯特谱分析所需的有限数量的本征模态函数。

例子

(国际货币基金组织剩余信息] = emd(x返回附加信息信息用于诊断目的的imf和剩余信号。

例子

(___] = emd(___名称,值使用一个或多个指定的附加选项执行经验模式分解名称,值对参数。

例子

emd (___将原始信号、imf和残差信号绘制为同一图中的子图。

例子

全部折叠

加载并想象一个由频率有明显变化的正弦波组成的非平稳连续信号。手提钻的振动和烟花的声音都是非平稳连续信号的例子。信号以一定的速率采样fs

负载(“sinusoidalSignalExampleData.mat”“X”“fs”) t = (0:length(X)-1)/fs;情节(t, X)包含(“时间(s)”

图包含一个轴对象。带有xlabel Time (s)的axes对象包含一个line类型的对象。

混合信号包含不同振幅和频率值的正弦波。

要创建希尔伯特频谱图,您需要信号的本征模态函数(IMFs)。执行经验模式分解,以计算信号的imf和残差。由于信号不是平滑的,所以指定'pchip作为插值方法。

[imf,残差,info] = emd(X,插值=。“pchip”);

命令窗口中生成的表表示每个生成的IMF的筛选迭代次数、相对容差和筛选停止标准。此信息也包含在信息。控件来隐藏表“显示”,0名称值对。

创建希尔伯特谱图国际货币基金组织利用经验模态分解得到的分量。

遗传性出血性毛细血管扩张症(imf, fs)

图包含一个轴对象。标题为Hilbert Spectrum, xlabel Time (s), ylabel Frequency (Hz)的axes对象包含9个类型为patch的对象。

频率与时间图是一个稀疏图,用垂直的颜色条表示IMF中每个点的瞬时能量。该图表示原始混合信号分解后各分量的瞬时频谱。图中出现的三个imf在1秒内频率变化明显。

这个三角恒等式给出了同一物理信号的两种不同观点:

5 2 cos2 π f 1 t + 1 4 cos2 π f 1 + f 2 t + cos2 π f 1 - f 2 t 2 + 因为 2 π f 2 t cos2 π f 1 t

生成两个正弦波,年代z,这样年代三个正弦波的和是z是具有调制振幅的单个正弦波。通过计算其差的无穷范数来验证两个信号相等。

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

绘制正弦波并选择从2秒开始的1秒间隔。

Plot (t,[s' z']) xlim([2 3]) xlabel(“时间(s)”) ylabel (“信号”

图包含一个轴对象。具有xlabel Time (s), ylabel Signal的axes对象包含2个类型为line的对象。

获得信号的频谱图。频谱图显示了三个不同的正弦分量。傅里叶分析将信号视为正弦波的叠加。

pspectrum(年代,1000,的谱图“TimeResolution”4)

图包含一个轴对象。标题为Fres = 3.9101 Hz, Tres = 4 s, xlabel Time (s), ylabel Frequency (Hz)的axes对象包含一个image类型的对象。

使用emd计算信号的固有模态函数(IMFs)和附加的诊断信息。默认情况下,该函数输出一个表,该表指示每个IMF的筛选迭代次数、相对容差和筛选停止标准。经验模态分解将信号看作z

[imf,~,info] = emd(s);

零点交叉点和局部极值点的数目最多相差一个。这满足了信号为IMF的必要条件。

信息。NumZerocrossing - info.NumExtrema
Ans = 1

绘制IMF并选择从2秒开始的0.5秒间隔。IMF是调幅信号,因为emd将信号视为调幅信号。

Plot (t,imf) xlim([2 2.5]) xlabel(“时间(s)”) ylabel (国际货币基金组织的

图包含一个轴对象。带有xlabel Time (s)的axis对象,ylabel IMF包含一个类型为line的对象。

模拟损坏轴承的振动信号。执行经验模式分解以可视化信号的imf并寻找缺陷。

螺距直径为12厘米的轴承有八个滚动元件。每个滚动元件的直径为2厘米。当内圈以每秒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 *π* f0 *(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 因为 θ ]

在哪里 f 0 是行驶速度, n 为滚动单元个数, d 为滚动体的直径, p 轴承的节径是多少 θ 是轴承接触角。假设接触角为15°,计算BPFO。

Ca = 15;Bpfo = n*f0/2*(1-d/p*cosd(ca));

使用pulstran函数将冲击建模为5毫秒正弦波的周期性序列。每个3khz正弦波都有一个平顶窗口。使用幂律来引入轴承振动信号中的渐进磨损。

fImpact = 3000;tImpact = 0:1/fs:5e-3-1/fs;wImpact = flattopwin(length(tImpact))'/10;xImpact = sin(2*pi*fImpact* timimpact).*wImpact;Tx = 0:1/bpfo:t(end);Tx = [Tx;1.3。^ tx-2];nWear = 49000;nSamples = 100000;yImpact = pulstran(t,tx',xImpact,fs)/5; yImpact = [zeros(1,nWear) yImpact(1,(nWear+1):nSamples)];

通过在健康信号中加入冲击,生成BPFO振动信号。绘制信号并选择从5.0秒开始的0.3秒间隔。

yBPFO = 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,“——”)举行

图包含一个轴对象。axis对象包含3个类型为line的对象。

放大所选的间隔,以可视化影响的效果。

xlim ([xLimLeft xLimRight])

图包含一个轴对象。axis对象包含3个类型为line的对象。

在信号中加入高斯白噪声。指定噪声方差 1 / 1 5 0 2

Rn = 150;yGood = yHealthy + randn(size(yHealthy))/rn;yBad = yBPFO + randn(size(yHealthy))/rn;plot(t,yGood,t,yBad) xlim([xLimLeft xLimRight]) legend(“健康”“受损”

图包含一个轴对象。axes对象包含2个line类型的对象。这些物体代表健康,受损。

使用emd对健康轴承信号进行经验模态分解。计算前五个本征模态函数(IMFs)。使用“显示”名称-值对显示一个表,其中包含每个IMF的筛选迭代次数、相对容差和筛选停止标准。

imfGood = emd;“MaxNumIMF”5,“显示”1);
当前IMF | #Sift Iter |相对Tol |停止准则Hit 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分解停止,因为提取了最大数量的固有模式函数。

使用emd没有输出参数来可视化前三个模式和残差。

emd (yGood“MaxNumIMF”5)

图中包含5个轴对象。带有ylabel信号的轴对象1包含一个类型为line的对象。该对象表示数据。ylabel为IMF 1的轴对象2包含一个类型为line的对象。该对象表示数据。ylabel为IMF 2的轴对象3包含一个类型为line的对象。该对象表示数据。ylabel为IMF 3的轴对象4包含一个类型为line的对象。该对象表示数据。带有ylabel残差的轴对象5包含一个类型为line的对象。 This object represents data.

计算并可视化故障轴承信号的imf。第一个经验模式揭示了高频影响。这种高频模式的能量随着磨损的进展而增加。第三种模式表示振动信号中的共振。

imfBad = emd(yBad,“MaxNumIMF”5,“显示”1);
当前IMF | #Sift Iter |相对Tol |停止准则Hit 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分解停止,因为提取了最大数量的固有模式函数。
emd (yBad“MaxNumIMF”5)

图中包含5个轴对象。带有ylabel信号的轴对象1包含一个类型为line的对象。该对象表示数据。ylabel为IMF 1的轴对象2包含一个类型为line的对象。该对象表示数据。ylabel为IMF 2的轴对象3包含一个类型为line的对象。该对象表示数据。ylabel为IMF 3的轴对象4包含一个类型为line的对象。该对象表示数据。带有ylabel残差的轴对象5包含一个类型为line的对象。 This object represents data.

分析的下一步是计算提取的imf的希尔伯特谱。有关详细信息,请参见计算振动信号的希尔伯特谱的例子。

加载并想象一个由频率有明显变化的正弦波组成的非平稳连续信号。手提钻的振动和烟花的声音都是非平稳连续信号的例子。信号以一定的速率采样fs

负载(“sinusoidalSignalExampleData.mat”“X”“fs”) t = (0:length(X)-1)/fs;情节(t, X)包含(“时间(s)”

图包含一个轴对象。带有xlabel Time(s)的axes对象包含一个line类型的对象。

混合信号包含不同振幅和频率值的正弦波。

执行经验模态分解来绘制信号的固有模态函数和残差。由于信号不是平滑的,所以指定'pchip作为插值方法。

emd (X,“插值”“pchip”“显示”, 1)
当前的国际货币基金组织(IMF) | #筛Iter | |停止准则的相对托尔触及0.026352 1 | 2 | | 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分解停止因为的数量残余信号中的极值小于“MaxNumExtrema”值。

图中包含5个轴对象。带有ylabel信号的轴对象1包含一个类型为line的对象。该对象表示数据。ylabel为IMF 1的轴对象2包含一个类型为line的对象。该对象表示数据。ylabel为IMF 2的轴对象3包含一个类型为line的对象。该对象表示数据。ylabel为IMF 3的轴对象4包含一个类型为line的对象。该对象表示数据。带有ylabel残差的轴对象5包含一个类型为line的对象。 This object represents data.

emd生成具有原始信号、前3个imf和残差的交互式图。命令窗口中生成的表表示每个生成的IMF的筛选迭代次数、相对容差和筛选停止标准。控件可以隐藏表“显示”名称-值对或指定为0

右键单击绘图中的空白区域,打开国际货币基金组织的选择器窗口。使用国际货币基金组织的选择器可以选择性地查看生成的imf、原始信号和残差。

在列表中选择需要显示的imf。选择是否在绘图上显示原始信号和残差。

所选的imf现在显示在绘图上。

使用图来可视化从原始信号和残差中分解出来的各个分量。请注意,残差是根据imf的总数计算的,并且不会根据中选择的imf而更改国际货币基金组织的选择器窗口。

输入参数

全部折叠

时域信号,指定为实值向量,或具有单列的单变量时间表。如果x是一个时间表,x必须包含递增的有限行时间。

名称-值参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:“MaxNumIMF”,5

柯西型收敛准则,指定为由逗号分隔的对组成“SiftRelativeTolerance”一个正的标量。SiftRelativeTolerance是否有停止筛分的标准之一,即当电流相对容差小于时停止筛分SiftRelativeTolerance。有关更多信息,请参见相对容差

筛选迭代的最大次数,指定为由逗号分隔的对组成“SiftMaxIterations”一个正标量整数。SiftMaxIterations是否有一个筛选停止条件,即当当前迭代次数大于时,筛选停止SiftMaxIterations

SiftMaxIterations只能使用正整数指定。

提取的imf的最大数目,指定为由逗号分隔的对“MaxNumIMF”一个正标量整数。MaxNumIMF是分解停止标准之一,即当生成的imf个数等于?时,分解停止MaxNumIMF

MaxNumIMF只能使用正整数指定。

剩余信号中极值的最大数目,指定为由逗号分隔的对组成“MaxNumExtrema”一个正标量整数。MaxNumExtrema是否是分解停止准则之一,即当极值个数小于时,分解停止MaxNumExtrema

MaxNumExtrema只能使用正整数指定。

信号与剩余能量的比值,指定为逗号分隔的对组成“MaxEnergyRatio”一个标量。MaxEnergyRatio为筛选开始时信号能量与平均包络能量之比。MaxEnergyRatio是否是分解停止准则之一,即当电流能量比大于MaxEnergyRatio。有关更多信息,请参见能量比例

用于包络结构的插值方法,指定为由逗号分隔的对组成“插值”,要么样条的“pchip”

指定插值为:

  • 样条的,如果x是平滑信号

  • “pchip”,如果x是非平滑信号吗

样条的插值方法采用三次样条,而“pchip”使用分段三次埃尔米特插值多项式。

切换命令窗口中显示的信息,指定为由逗号分隔的对“显示”0或者1。命令窗口中生成的表表示每个生成的IMF的筛选迭代次数、相对容差和筛选停止标准。指定显示1表示显示表,0表示隐藏表。

输出参数

全部折叠

内禀模态函数(IMF),作为矩阵或时间表返回。每个IMF都是一个振幅和频率调制的信号,具有正的和缓慢变化的包络。要对信号进行频谱分析,可以对其imf应用Hilbert-Huang变换。看到遗传性出血性毛细血管扩张症内模函数

国际货币基金组织返回为:

  • 每个列都是an的矩阵国际货币基金组织,当x是一个向量

  • 时间表,什么时候x是单数据列时间表吗

信号的残差,作为列向量或单个数据列时间表返回。剩余表示原始信号的部分x不分解emd

剩余返回为:

  • 一个列向量,当x是一个向量。

  • 单数据列时间表,当x是一个单数据列时间表。

用于诊断的附加信息,作为具有以下字段的结构返回:

  • NumIMF—提取的imf个数

    NumIMF是一个从1到的向量吗N,在那里N为imf的个数。如果没有提取imf,NumIMF是空的。

  • NumExtrema-每个IMF的极值数

    NumExtrema是一个长度等于imf数目的向量。的k的元素NumExtrema的极值个数是多少k国际货币基金组织(IMF)。如果没有提取imf,NumExtrema是空的。

  • NumZerocrossing-在每个IMF中零交叉点的数目

    在每个IMF中零交叉点的数量。NumZerocrossing是一个长度等于imf数目的向量。的k的元素NumZerocrossing零交叉的次数是多少k国际货币基金组织(IMF)。如果没有提取imf,NumZerocrossing是空的。

  • NumSifting-用于提取每个IMF的筛选迭代次数

    NumSifting是一个长度等于imf数目的向量。的k的元素NumSifting筛选迭代的次数是否用于提取k国际货币基金组织(IMF)。如果没有提取imf,NumSifting是空的。

  • MeanEnvelopeEnergy-为每个IMF获得的上、下信封平均值的能量

    如果问题上信封是和的吗是下面的信封,MeanEnvelopeEnergy意思是(((LE + UL) / 2) ^ 2)。MeanEnvelopeEnergy是一个长度等于imf数目的向量。的k的元素MeanEnvelopeEnergy包络能量的平均值是k国际货币基金组织(IMF)。如果没有提取imf,MeanEnvelopeEnergy是空的。

  • RelativeTolerance-每个货币基金组织的最终相对余量

    相对容差定义为前一步筛选的残差与当前筛选的残差之差的平方2范数与前一步筛选的残差的平方2范数之比筛选步骤。筛分过程停止,当RelativeTolerance小于SiftRelativeTolerance。有关其他信息,请参见相对容差RelativeTolerance是一个长度等于imf数目的向量。的k的元素RelativeTolerance的最终相对公差是否得到k国际货币基金组织(IMF)。如果没有提取imf,RelativeTolerance是空的。

更多关于

全部折叠

经验模态分解

经验模态分解(EMD)算法对信号进行分解xt在迭代过程中分解为内禀模态函数(IMFs)和残差。该算法的核心组件包括筛选一个函数xt得到一个新的函数Yt

  • 首先找到的局部极小值和最大值xt

  • 然后利用局部极值构造上下包络年代t年代+t,分别为xt。形成信封的平均值,t

  • 减去平均值xt求残差:Yt) =xt)−t

分解的概述如下:

  1. 首先,让r0t) =xt,在那里xt是初始信号,让= 0

  2. 筛前检查rt

    1. 求的局部极值的总数(TN)rt

    2. 的能量比(ER)rt(见能量比例).

  3. 如果(ER) >MaxEnergyRatio)或(TN <MaxNumExtrema)或(国际货币基金组织的数量)MaxNumIMF),然后停止分解。

  4. r,上一页t) =rt

  5. 筛选r,上一页t获得r,坏蛋t

  6. 检查r,坏蛋t

    1. 的相对容忍度(RT)r,坏蛋t(见相对容差).

    2. 获取当前的筛选迭代数(IN)。

  7. If (RT <)SiftRelativeTolerance)或(IN >)SiftMaxIterations),然后停止筛选。成立了一个国际货币基金组织;国际货币基金组织t) =r,坏蛋t。否则,让r,上一页t) =r,坏蛋t,执行步骤5。

  8. r+ 1t) =rt)−r,坏蛋t

  9. + 1。返回步骤2。

有关其他信息,请参见[1][3]

内模函数

EMD算法通过迭代筛选过程分解信号xt成货币基金国际货币基金组织t残差rNt

X t 1 N 国际货币基金组织 t + r N t

当Huang等人首次介绍时。[1], IMF被定义为具有两个特征的函数:

  • 局部极值的数目——局部极小值和局部最大值的总数——与零交叉的数目最多相差一个。

  • 由局部极值构造的上下包络的平均值为零。

然而,正如[4],筛选,直到获得严格的国际货币基金组织可能导致国际货币基金组织没有物理意义。具体地说,筛选直到零交叉和局部极值的数量最多相差一个,就可以得到像imf一样的纯音,换句话说,函数非常类似于在傅里叶基础上通过投影得到的函数。这种情况正是EMD努力避免的,他们更喜欢AM-FM调制组件,因为它们的物理意义。

参考[4]提出方案以获得物理上有意义的结果。的emd函数放宽了原来的IMF定义相对容差,柯西型停止判据。的emd函数迭代提取自然AM-FM模式。生成的imf可能无法满足局部极值零交叉标准。看到正弦固有模态函数的过零与极值

相对容差

相对容差中是否提出了柯西型停止准则[4]。当电流相对容差小于时停止筛分SiftRelativeTolerance。当前相对容差定义为

相对宽容 r 上一页 t r 坏蛋 t 2 2 r 上一页 t 2 2

由于柯西准则不直接计算过零和局部极值的数量,因此分解返回的imf可能不满足固有模态函数的严格定义。在这些情况下,您可以尝试减少SiftRelativeTolerance从其默认值。看到[4]以详细讨论停止标准。本文还讨论了在经验模态分解中坚持严格定义imf的利弊。

能量比例

能量比是信号在筛选开始时的能量与平均包络能量之比[2]。当电流能量比大于时停止分解MaxEnergyRatio。为在IMF中,能量比定义为

能量比例 10 日志 10 X t 2 r t 2

参考文献

黄斌斌,沈铮,龙文瑞,吴曼丽,史兴华,郑全安,颜乃源,董志超,刘汉华。非线性非平稳时间序列分析的经验模态分解和希尔伯特谱。《伦敦皇家学会学报》。A系:数学、物理和工程科学454年,没有。1971(1998年3月8日):903-95。https://doi.org/10.1098/rspa.1998.0193。

[2]拉托,r.t., M.D. Ortigueira和A.G.巴蒂斯塔。“论HHT,它的问题和一些解决办法。”金宝搏官方网站机械系统与信号处理22日,没有。6 (August 2008): 1374-94。https://doi.org/10.1016/j.ymssp.2007.11.028。

[3]瑞林、加布里埃尔、帕特里克·弗兰德林和保罗·贡帕拉尔维斯。“经验模态分解及其算法”。IEEE-EURASIP非线性信号与图像处理研讨会2003.NSIP-03。格拉多,意大利,8-11

王志刚,陈先耀,乔方丽,吴兆华,黄诺登。"论内禀模态函数"自适应数据分析的进展02年,没有。03(2010年7月):277-93。https://doi.org/10.1142/S1793536910000549。

扩展功能

版本历史

在R2018a中引入

另请参阅

应用程序

功能

主题