hms2006 发表于 2007-9-3 11:34

IMF的频率问题

对一个信号进行EMD后,再对第2到第8层的IMF求瞬时频率,因为分解只分解了9层。
可是求得的瞬时频率确是(只选取前面一部分)每一行对应一个层。看不出有什么频率越来越小。
再下面是我的程序,望高手指证。
167.35 168.21 166.99 166.11 163.87 160.52 152.58 142.61 120.49 94.429 105.54 133.81 145.05
151.83 162.73 161.49 163.37 161.86 161.52 159.45 158.73 157.69 156.61 156.09 154.88 155.93
0.24106 0.92617 0.86817 1.0915 0.67212 0.24346 179.66 178.9 178.51 177.65 177.63 177 177.55
177.55 177.94 178.08 178.17 178.29 178.41 178.57 178.69 178.79 178.84 178.88 178.85 178.79
178.04 177.68 177.69 177.57 177.61 177.53 177.59 177.53 177.59 177.54 177.61 177.56 177.65
1.0399 179.7 179.49 179.12 179 178.8 178.71 178.58 178.51 178.42 178.36 178.29 178.24
173.57 176.16 176.13 176.92 176.9 177.31 177.29 177.56 177.54 177.73 177.71 177.86 177.84


imf=emd(a);
m=size(imf,1);
fs=360;
for i=2:(m-1);
x(i,:)=hilbert(imf(i,:)');%先hilbert变化后再求瞬时频率
fnor(i,:)=instfreq(x(i,:)');
fnor(i,:)=fnor(i,:)*.fs;
end;

[ 本帖最后由 zhangnan3509 于 2007-9-3 14:11 编辑 ]

zhangnan3509 发表于 2007-9-3 14:12

回复 #1 hms2006 的帖子

这个频率不一定是整体的 从高阶到低阶变化,你看看是不是局部 高阶频率大于低阶频率

破凰 发表于 2007-9-3 14:17

各分量的瞬时频率差不多,有趣的实验。
lz最好把原信号的数据贴出来。

hms2006 发表于 2007-9-3 15:15

其实,我是想问那样子求瞬时频率的程序有没有错误,因为感觉瞬时频率的求得结果是不大正确的,因为按照分解的结果,也是从高频到低频的。这也是从整个图形一下子就能看出来,怎么求一下瞬时频率就成差不多了。

破凰 发表于 2007-9-3 16:45

回复 #4 hms2006 的帖子

程序中转置用的不对
你可以这样改
imf=emd(a);
m=size(imf,1);
fs=360;
for i=2:(m-1);
x(i,:)=hilbert(imf(i,:)')';%先hilbert变化后再求瞬时频率
fnor(i,:)=instfreq(x(i,:)')';
fnor(i,:)=fnor(i,:)*.fs;

wendy袁 发表于 2007-9-6 10:45

想问各位前辈,你们用的emd函数和instfreq是哪个?
能否提供?谢谢!

zhangnan3509 发表于 2007-9-6 10:50

回复 #6 wendy袁 的帖子

你搜索一下版面,里面有很多提示,而且请注意置顶贴的提示

wendy袁 发表于 2007-9-6 20:44

我找到了,不好意思,下次一定注意!
页: [1]
查看完整版本: IMF的频率问题