emd中的imf分解不对
这是运行程序,发现改变采样频率,分解的结果差很多,分解1个IMF,5个imf的都有,希望大家给点建议,至于源程序就是特别长的那个N=600;
fs=8000;
%t=;
n=0:N-1;t=n/fs;
x=100.*sin(100*pi*t)+30.*sin(300*pi*t)+10.*sin(500*pi*t)+6.*sin(700*pi*t);
imf=emd(x);
%imf=emd(x);
emd_visu(x,1:length(x),imf)
%subplot(6,1,1);ylabel('singnal');title('Empirecal Mode Decomposition');axis(); 采样点数和信号的频率成分都对emd分解有影响,第一次分解的有模态混叠现象产生,具体的问题你可以看看rilling写的那篇文章!程序是对应的文章的
回复
imf=emd(x,'STOP',);这和停止准侧有关系吗 呵呵,楼主是HHT群里的吧,可以增大筛分次数啊,不过程序运行比较慢,再一个就是虚假分量多 本帖最后由 峰之巅 于 2010-10-30 16:42 编辑也不是你的EMD分解结果不对,而是EMD对于频率相近的信号分解本来就是一个困难。你所给的仿真信号中,f1=50,f2=150,f3=250,f4=300。这四个频率中,f3与f4的频率比较小,EMD无法分开的,也就形成所谓的模态混叠现象。f2与f3的频率比虽然说还可以,但是仍然没有达到完全分开的程度,你如果只对这两个频率的合成信号进行EMD,第一层IMF中仍然会存在模态混叠的情况。
不过以前好像见过有解决频率相近情况下的模态混叠问题,如果有知道的朋友,解释下,谢谢。
回复 峰之巅 的帖子
貌似见过好像有的是利用FFT分析出频率成分,利用滤波分开,再进行emd,貌似是这样,有不对之处,请指正。 EMD分解能 用来去噪吗? 这样做的话,我认为不太妥当,没有太大的意义。如果用fft变换分析出频率,然后再滤波,也就构成了所谓的先验知识,对于先验知识再使用EMD,也就失去了EMD自适应分解的初衷。
{:3_48:}
页:
[1]