经验模态分解
emd (___)
将原始信号、imf和残差信号作为子图绘制在同一图中。
负载和可视化由频率不同变化的正弦波组成的非间断连续信号。Jackhammer的振动和烟花的声音是非标准连续信号的示例。信号以速率进行采样FS.
.
负载(“sinusoidalSignalExampleData.mat”,'X',“fs”)t=(0:长度(X)-1)/fs;图(t,X)xlabel(“时间(s)”)
混合信号包含具有不同振幅和频率值的正弦波。
要创建希尔伯特频谱图,需要信号的固有模态函数(IMFs)。进行经验模态分解,计算信号的imf和残差。由于信号不平滑,请指定'pchip
作为插值方法。
[国际货币基金组织、残余信息]= emd (X,'插值',“pchip”);
在命令窗口中生成的表格表示每个生成的IMF的sift迭代次数、相对容差和sift停止准则。这个信息也包含在信息
.您可以通过添加来隐藏表“显示”,0
名称值对。
创建希尔伯特频谱图使用国际货币基金组织
使用经验模式分解获得的组件。
hht(imf,fs)
频率与时间的关系图是一个稀疏的图,其中有一个竖直的彩色条,表示IMF中每个点的瞬时能量。图中是原始混合信号分解后各分量的瞬时频谱。三个imf出现在图中,其频率在1秒内发生明显变化。
此三角函数具有相同物理信号的两个不同视图:
.
产生两个正弦曲线,s
和Z
,这样s
是三个正弦波和吗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.2729e-13
绘制正弦曲线并选择从2秒开始的1秒间隔。
图(t,[s' z']) xlim([2 3]) xlabel('时间'') ylabel (“信号”)
获取信号的声谱图。谱图显示了三个不同的正弦分量。傅里叶分析把这些信号看作是正弦波的叠加。
pspectrum(年代,1000,的谱图,“TimeResolution”4)
用emd
来计算信号的固有模态函数(IMFs)和附加的诊断信息。默认情况下,该函数输出一个表,其中指示每个IMF的筛选迭代次数、相对容忍度和筛选停止条件。经验模态分解将信号看成Z
.
(国际货币基金组织(imf), ~,信息)= emd (s);
零交叉和局部极值的数目最多相差1。这满足了信号为IMF的必要条件。
info.numzerossing - info.numextrema.
ans = 1
绘制IMF并选择从2秒开始的0.5秒间隔。IMF是AM信号,因为emd
将信号视为调幅信号。
图(t,imf)xlim([2.5])xlabel('时间'') ylabel (国际货币基金组织的)
从损坏的轴承模拟振动信号。执行经验模式分解以可视化信号的IMF并寻找缺陷。
节距直径为12厘米的轴承有8个滚动元件。每个滚动元件的直径为2厘米。当内圈以每秒25圈的速度行驶时,外圈保持静止。加速度计以10千赫对轴承振动进行采样。
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°并计算bfo。
ca = 15;BPFO = N * F0 / 2 *(1-D / P * COSD(CA));
使用pulstran
函数将冲击建模为5毫秒正弦周期序列。每个3 kHz正弦通过平顶窗口打开。使用幂律在轴承振动信号中引入渐进磨损。
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)];
通过在健康信号上添加影响来产生bfo振动信号。绘制信号并选择从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])
向信号添加高斯白噪声。指定噪声方差为 .
rn = 150;yGood = yHealthy + randn(size(yHealthy))/rn;yBad = ybfo + randn(size(yHealthy))/rn;plot(t,yGood,t,yBad) xlim([xLimLeft xLimRight]) legend(“健康”,“损坏的”)
用emd
对健康轴承信号进行经验模态分解。计算前五个固有模态函数(imf)。使用“显示”
名称值对以显示每个IMF的筛选迭代次数,相对容差和筛分停止标准的表。
imfGood=emd(yGood,“MaxNumIMF”,5,“显示”,1);
当前国际货币基金组织(IMF) | #筛Iter | |停止准则的相对托尔触及0.015551 1 | 3 | | SiftMaxRelativeTolerance 2 | 3 | 0.078816 | SiftMaxRelativeTolerance 3 | 8 | 0.085954 | SiftMaxRelativeTolerance 4 | 1 | 0.0043681 | SiftMaxRelativeTolerance 5 | 2 | 0.010567 | SiftMaxRelativeTolerance分解停止,因为“MaxNumIMF”了。
用emd
没有输出参数以可视化前三种模式和残差。
emd(yGood,“MaxNumIMF”5)
计算和可视化缺陷轴承信号的imf。第一种经验模式揭示了高频碰撞。这种高频模式会随着磨损的进展而增加能量。第三种模式表示振动信号中的共振。
imfBad = emd (yBad“MaxNumIMF”,5,“显示”,1);
当前的国际货币基金组织(IMF) | #筛Iter | |停止准则的相对托尔触及0.030781 1 | 2 | | SiftMaxRelativeTolerance 2 | 3 | 0.095804 | SiftMaxRelativeTolerance 3 | 4 | 0.15371 | SiftMaxRelativeTolerance 4 | 1 | 0.014778 | SiftMaxRelativeTolerance 5 | 2 | 0.04312 | SiftMaxRelativeTolerance分解停止因为“MaxNumIMF”了。
emd (yBad“MaxNumIMF”5)
分析的下一步是计算提取的IMFs的希尔伯特谱。有关详细信息,请参见计算振动信号的Hilbert频谱的例子。
负载和可视化由频率不同变化的正弦波组成的非间断连续信号。Jackhammer的振动和烟花的声音是非标准连续信号的示例。信号以速率进行采样FS.
.
负载(“sinusoidalSignalExampleData.mat”,'X',“fs”)t=(0:长度(X)-1)/fs;图(t,X)xlabel(“时间(s)”)
混合信号包含具有不同振幅和频率值的正弦波。
进行经验模态分解,绘制信号的本征模态函数和残差。由于信号不平滑,请指定'pchip
作为插值方法。
机电工程署(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 The decomposition stopped because the number of extrema of the residual signal is less than 'MaxNumExtrema'.
emd
生成一个与原始信号、前3个imf和残差的交互图。在命令窗口中生成的表格表示每个生成的IMF的sift迭代次数、相对容差和sift停止准则。控件可以隐藏表“显示”
名称 - 值对或将其指定为0
.
在绘图中的空白处单击鼠标右键以打开IMF选择器窗口。用IMF选择器选择性地查看生成的IMFs、原始信号和残差。
从列表中选择要显示的IMF。选择是否在绘图上显示原始信号和残差。
选定的imf现在显示在图上。
利用这个图来可视化从原始信号分解出来的独立分量以及残差。请注意,残差是根据imf的总数计算的,并不会根据中选择的imf而改变IMF选择器窗口。
X
—时域信号时域信号,指定为实值向量,或具有单列的单变量时间表。如果X
是一个时间表,X
必须包含递增的有限行时间。
指定可选的逗号分离对名称,价值
参数。的名字
是参数名称和价值
为对应值。的名字
必须出现在引号内。您可以以任何顺序指定多个名称和值对参数Name1, Value1,…,的家
.
“MaxNumIMF”,5
“SiftRelativeTolerance”
—Cauchy型融合标准0.2
(默认)|正标量Cauchy型收敛准则,指定为逗号分隔对,由'siftrelativeTolerance.
'和一个正标量。siftrelativeTolerance.
是否有一个筛检停止标准,即当当前相对容差小于时筛检停止siftrelativeTolerance.
.有关更多信息,请参见筛选相对宽容.
“SiftMaxIterations”
—最大筛选迭代次数One hundred.
(默认)|正标量整数最大筛选迭代次数,指定为逗号分隔对,包含'思考
'和一个正的标量整数。思考
是筛选停止标准之一,即当当前迭代次数大于思考
.
思考
只能使用正数量指定。
“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.命令窗口中生成的表指示每个生成的IMF的SIFT迭代,相对公差和SIFT停止标准的数量。指定显示
如1显示表或0隐藏表。
国际货币基金组织
-本征模函数内在模式函数(IMF),作为矩阵或时间表返回。每个IMF是具有正和缓慢变化的信封的幅度和频率调制信号。为了执行信号的光谱分析,您可以将Hilbert-Huang转换应用于其IMF。看遗传性出血性毛细血管扩张症
和固有模态函数.
国际货币基金组织
返回:
每列是矩阵国际货币基金组织
,当X
是一个向量
时间表,何时X
是一个单数据列时间表
残余物
-信号残差信息
- 诊断的其他信息诊断的其他信息,以结构形式返回,包含以下字段:
NumIMF
—提取的IMFs个数
NumIMF
是从1到的向量N,在那里N是国际货币基金组织的数量。如果没有提取IMFs,NumIMF
是空的。
NumExtrema
-每个货币基金组织的极值数
NumExtrema
是一个长度等于imf个数的向量。的KTh元素NumExtrema
的极值数是多少K国际货币基金组织(IMF)。如果没有提取IMFs,NumExtrema
是空的。
num零交叉
- 每个IMF中的过零点数
每个IMF的零交叉数。num零交叉
是一个长度等于imf个数的向量。的KTh元素num零交叉
零交叉的次数是多少K国际货币基金组织(IMF)。如果没有提取IMFs,num零交叉
是空的。
numsifting.
-用于提取每个IMF的筛选迭代次数
numsifting.
是一个长度等于imf个数的向量。的KTh元素numsifting.
是在提取中使用的筛选迭代的数量K国际货币基金组织(IMF)。如果没有提取IMFs,numsifting.
是空的。
意思是卑鄙的
-每一货币基金组织获得的上下信封平均值的能量
如果问题
上面是信封和吗乐
是下包络层,意思是卑鄙的
是平均值(((LE+UL)/2)。^2
.意思是卑鄙的
是一个长度等于imf个数的向量。的KTh元素意思是卑鄙的
平均包络能是K国际货币基金组织(IMF)。如果没有提取IMFs,意思是卑鄙的
是空的。
RelativeTolerance
-每一货币基金组织剩余资金的最终相对容忍度
相对容差定义为前一筛选步骤残差与当前筛选步骤残差之差的平方范数与后一筛选步骤残差的平方范数之比我筛选步骤。当RelativeTolerance
小于siftrelativeTolerance.
.有关更多信息,请参阅筛选相对宽容.RelativeTolerance
是一个长度等于imf个数的向量。的KTh元素RelativeTolerance
是否获得了最终的相对公差K国际货币基金组织(IMF)。如果没有提取IMFs,RelativeTolerance
是空的。
经验模式分解(EMD)算法分解信号X(T)转化为内禀模态函数(IMFs)和迭代过程中的残差。算法的核心组件涉及筛选一个函数X(T)获得新功能Y(T):
首先求的局部极小值和极大值X(T).
然后使用本地极值构建下部和上部信封s−(T)和s+(T)分别的X(T).从信封的意思来看,M(T).
减去平均值X(T)要获得剩余值,请执行以下操作:Y(T) =X(T)−M(T).
分解的概述如下:
首先,让R0(T) =X(T),在那里X(T)是初始信号,让我= 0..
在筛选之前,检查R我(T):
的局部极值总个数(TN)R我(T).
求出的能量比(ER)R我(T)(见能量比)。
如果(ER >MaxEnergyRatio
)或(TN <MaxNumExtrema
)或(IMFS的数量>MaxNumIMF
)然后停止分解。
让R我,上一页(T) =R我(T).
筛选R我,上一页(T)取得R我,坏蛋(T).
检查R我,坏蛋(T)
求的相对公差(RT)R我,坏蛋(T)(见筛选相对宽容)。
获取当前的sift迭代次数(IN)。
如果(RT <siftrelativeTolerance.
)或(在>思考
)然后停止筛选。已找到一个国际货币基金组织:国际货币基金组织我(T) =R我,坏蛋(T).否则,让R我,上一页(T) =R我,坏蛋(T),执行步骤5。
让R我+1(T) =R我(T)−R我,坏蛋(T).
让我=我+ 1.返回步骤2。
EMD算法通过迭代筛选过程分解信号x(t)进入IMFs国际货币基金组织我(t)和残留RN(t):
最初由Huang等人介绍。[1],IMF被定义为具有两个特征的函数:
局部极值的数量-局部极小值和局部极大值的总数-和零交叉的数量最多相差一个。
由局部极值构造的上下包络的平均值为零。
但是,如上所述[4],筛选直到获得一个严格的IMF,可能会产生没有物理意义的IMF。具体地说,筛选直到零交叉点的数目和局部极值最多相差1,就会产生像imf这样的纯色调函数,换句话说,函数非常类似于在傅立叶基上投影得到的函数。这种情况正是EMD努力避免的,因为它们的物理意义而偏爱调幅-调频调制组件。
参考[4]提出选项以获得物理上有意义的结果。的emd
函数通过使用筛选相对宽容,柯西型停止准则。的emd
函数迭代以提取自然的AM-FM模式。生成的imf可能不满足局部极值-零交叉准则。看正弦波本征模态函数的过零和极值.
筛选相对宽容本文提出了柯西型停止判据[4].当当前相对容限小于时,筛选停止siftrelativeTolerance.
.当前相对公差定义为
由于Cauchy准则不直接计算过零次数和局部极值,分解返回的IMF可能不满足本征模函数的严格定义。在这些情况下,您可以尝试减小siftrelativeTolerance.
从它的默认值。看[4]参阅停止标准的详细讨论。本文还讨论了在经验模态分解中坚持严格定义imf的优缺点。
能量比是筛选开始时信号的能量与平均包络能量的比值[2].当当前能量比大于时分解停止MaxEnergyRatio
.为了我TH IMF,能量比定义为
[1] 黄、诺登、郑申、龙国文、吴曼丽、邢海石、郑全安、颜乃全、董志超、刘汉忠。“用于非线性和非平稳时间序列分析的经验模式分解和希尔伯特谱。”伦敦皇家学会学报。系列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.“关于经验模式分解及其算法。”IEEE-EURASIP非线性信号和图像处理研讨会2003.NSIP-03。第8 - 11级,意大利。。
[4]王,帮派,西安瑶陈,方丽乔,赵华吴,而Norden E. Huang。“关于内在模式功能。”自适应数据分析的进展02年,没有。03(2010年7月):277-93。https://doi.org/10.1142/S1793536910000549。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
您还可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。