经验模态分解
EMD(___)
将原始信号,IMF和剩余信号绘制为同一图中的子图。
负载和可视化由频率不同变化的正弦波组成的非间断连续信号。Jackhammer的振动和烟花的声音是非标准连续信号的示例。信号以速率进行采样FS.
.
负载(“sinusoidalSignalExampleData.mat”,'X','FS') t = (0:length(X)-1)/fs;情节(t, X)包含('时间'')
混合信号包含不同振幅和频率值的正弦波。
要创建Hilbert Spectrum图,您需要信号的内在模式功能(IMF)。执行经验模式分解以计算信号的IMF和残差。由于信号不顺畅,指定'PCHIP.
,作为插值方法。
[IMF,残差,信息] = EMD(X,'插值',“pchip”);
在命令窗口中生成的表显示了每一个生成的IMF的sift迭代次数、相对公差和sift停止标准。此信息也包含在内信息
.您可以通过添加来隐藏表“显示”,0
名称值对。
使用使用的Hilbert谱图国际货币基金组织
使用经验模式分解获得的组件。
hht(imf,fs)
频率与时间图是一个稀疏图与垂直色条表示瞬时能量在IMF的每个点。该图代表了从原始混合信号分解出来的每个分量的瞬时频谱。图中出现三个imf,其频率在1秒时有明显变化。
此三角函数具有相同物理信号的两个不同视图:
.
产生两个正弦曲线,年代
和z
,这样年代
是三个正弦波的总和z
是一个具有调制幅度的单一正弦波。通过计算其差异的无穷大常数,验证两个信号是否相等。
t = 0:1E-3:10;Omega1 = 2 * pi * 100;Omega2 = 2 * pi * 20;s = 0.25 * cos((Omega1-Omega2)* t)+ 2.5 * cos(omega1 * t)+ 0.25 * cos((omega1 + omega2)* t);z =(2 + cos(omega2 / 2 * t)。^ 2)。* cos(omega1 * t);常态(S-Z,INF)
ans = 3.2729 e-13
绘制正弦曲线并选择从2秒开始的1秒间隔。
Plot (t,[s' z']) xlim([2 3]) xlabel('时间'') ylabel ('信号')
获得信号的谱图。频谱图显示了三个不同的正弦组分。傅里叶分析将信号视为正弦波的叠加。
PSPectrum(S,1000,的谱图,'timeresolution'4)
用emd
计算信号的本征模态函数(imf)和附加的诊断信息。该函数默认输出一个表,表示每个IMF的筛选迭代次数、相对公差和筛选停止标准。经验模态分解将信号视为z
.
[IMF,〜,INFO] = EMD;
过早交叉口和局部极值的数量最多不同。这满足了信号成为IMF的必要条件。
info.numzerossing - info.numextrema.
ans = 1
绘制IMF并选择0.5秒的间隔,从2秒开始。IMF是调幅信号,因为emd
视信号为调幅。
Plot (t,imf) xlim([2 2.5]) xlabel('时间'') ylabel ('国际货币基金组织')
从损坏的轴承模拟振动信号。执行经验模式分解以可视化信号的IMF并寻找缺陷。
一个螺距直径为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)出现的一系列冲击:
在哪里 是驾驶速率, 是滚动元素的数量, 是滚动元件的直径, 是轴承的俯仰直径,和 轴承接触角是。假设接触角为15°并计算BPFO。
ca = 15;BPFO = N * F0 / 2 *(1-D / P * COSD(CA));
使用pulstran
(信号处理工具箱)函数模拟冲击作为一个周期的5毫秒正弦序列。每个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(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;绘图(T,YBPFO)持有在[Limleft,LimRight] = MeshGrid([xlimleft xlimright],[ymin ymax]);情节(Limleft,LimRight,' - ')举行离开
放大选定的间隔,以可视化影响的效果。
XLIM([xlimleft xlimright])
在信号中加入高斯白噪声。指定噪声方差为 .
rn = 150;ygood = yhealthy + randn(尺寸(yhealthy))/ rn;YBAD = YBPFO + RANDN(尺寸(YHealthy))/ RN;图(t,ygood,t,YBad)XLIM([Xlimleft xlimright])图例('健康',“受损”)
用emd
执行健康轴承信号的经验模式分解。计算前五个内在模式功能(IMF)。使用'展示'
名称值对以显示每个IMF的筛选迭代次数,相对容差和筛分停止标准的表。
imfGood = emd (yGood'maxnumimf',5,'展示',1);
当前的IMF |#sift erter |相对托|停止标准命中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 Decomposition stopped because maximum number of intrinsic mode functions was extracted.
用emd
没有输出参数以可视化前三种模式和残差。
emd (yGood'maxnumimf'5)
计算和可视化缺陷轴承信号的IMF。第一经验模式显示出高频影响。随着磨损进展,这种高频模式的能量增加。第三模式示出了振动信号中的谐振。
imfBad = emd (yBad'maxnumimf',5,'展示',1);
当前的IMF |#sift erter |相对托|停止标准命中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 Decomposition stopped because maximum number of intrinsic mode functions was extracted.
EMD(YBAD,'maxnumimf'5)
分析中的下一步是计算提取的IMF的HILBERT频谱。有关更多详细信息,请参阅计算振动信号的Hilbert频谱(信号处理工具箱)例子。
负载和可视化由频率不同变化的正弦波组成的非间断连续信号。Jackhammer的振动和烟花的声音是非标准连续信号的示例。信号以速率进行采样FS.
.
负载(“sinusoidalSignalExampleData.mat”,'X','FS') t = (0:length(X)-1)/fs;情节(t, X)包含('时间'')
混合信号包含不同振幅和频率值的正弦波。
执行经验模式分解,绘制内在模式功能和信号的残余。由于信号不顺畅,指定'PCHIP.
,作为插值方法。
emd (X,'插值',“pchip”,'展示'1)
当前的IMF |#sift erter |相对托|停止标准命中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 Decomposition stopped because the number of extrema in the residual signal is less than the 'MaxNumExtrema' value.
emd
生成与原始信号、前3个imf和残差的交互图。在命令窗口中生成的表显示了每一个生成的IMF的sift迭代次数、相对公差和sift停止标准。属性可以隐藏该表'展示'
名称 - 值对或将其指定为0
.
右键单击绘图中的空白区域以打开国际货币基金组织的选择器窗口。用国际货币基金组织的选择器选择性地查看生成的IMF,原始信号和残差。
从列表中选择要显示的IMF。选择是否在绘图上显示原始信号和残差。
选中的imf现在显示在绘图上。
使用这个图来可视化从原始信号和残差分解出来的单个分量。注意,残差是计算imf总数量的,不会根据在国际货币基金组织的选择器窗口。
x
- - - - - -时域信号时域信号,用实值向量表示,或用单列表示的单变量时间表。如果x
是一个时间表,x
必须包含越来越多的有限行时间。
指定可选的逗号分离对名称,价值
论点。名称
是参数名称和价值
是对应的值。名称
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen
.
“MaxNumIMF”,5
“SiftRelativeTolerance”
- - - - - -Cauchy型融合标准0.2
(默认)|积极的标量Cauchy型融合标准,指定为逗号分隔对组成“SiftRelativeTolerance”
和正标量。siftrelativeTolerance.
是否有一种筛停标准,即当前相对容差小于时筛停siftrelativeTolerance.
.有关更多信息,请参见筛选相对宽容.
'siftmax joridations'
- - - - - -最大筛选迭代次数One hundred.
(默认)|积极的标量整数筛选迭代的最大数量,指定为逗号分隔对'siftmax joridations'
一个正标量整数。思考
是否有一个停止筛选的条件,即,当当前迭代次数大于时,筛选停止思考
.
思考
只能使用正数量指定。
'maxnumimf'
- - - - - -提取的最大IMF数10
(默认)|积极的标量整数提取的最大IMF数量,指定为逗号分隔的对'maxnumimf'
一个正标量整数。MaxNumIMF
是分解停止条件之一,即生成的imf数等于MaxNumIMF
.
MaxNumIMF
只能使用正数量指定。
'maxnumextrema'
- - - - - -残差信号中的最大极值数1
(默认)|积极的标量整数残余信号中的最大极值数量,指定为逗号分隔的配对'maxnumextrema'
一个正标量整数。maxnumextrema.
是分解停止标准之一,即,当极值的数量小于时,分解停止maxnumextrema.
.
maxnumextrema.
只能使用正数量指定。
'maxenergyratio'
- - - - - -信号与剩余能量比20.
(默认)|标量以剩余能量比信号指定为逗号分隔对'maxenergyratio'
和一个标量。maxenergyratio
是信号在筛选初期的能量与平均包络能量之比。maxenergyratio
是否有一种分解停止的判据,即当电流能量比大于maxenergyratio
.有关更多信息,请参见能量比例.
'插值'
- - - - - -构造包络线的插值方法'样条曲线'
(默认)|“pchip”
用插值方法构造包络线,由逗号分隔的对组成'插值'
和任何一种'样条曲线'
或“pchip”
.
指定插值
为:
'样条曲线'
, 如果x
是一个平滑的信号
“pchip”
, 如果x
是非平滑信号吗
'样条曲线'
插值方法使用立方样条键“pchip”
使用分段 - 立方Hermite插值多项式。
'展示'
- - - - - -在命令窗口中切换信息显示在命令窗口中切换信息显示,指定为包含的逗号分隔对'展示'
和0或1.命令窗口中生成的表格表示SIFT迭代的数量,相对公差和每个生成的IMF的筛选停止标准。指定展示
为1显示表格或0隐藏表。
剩余
-信号的残余信息
- 诊断的其他信息用于诊断的附加信息,以具有以下字段的结构形式返回:
NumIMF
- 提取的IMF数量
NumIMF
向量是从1到N, 在哪里N是imfs的数量。如果没有提取imf,NumIMF
是空的。
numextrema.
- 每个IMF中的极值数量
numextrema.
是一个长度与本构函数数目相等的矢量。的kTh元素numextrema.
是发现的极值数量k国际货币基金组织(IMF)。如果没有提取imf,numextrema.
是空的。
NumZerocrossing
- 每个IMF中的过零点数
每个国际货币基金组织的零跨越数。NumZerocrossing
是一个长度与本构函数数目相等的矢量。的kTh元素NumZerocrossing
零交叉的数量是多少k国际货币基金组织(IMF)。如果没有提取imf,NumZerocrossing
是空的。
numsifting.
-用于提取每个IMF的筛选迭代次数
numsifting.
是一个长度与本构函数数目相等的矢量。的kTh元素numsifting.
筛选迭代的数量是否用于提取k国际货币基金组织(IMF)。如果没有提取imf,numsifting.
是空的。
意思是卑鄙的
- 为每个IMF获得的上部和下包络的平均能量
如果UE.
是上部信封和乐
是较低的信封,意思是卑鄙的
是意思是(((LE + UL) / 2) ^ 2)。
.意思是卑鄙的
是一个长度与本构函数数目相等的矢量。的kTh元素意思是卑鄙的
是均值的平均信封能量k国际货币基金组织(IMF)。如果没有提取imf,意思是卑鄙的
是空的。
相对验证
-各货币基金组织剩余资金的最终相对容忍度
相对公差定义为前一个筛选步骤的残差和当前筛选步骤的残差的2-范数的平方与的残差的2-范数的平方之比我筛选步骤。筛选过程在相对验证
小于siftrelativeTolerance.
.有关其他信息,请参见筛选相对宽容.相对验证
是一个长度与本构函数数目相等的矢量。的kTh元素相对验证
是为此获得的最终相对耐受性k国际货币基金组织(IMF)。如果没有提取imf,相对验证
是空的。
经验模态分解(EMD)算法对信号进行分解x(t)进入内部模式功能(IMF)和迭代过程中的残差。算法的核心组件涉及筛一个函数x(t)获得新功能Y(t):
首先找到当地的最小值和最大值x(t).
然后使用本地极值构建下部和上部信封年代−(t)和年代+(t)分别的x(t).形成信封的意思,米(t).
减去平均值x(t)要获取残差:Y(t) =x(t) -米(t).
分解的概述如下:
开始,让r0(t) =x(t), 在哪里x(t)是初始信号,让我= 0..
在筛选之前,检查r我(t):
找到当地极值的总数(TN)r我(t).
的能量比(ER)r我(t)(看能量比例)。
如果(er>maxenergyratio
(tn <maxnumextrema.
)或(IMFS的数量>MaxNumIMF
)然后停止分解。
让r我,prev(t) =r我(t).
筛选r我,prev(t)获得r我,坏蛋(t).
查看r我,坏蛋(t)
找到相对容差(RT)r我,坏蛋(t)(看筛选相对宽容)。
获取当前的SIFT迭代号(in)。
if(rt <siftrelativeTolerance.
)或(在>思考
),然后停止筛选。已经找到一个货币基金组织:国际货币基金组织我(t) =r我,坏蛋(t).否则,让r我,prev(t) =r我,坏蛋(t),执行步骤5。
让r我+1(t) =r我(t) -r我,坏蛋(t).
让我=我+ 1.返回步骤2。
EMD算法通过迭代筛选过程对信号进行分解x(t)成货币基金国际货币基金组织我(t)和残留rN(t):
当Huang等人首次介绍时。[1],货币基金组织被定义为具有两个特征的职能:
局部极值的数目-局部极小值和局部极大值的总数-和零点交叉的数目最多相差1。
由局部极值构成的上部和下包络的平均值为零。
但是,如上所述[4],筛选直到获得严格的IMF,可能导致IMF,没有物理意义。具体而言,筛选直到过零点和局部极值的数量最多可能导致IMF等纯音,换句话说,函数非常类似于通过傅立叶的投影获得的内容非常相似。这种情况正是EMD努力避免的,更喜欢AM-FM调制组件的物理意义。
参考[4]提出选择以获得物理有意义的结果。的emd
功能通过使用来放宽原有的IMF定义筛选相对宽容,Cauchy型停止标准。的emd
功能迭代以提取自然AM-FM模式。生成的IMF可能无法满足局部极值零交叉标准。看到正弦信号本征模态函数的零点交叉与极值.
筛选相对宽容是柯西型停止标准在[4].当电流相对容差小于时,筛退停止siftrelativeTolerance.
.目前的相对容差定义为
由于柯西准则没有直接计算过零和局部极值的数量,因此分解返回的本征模态可能不满足本征模态函数的严格定义。在这些情况下,您可以尝试降低siftrelativeTolerance.
从其默认值。看到[4]详细讨论停止标准。该参考文献还讨论了在经验模式分解中坚持严格定义的IMF的优缺点。
能量比是筛选开始时信号的能量和平均包络能量的比率[2].当电流能比大于时,分解停止maxenergyratio
.为我,定义能量比为
[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。
[4]王,帮派,西安瑶陈,方丽乔,赵华吴,而Norden E. Huang。“关于内在模式功能。”自适应数据分析的进步02,没有。03(2010年7月):277-93。https://doi.org/10.1142 / s1793536910000549
使用说明和限制:
代码生成不支持时间表。金宝app
如果提供,则使用该方法指定的插值方法'插值'
名称 - 值对必须是编译时常数。
Hai Fatto Clic Su Un Collegamento Che Corlisponde A Questo Comando Matlab:
在MATLAB中使用最简单的方法。我浏览器web不支持使用MATLAB金宝app。
您还可以从以下列表中选择一个网站:
请选择表现最佳的中国网站(中文或英文)。MathWorks的其他国家网站并没有针对您所在位置的访问进行优化。