emd分解工具箱中的不同时间尺度是什么意思

经验模态分解EMD_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
经验模态分解EMD
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩4页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 15528|回复: 65
emd方法的 几点不明 请高手予以解答
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
才可以下载或查看,没有帐号?
首先声明 刚刚学习 比较笨 问的问题 比较弱,希望多给点耐心
1. 分量c1,c2,c3...cn分别包含了从高到低不同的频率断,每一段频率成分是不同的,而且随信号x(t)变换而变化,rn则表示了信号x(t)的中心趋势
对于这句话&&有点不解 c1 c2...cn是不是严格按照频率从高&&到低, 而且rn说表示中心趋势 我看有的说误差 看来应该是分情况而定的把??
2. 对于黄的程序 暂时我没有仔细研读啊 ,不知道他在对于emd缺点改进方面作了那些工作,此程序在对于emd的改进如何,更确切的说 这个程序的可用度如何, 更适合分析甚么信号!
通过看imf定义,可以看到 它对于具有调幅和调频的信号 对称信号 处理应该是比较不错的,但是实际信号 比如地震信号 时域波形应该畸变 不是标准的正弦波 或者于弦 ,而我门在举例子的时候 都倾向于 举一标准的正于弦 或者 调幅 调频,如果举噪声的例子,结果又会怎么样那??
3. 对于现在搞emd的都在对黄的程序,在改进 ,结果也出了不少文章 ,在故障诊断这块 ,作的不错的 湖南大学于老师 在机械系统与信号处理 发过3-4篇 文章, 算法作了改进 ,主要故障设计 齿轮 和轴承 ,这些信号 大家都清楚 出现调幅调频的几率比较达大,处理起来效果应该还可以,但是对于别的故障,不知道大家有没有试验过,如果转速变化比较大,所采集的波形波动比较大时,效果是不是还比较好呢?? 我现在还是觉得 信号略处于稳态的 处理效果比较好些, 期待大家 讨论?
如果能把你亲自处理过的东西,加以分享最好,避免大家走同样的弯路,仅以此帖 希望大家讨论 ??
因为学习时间尚短暂 ,问题问的不那么专业,大家别笑话??
原帖由 malong 于
19:22 发表
首先声明 刚刚学习 比较笨 问的问题 比较弱,希望多给点耐心
1. 分量c1,c2,c3...cn分别包含了从高到低不同的频率断,每一段频率成分是不同的,而且随信号x(t)变换而变化,rn则表示了信号x(t)的中心趋势
迟点再交流一下,这几天忙得要死
呵呵 没问题
huang在HHT解决非线性问题上混淆了非线性时间序列和非线性系统的响应这两个概念,也可能是故意的。总的来说HHT确实可以很好的解决非线性时间序列问题,但是对于非线性系统的响应还并不能很好的解决。
请问:HHT变换后的瞬时频率的真实值怎么求?有人说是归一值乘上采样频率,我算了一下,好象不对
针对楼主的问题,我的理解如下,望大家讨论。
1.根据EMD的处理方法,c1 c2...cn是严格按照频率从高到低产生的。rn表示信号趋势项,因筛分过程产生的误差也会累积出现在这当中。
2.你说的程序是法国人G. Rilling的吗?他在结束准则和边界效应方面有所改进。结束准侧他利用三个参数限制循环次数;边界他利用类似镜像延拓的方法进行了处理。总的感觉处理缓变调频调幅信号还可以。我认为EMD对噪声较敏感,前期去噪很关键。
3.当前对EMD的改进,大多集中在边界效应、结束准则、插值方法等方面。我个人认为上下包络取平均以得到局部平均似乎是造成EMD许多问题出现的根源,它的合理性是否需要进一步研究?
胡言乱语,望高人指正。
<p id="rate_62" onmouseover="showTip(this)" tip="启发引导性回答&威望 + 1 点
" class="mtn mbn">
原帖由 huangyong87 于
18:13 发表
针对楼主的问题,我的理解如下,望大家讨论。
1.根据EMD的处理方法,c1 c2...cn是严格按照频率从高到低产生的。rn表示信号趋势项,因筛分过程产生的误差也会累积出现在这当中。
2.你说的程序是法国人G. Rilling ...
观点基本正确,补充如下:
1. c1 c2 ... cn 的确是严格按照频率从高到低产生的,不过这里有一个误区,其意思并不是说c1的频率一定比c2的高,正确的理解是c1中的某个局部的频率比c2中相同局部的频率要高,这也正好反映了EMD算法局部性强的本质所在,也跟黄的说法“相邻的分量可能包含相同时间尺度的振荡,但是相同时间尺度的振荡绝对不会出现在两个不同的IMF分量的同一个位置”一致。至于分解过程造成的误差(主要是包络方式的选取、边界效应的处理和滤波停止条件的设计),会不断累积到下一层分解中,并不一定是最后一个余量(趋势项)。
a) 黄的源程序其实我们都没有得到(这个不是免费的,因为黄已经在NASA中申请了专利),一般大多数人使用的都是Flandrin提供的源代码,也就是LS提到的G.Rilling的方法(之所以有两种不同说法是因为网站提供的源代码是Flandrin的,但是emd.m提到的文章是G.Rilling作为第一作者的,也许外国人不像我们那样通过次序来区分贡献,呵呵)。程序基本上可靠,可以用来分析各种数据,但是效果如何,就要看是否满足你的需要了。至于适合什么样的数据,现在还没有定论,其一,EMD算法还没有建立一个合适的数学模型,也就缺乏严格的数学基础,很多诸如收敛性、唯一性、正交性等数学问题根本无法进行,甚至连“什么信号能进行EMD分析”目前也无法解释。其二,算法本身是操作性的,到目前为止也是经验的(正如算法的名称一样),在没有找到其理论支撑之前,无从考究。其三,一种算法,不可能对任何信号都有效,所以不要指望EMD可以处理任何信号。
b) 从IMF的定义看的确要求IMF是对称的,但是这不意味着要求信号本身具有这样的特性,也并不要求信号是正弦、余弦等的合成,我想,之所以EMD能引起那么多人关注,除了所谓的“传销”得当以外,更重要的是它在实际中的表现,如果只能处理规则的信号,那么它的影响(包括好的和也许坏的)远不可能如此成功。
c) EMD从高到低产生各IMF的特性就意味着它可以用来去噪,而并非在使用EMD之前用其他方法进行噪声处理。举个例子吧,我这段时间做的脑功能激活区检测,本质上就是去除信号的噪声,把原始的刺激恢复出来的这么一个过程。实现结果是很不错的,无论对于加性的服从规则分布(例如高斯分布、均匀分布等)的随机信号,还是对于乘性的服从规则分布(我只测试了poisson分布)的随机信号。当然了,后者的结果当然比不上前者,不过足以超过用于检测的传统方法。个人认为EMD之所以在实际中那么有效,是因为它能处理非平稳、非线性的时间序列。
3. 目前对EMD方法的改进分为两个方面,一个是实验层面的,另一个是理论层面的,相对来说,后者少之又少。
a) 前者主要包括是两个部分。实际上,这是大家在利用EMD进行信号分解时采取的一些主观规则。其一是根据对零均值条件的主观理解,使用了不同的方法作为IMF滤波停止条件;其二是利用三次样条计算信号的上、下包络时,根据信号两端的走势,使用了特定的端点延拓方法。当使用EMD进行非平稳和非线性信号分解时,在上述两点上使用不同的规则将导致不同的EMD分解结果。2003年G. Rilling等人对Huang的EMD算法进行的改进就属于第一种,个人认为该条件比Huang原来的条件合理。而国内学者诸如2001年邓拥军等提出的神经网络方法、2003年黄大吉等提出的镜像闭合法和极值点延拓法以及2004年刘慧婷等提出的多项式拟合算法等,是属于第二种。至于这两年的研究成果,我还没有整理,呵呵。
b) 后者主要是2004年谌球辉等人提出利用“滑动平均”的方法代替传统的“包络平均”的方法来求出信号的低频。他们试图借助B样条函数已有的良好性质来为建立EMD的数学基础作进一步推进。另外,2006年初黄对EMD算法得到的IMF提出了一个后处理算法(本质上是对IMF进行规范化),其目的是为了更加准确的得到瞬时频率和振幅(个人认为这才是真正的包络和瞬时频率,来京之前我试图从局部意义上来证明这个算法的收敛性,但只得到阶段性结果,最近听说我的一个师弟已经从全局意义上基本上证明出来了,待我回去以后再看看具体成果吧,呵呵),算法的思想是把两者尽量分开,把调幅的影响从调频中脱离出来。该处理方法完全抛弃了Hilbert变换,使得瞬时频率和瞬时振幅更加准确、更有意义
总的来说,EMD乃至HHT虽然有很多缺点,但是也并非一无所用,在理论上的证明和进一步完善需要更多的关注,而在实验中的用处就看你的需要和如何发挥它的潜力了。
[ 本帖最后由 eight 于
12:51 编辑 ]
<p id="rate_62" onmouseover="showTip(this)" tip="回答比较全面&威望 + 1 点
" class="mtn mbn">
原帖由 eight 于
11:07 发表
另外,2006年初黄对EMD算法得到的IMF提出了一个后处理算法,其目的是为了更加准确的得到瞬时频率和振幅 ...
多谢指教!
请问你说的后处理算法是指将IMF规则化处理后再进行Hilbert变换吗?文献或文献名能否提供?
原帖由 huangyong87 于
11:50 发表
多谢指教!
请问你说的后处理算法是指将IMF规则化处理后再进行Hilbert变换吗?文献或文献名能否提供?
正是,论文应该没有发表出来吧,只是在之前的会议上交流了一下,文章不在身边
原帖由 eight 于
11:07 发表
该处理方法完全抛弃了Hilbert变换,使得瞬时频率和瞬时振幅更加准确、更有意义 ...
请问你说的完全抛弃了Hilbert变换是指利用Arccos法或过零法或TEO法求瞬时频率吗?依我愚见将IMF规则化处理的原因是Hilbert变换要得到有物理意义的瞬时频率必须满足Bedrosian法则,这才需要“把调幅的影响从调频中脱离出来”。若抛弃了Hilbert变换,这要做的目的又是什么呢?还望指教。
原帖由 huangyong87 于
14:37 发表
请问你说的完全抛弃了Hilbert变换是指利用Arccos法或过零法或TEO法求瞬时频率吗?依我愚见将IMF规则化处理的原因是Hilbert变换要得到有物理意义的瞬时频率必须满足Bedrosian法则,这才需要“把调幅的影响从调频 ...
将IMF规则化处理的原因是Hilbert变换要得到有物理意义的瞬时频率必须满足Bedrosian法则——正解
Arccos法或过零法或TEO法求瞬时频率——不是
Hilbert变换是从复信号的观点得到的虚部所必须满足的条件,也就是:原信号+ i 原信号的Hilbert变换 得到一个解析信号。引入Hilber变换不是目的,而是结果,然后我们可以利用这个解析信号来求出瞬时频率,但是这种方法有两个限制,一个就是Bedrosian定理(1963),另一个就是Nuttall定理(1966)。Huang年初提出的通过规范化来对IMF进行处理,可以使得处理后的信号自然满足Bedrosian定理
[ 本帖最后由 eight 于
15:18 编辑 ]
那么,你说的“完全抛弃了Hilbert变换”是指什么呢?
抱歉,实在是有一些粘糊,我真是对这很感兴趣。等你方便的时候,能否较详细地说一下你了解到的HHT的最新进展?
[ 本帖最后由 huangyong87 于
16:46 编辑 ]
原帖由 huangyong87 于
16:45 发表
那么,你说的“完全抛弃了Hilbert变换”是指什么呢?
抱歉,实在是有一些粘糊,我真是对这很感兴趣。等你方便的时候,能否较详细地说一下你了解到的HHT的最新进展?
感兴趣的话,还是找huang的原文看看吧,我怎么说也说不好的
不少收获,感觉需要的数学功底特别厚了。
我还有一个问题,就是通过emd分解的到了严格意义上讲是imf单分量信号,比如说原信号本身是一个单分量信号分解后是不是会原封不动的提取到这个单分量信号和近似为零的imf分量;还是说emd硬是将原信号分解为一系列含不同频率成分的和?还是说结果会有出入,不一定呢?
原帖由 hdwang 于
15:26 发表
不少收获,感觉需要的数学功底特别厚了。
我还有一个问题,就是通过emd分解的到了严格意义上讲是imf单分量信号,比如说原信号本身是一个单分量信号分解后是不是会原封不动的提取到这个单分量信号和近似为零的imf ...
只要算法是对所得到的IMF进行的两个条件的判断,那么结果肯定是信号本身。flandrin原始的程序(即在今年2月之前发布的旧版程序)就是因为条件判断所对应的对象不对,所以导致多余的IMF成分,新版的程序就改了过来
Powered by查看: 22140|回复: 38|关注: 0
Matlab关于EMD分解后希尔伯特谱分析
<h1 style="color:# 麦片财富积分
新手, 积分 10, 距离下一级还需 40 积分
关注者: 4
我已经用EMD方法将原始信号x(t)分解成各IMF分量与趋势项。
接下来希望:
1、得到每个IMF的希尔伯特谱;
2、原始信号x(t)的希尔伯特谱;
3、得到各个IMF的瀑布图和时频图;
4、得到原始信号x(t)的瀑布图和时频图。
请问哪位有实现的程序?或者给我提点下?感谢
以下为我自己做的程序,但运行不过去!
t=0:1/fs:1;
x=sin(2*pi*50*t)+sin(2*pi*20*t);
c=emd(x);%对原始信号EMD分解
[m,n]=size(c);
% 对各IMF做Hilbert Transform
& & h1=hilbert(c(1,:));
& & h2=hilbert(c(2,:));
& & a1=abs(c(1,:)+j*h1);
& & a2=abs(c(2,:)+j*h2);
& & figure
& & [t,F]=meshgrid(0:0.1:1,0:50:200);
& & mesh(t,F,abs(a1))
这是提示出错信息:
??? Error using ==& mesh at 74
Z must be a matrix, not a scalar or vector.
Error in ==& compare1 at 157
& & mesh(t,F,abs(a1))
另外,这是对该信号生成的IMF分量作HT后的时频图(正确的图形)
<h1 style="color:# 麦片财富积分
关注者: 4
急等大家赐教啊 哈哈
论坛优秀回答者
关注者: 420
1,调用hilbert函数变换:
h1=hilbert(c(1,:));
h1本身就是一个复数,实部是c(1,:),虚部是c(1,:)的hilbert变换,所以不需要c(1,:)+j*h1。
2,经EMD分解的IMF分量只是一个时间函数,没有办法画出3维图的。
<h1 style="color:# 麦片财富积分
关注者: 3
EMD 工具箱package_emd中有分析hilbert谱的程序hhspectrum,
[A,f,tt] = HHSPECTRUM(x,t,l,aff) computes the Hilbert-Huang spectrum
以及相应的时频显示程序,to_image, disp_hhs等,你可以参考一下。。
<h1 style="color:# 麦片财富积分
关注者: 4
回复 3# songzy41 的帖子
对三楼你说的:1,调用hilbert函数变换:
h1=hilbert(c(1,:));
h1本身就是一个复数,实部是c(1,:),虚部是c(1,:)的hilbert变换,所以不需要c(1,:)+j*h1。
我的疑问是c(1,:)与h1构成解析信号:c(1,:)+j*h1。这个解析信号的包络a1=abs(c(1,:)+j*h1);那么将a1表示在联合的时频平面上,就得到c(1,:)的希尔伯特谱!
同理,原始信号的谱也是这样求的呀?!
哈哈&&我掌握不好,请各个批评指正
<h1 style="color:# 麦片财富积分
关注者: 4
回复 2# 王瀚 的帖子
请各位继续解答 呵呵
<h1 style="color:# 麦片财富积分
关注者: 4
回复 4# 老老的学生 的帖子
[A,f,tt] = HHSPECTRUM(imf,t,l,aff) 这个函数中
- imf : matrix with one IMF per row %按行对各分量HH分解
- t& &: time instants %瞬时时间或持续时间 ??
- l& &: estimation parameter for instfreq %瞬时频率的估计参数 ??
- aff : if 1, displays the computation evolution ??
%& &- A& &: amplitudes of IMF rows
%& &- f& &: instantaneous frequencies
%& &- tt&&: truncated time instants %截止时间 ??
%& &- hilbert&&: computes the analytic signal
%& &- instfreq : computes the instantaneous frequency %瞬时频率
不知%后面,我的理解是否正确?那这些t,l,aff如何得到呀?!
<h1 style="color:# 麦片财富积分
关注者: 3
[A,f,tt] = HHSPECTRUM(imf,t,l,aff) 这个函数中
- imf : matrix with one IMF per row %按行对各分量HH分解 (将emd分解得到的IMF代入就可以,就是你的程序中写的c变量,不用加最后一行的趋势项)
- t& &: time instants %瞬时时间或持续时间 ??(写[1:信号长度]就可以,真实的时间可以根据采样率转换)
- l& &: estimation parameter for instfreq %瞬时频率的估计参数 ??(写1就可以,决定瞬时频率估计时的边界从第几个点开始)
- aff : if 1, displays the computation evolution ??(显示计算进程选项,不想显示写0就可以)
%& &- A& &: amplitudes of IMF rows
%& &- f& &: instantaneous frequencies
%& &- tt&&: truncated time instants %截止时间 ??(截断时间,返回的是瞬时频率对应的时间,要比原来信号的时间按短,由前面的l值决定)
%& &- hilbert&&: computes the analytic signal
%& &- instfreq : computes the instantaneous frequency %瞬时频率 (对)
给你个例子。在你的程序中,你可以输入:
[A,f,tt] = hhspectrum(c(1:end-1,:),[1:n],1,0);
[im,tt,ff] = toimage(A,f,tt,512);
disp_hhs(im,tt,[],fs);
祝顺利:)
<h1 style="color:# 麦片财富积分
关注者: 3
关于时频图的概念,我认为是与诸如小波,gabor等联合时频分析方法联系在一起的。
小波,gabor等具有多尺度分析的概念,得到的时频分布是一个二维的矩阵(横轴时间,纵轴频率,可以用不同的颜色(光谱图spectrogram)或瀑布图表示不同的幅度)。
对HHT来讲,我觉得气时频图的概念是有些不同的。EMD分解的作用就是把复杂的信号分界为简单的单分量的信号,使其可以应用瞬时频率的概念,hilbert变换的目的就是分析出瞬时频率。所以HHT在每一时刻得到的只有一个值,而不是像小波之类的得到一系列的值(多尺度分析)。所以我们从其时频分布图上看到的是一条线,而不是一幅图。
个人的一点理解,仅供参考!
论坛优秀回答者
关注者: 420
楼主是需要什么变换,做什么应用?hilbert变换 和HHT(Hilbert Huang Transform)是两种不同的变换,但都可用于瞬时频率的估算。
站长推荐 /1
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区基于EMD的锌钡白煅烧过程多尺度因子分析
基于EMD的锌钡白煅烧过程多尺度因子分析
杜启亮1,莫鸿强2,田联房2,毛宗源21.华南理工大学电子与信息学院,广东广州 2.华南理工大学自动化科学与工程学院,广东广州摘   要:针对回转窑过程多时间尺度信号的耦合关系往往会掩盖过程变化规律,导致未经时间尺度分解的直接的因子分析方法难以得到过程固有的变化模式的问题,提出采用基于EMD的多尺度因子分析方法对锌钡白煅烧过程的数据进行分析。该方法利用EMD有较强的自适应性,分解结果往往具有较强的
杜启亮1,莫鸿强2,田联房2,毛宗源21.华南理工大学电子与信息学院,广东广州 2.华南理工大学自动化科学与工程学院,广东广州摘   要:针对回转窑过程多时间尺度信号的耦合关系往往会掩盖过程变化规律,导致未经时间尺度分解的直接的因子分析方法难以得到过程固有的变化模式的问题,提出采用基于EMD的多尺度因子分析方法对锌钡白煅烧过程的数据进行分析。该方法利用EMD有较强的自适应性,分解结果往往具有较强的物理意义等特性,首先对锌钡白回转窑平稳运行时的生产数据进行EMD分解,根据分解结果提取不同的时间尺度数值,然后对不同尺度下的数据进行因子分析。分析结果显示,数据在周期3h以上的大时间尺度和周期30min以下的中小时间尺度上都分别表现出定常的特点,表明人工控制可分解为长周期控制和短周期控制两方面。实验结果表明该方法在处理回转窑过程多尺度数据处理方面的有效性。关 键 词:煅烧过程;多尺度;因子分析;经验模态分解1 引 言回转窑煅烧过程是一个多扰动、大滞后、强耦合、非线性的复杂对象,难以精确机理建模。目前国内外的控制系统一般采用在非模型条件下通过智能方法来实现过程控制[1]。当过程工艺合理,工人责任心强且经验丰富时,人工控制可实现稳定运行,因此可参考人工经验实现控制。传统的监控、智能控制和专家系统等方法很多都是参考人工控制经验分层实现的[2?3],也有用试验方法进行分析后进行系统设计的[4],但实际中由于生产的连续性等各种原因,不一定具备后者所要求的试验条件,因此有必要从生产数据中寻找人工控制和分层的依据。因子分析是一种多元统计方法,能够从一组随机变量的数据资料出发,分析出对变量有公共影响的公因子,适合用于对煅烧过程生产变量的数据资料的分析。由于锌钡白煅烧过程具有多尺度特征,表现在以下几个方面:回转窑的信号变化是多尺度的,如窑头温度等一类信号变化较快,而进料量等信号则相对稳定;实际操作中工人对不同的变量有不同的控制频率,对频繁波动的变量调整得较多,而变化缓慢的变量则很长时间才调整一次;从现场操作人员的角度看,他们的任务主要是根据生产需要保持关键变量短时间内稳定在某数值,而管理人员更关心的是各关键变量的长期趋势并据此发现生产和管理上存在的问题,所以信号的频谱有很大差异。如果直接用这些信号数据进行因子分析,这种多时间尺度耦合关系必定会影响分析结果。经验模态分解法(EmpiricalModeDecomposition,EMD)具有把信号按不同的时间尺度自动地分解成不同数据序列的能力,可以用于消除变量之间的耦合关系。本文首先采用经验模态分解法对过程数据进行分解,然后选择不同时间尺度下的数据进行因子分析,挖掘煅烧过程人工控制中的固有模式,从而为回转窑的分段控制提供了依据。
型号/产品名
worldchinatrade
东莞青雷医疗器材有限公司
深圳市硅虎电子有限公司
磐鸿科技(深圳)有限公司
深圳市百尔佳科技有限公司

我要回帖

更多关于 emd经验模态分解 的文章

 

随机推荐