主要内容

emd

经验模态分解

描述

例子

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

例子

国际货币基金组织剩余信息) = emd (x返回额外的信息信息用于诊断目的的本征信号和剩余信号。

例子

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

例子

emd (___将原始信号、本征函数和残差信号作为副图绘制在同一图中。

例子

全部折叠

负载和可视化一个非平稳连续信号组成的正弦波具有明显的变化频率。手提钻的振动和烟花的声音就是非平稳连续信号的例子。信号以一定的速率采样fs

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

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

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

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

[国际货币基金组织、残余信息]= emd (X,“插值”“pchip”);

在命令窗口中生成的表显示了每一个生成的IMF的sift迭代次数、相对公差和sift停止标准。这个信息也包含在信息.属性来隐藏表“显示”,0名称值对。

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

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

图中包含一个轴。标题为Hilbert Spectrum的轴包含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: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.2729 e-13

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

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

图中包含一个轴。坐标轴包含两个line类型的对象。

获得信号的声谱图。谱图显示了三个不同的正弦分量。傅里叶分析把信号看作是正弦波的叠加。

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

图中包含一个轴。标题为Fres = 3.9101 Hz, Tres = 4 s的轴包含一个类型图像的对象。

使用emd计算信号的本征模态函数(imf)和附加的诊断信息。该函数默认输出一个表,表示每个IMF的筛选迭代次数、相对公差和筛选停止标准。经验模态分解将信号视为z

(国际货币基金组织(imf), ~,信息)= emd (s);

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

信息。NumZerocrossing - info.NumExtrema
ans = 1

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

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

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

模拟一个来自损坏轴承的振动信号。执行经验模态分解来可视化信号的本征模态并寻找缺陷。

一个螺距直径为12厘米的轴承有八个滚动元件。每个滚动元件的直径为2厘米。在以每秒25圈的速度驱动内圈时,外圈保持静止。加速度计以10khz的频率对轴承振动进行采样。

fs = 10000;f0 = 25;n = 8;d = 0.02;p = 0.12;

来自健康轴承的振动信号包含几个阶的驱动频率。

t = 0:1 / fs: 10 - 1 / f;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毫秒正弦序列。每个3千赫的正弦信号都有一个平顶窗口。利用幂律法在轴承振动信号中引入渐进磨损。

fImpact = 3000;tImpact = 0:1 / fs: 5 e-3-1 / fs;wImpact = flattopwin(长度(tImpact)) / 10;xImpact =罪(2 *π* fImpact * tImpact)。* wImpact;tx = 0:1 / bpfo: t(结束);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,“——”)举行

图中包含一个轴。坐标轴包含3个类型为line的对象。

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

xlim ([xLimLeft xLimRight])

图中包含一个轴。坐标轴包含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(“健康”“受损”

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

使用emd对健康轴承信号进行经验模态分解。计算前5个固有模态函数(imf)。使用“显示”名称-值对以显示每个IMF的筛选迭代次数、相对容差和筛选停止标准的表。

imfGood = emd (yGood“MaxNumIMF”5,“显示”1);
当前国际货币基金组织(IMF) | #筛Iter | |停止准则的相对托尔触及0.017132 1 | 3 | | SiftMaxRelativeTolerance 2 | 3 | 0.12694 | SiftMaxRelativeTolerance 3 | 6 | 0.14582 | SiftMaxRelativeTolerance 4 | 1 | 0.011082 | SiftMaxRelativeTolerance 5 | 2 | 0.03463 | SiftMaxRelativeTolerance分解停止是因为最大数量的固有模态函数was extracted.

使用emd没有输出参数来可视化前三种模式和剩余的。

emd (yGood“MaxNumIMF”5)

图中包含5个轴。坐标轴1包含一个类型为line的对象。该对象表示数据。轴2包含一个类型为line的对象。该对象表示数据。坐标轴3包含一个类型为line的对象。该对象表示数据。轴4包含一个类型为line的对象。该对象表示数据。轴5包含一个类型为line的对象。 This object represents data.

计算并可视化有缺陷的方位信号的本征函数。第一种经验模式揭示了高频冲击。随着磨损的进行,这种高频模式的能量增加。第三种模式表示振动信号中的共振。

imfBad = emd (yBad“MaxNumIMF”5,“显示”1);
当前国际货币基金组织(IMF) | #筛Iter | |停止准则的相对托尔触及0.041274 1 | 2 | | 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个轴。坐标轴1包含一个类型为line的对象。该对象表示数据。轴2包含一个类型为line的对象。该对象表示数据。坐标轴3包含一个类型为line的对象。该对象表示数据。轴4包含一个类型为line的对象。该对象表示数据。轴5包含一个类型为line的对象。 This object represents data.

分析的下一步是计算提取的本征函数的希尔伯特谱。有关详细信息,请参见计算振动信号的希尔伯特谱(信号处理工具箱)的例子。

负载和可视化一个非平稳连续信号组成的正弦波具有明显的变化频率。手提钻的振动和烟花的声音就是非平稳连续信号的例子。信号以一定的速率采样fs

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

图中包含一个轴。轴包含一个类型为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个轴。坐标轴1包含一个类型为line的对象。该对象表示数据。轴2包含一个类型为line的对象。该对象表示数据。坐标轴3包含一个类型为line的对象。该对象表示数据。轴4包含一个类型为line的对象。该对象表示数据。轴5包含一个类型为line的对象。 This object represents data.

emd生成与原始信号、前3个imf和残差的交互图。在命令窗口中生成的表显示了每一个生成的IMF的sift迭代次数、相对公差和sift停止标准。属性可以隐藏该表“显示”名称-值对或指定为0

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

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

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

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

输入参数

全部折叠

时域信号,用实值向量表示,或用单列表示的单变量时间表。如果x是一个时间表,x必须包含不断增加的有限行次数。

名称-值对的观点

指定可选的逗号分隔对名称,值参数。的名字参数名和价值是对应的值。的名字必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家

例子:“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的sift迭代次数、相对公差和sift停止标准。指定显示如1表示显示表,0表示隐藏表。

输出参数

全部折叠

固有模式功能(IMF),以矩阵或时间表的形式返回。每个IMF是一个幅度和频率调制信号,具有正的和缓慢变化的包络。要对信号进行频谱分析,可以将希尔伯特-黄变换应用于其本征函数。看到遗传性出血性毛细血管扩张症固有模态函数

国际货币基金组织返回:

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

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

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

剩余返回:

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

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

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

  • NumIMF—提取的imf个数

    NumIMF向量是从1到N,在那里N是国际货币基金组织的数量。如果没有提取imf,NumIMF是空的。

  • NumExtrema-每个货币基金组织的极值数

    NumExtrema是一个长度与本构函数数目相等的矢量。的kth元素NumExtrema求极值的个数是多少k国际货币基金组织(IMF)。如果没有提取imf,NumExtrema是空的。

  • NumZerocrossing-每个货币基金组织的零跨越数

    每个国际货币基金组织的零跨越数。NumZerocrossing是一个长度与本构函数数目相等的矢量。的kth元素NumZerocrossing零交叉的数量是多少k国际货币基金组织(IMF)。如果没有提取imf,NumZerocrossing是空的。

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

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

  • MeanEnvelopeEnergy-为每个货币基金组织获得的上和下信封的平均能量

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

  • RelativeTolerance-各货币基金组织剩余资金的最终相对容忍度

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

更多关于

全部折叠

经验模态分解

经验模态分解(EMD)算法对信号进行分解xt转化为固有模态函数(imf)和迭代过程中的残差。算法的核心部分包括筛选一个函数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)或(imf数目>MaxNumIMF),然后停止分解。

  4. r,上一页t) =rt

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

  6. 检查r,坏蛋t

    1. 的相对公差(RT)r,坏蛋t(见筛选相对宽容).

    2. 获得当前的sift迭代数(IN)。

  7. 如果(RT <SiftRelativeTolerance)或(在>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

首次介绍时由黄等人。[1],货币基金组织被定义为具有两个特征的职能:

  • 局部极值的数目-局部极小值和局部极大值的总数-和零点交叉的数目最多相差1。

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

然而,正如[4],直到得到一个严格的IMF,可能会产生没有物理意义的IMF。具体来说,筛选到零点交叉数和局部极值最多相差1,可以得到类似于imf的纯色调,换句话说,非常类似于在傅里叶基上投影得到的函数。这种情况正是EMD努力避免的,他们更倾向于调幅-调频调制组件的物理意义。

参考[4]提出选择以获得物理上有意义的结果。的emd功能通过使用来放宽原有的IMF定义筛选相对宽容,一个柯西型停止准则。的emd函数迭代提取自然AM-FM模式。产生的国际货币基金组织可能无法满足当地的极值零跨越标准。看到正弦信号本征模态函数的零点交叉与极值

筛选相对宽容

筛选相对宽容是柯西型停止标准在[4].当电流相对公差小于时,筛检停止SiftRelativeTolerance.当前相对公差定义为

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

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

能量比例

能量比是指信号在筛选初期的能量与平均包络能量的比值[2].当电流能量比大于时,分解停止MaxEnergyRatio.为,定义能量比为

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

参考文献

[1]黄诺登·E、沈峥、龙满利·C.吴曼丽、施兴华、郑全安、颜乃春、董志超、刘浩然。非线性和非平稳时间序列分析的经验模态分解和希尔伯特谱伦敦皇家学会学报。A系列:数学、物理和工程科学454年,没有。1971(1998年3月8日):903-95。https://doi.org/10.1098/rspa.1998.0193。

[2] Rato, r.t., M.D. Ortigueira和A.G. Batista。关于HHT,它的问题和一些解决办法。金宝搏官方网站机械系统与信号处理22日,没有。6(2008年8月):1374-94。https://doi.org/10.1016/j.ymssp.2007.11.028。

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

Wang, Gang, Xian-Yao Chen, Fang-Li Qiao, Zhaohua Wu, Norden E. Huang。"论固有模态函数"适应性数据分析的进展02年,没有。03(2010年7月):277-93。https://doi.org/10.1142/S1793536910000549。

扩展功能

介绍了R2018a