为什么我用论坛上的程序画出来的hilbert边际谱和大家的不一样
本帖最后由 牛小贱 于 2014-5-19 10:24 编辑我看了置顶贴里破凰的程序,并用他的程序在自己的机子上做了一下,结果得到的边际谱和他的相差的太离谱了,我也下载了RILL最新版本的程序不知道哪位大侠知道其中的原因,以下是程序(附件为shipin.fig):
fs=1000; %fs为采样频率;
N=1000; %采样点数
t=1/fs:1/fs:1;
y1=2*sin(60*pi*t);
y2=5*sin(90*pi*t);
y=; %IMF集
%%%%%%%%%%%%%求边际谱
=hhspectrum(y);
=toimage(A,fa,tt,length(tt));
E=flipud(E);
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
把E=flipud(E)去掉就行了,RILL最新版本的不需要那一句。 我按照楼上的试过了,可就是把原来那个图翻转了一下,并没有别的变化,和破凰做的差远了,难道是我的MATLAB版本有问题还是我下的程序有问题啊???
还是有问题啊
下面是我去掉后的所画出来的图,[ 本帖最后由 zhangnan3509 于 2008-5-15 08:30 编辑 ]
回复 4楼 的帖子
论坛规定:千万不要指名要答案啊~~~~ 我现在卸载了matlab7.1,在装2008a,没法看你的图,你贴上jpg图就好了。不过如果图上是幅度为2频率为30Hz和幅度为5频率为45Hz的两条谱线就对了。回复 3楼 的帖子
把图贴出来,别用.fig形式 原帖由 zhouwwf 于 2008-5-14 15:23 发表 http://www.chinavib.com/forum/images/common/back.gif下面是我去掉后的所画出来的图,
34685
刚才看了一下,图形确实不对,如果你确信是RILL最新版本的程序,那可能是matlab版本不对,要求的版本是7.1或更高的版本。我用你的程序,把E=flipud(E)去掉后,图形如下,说明你的程序本身没什么问题。 我用的matlab是7.1的,用的是zhlong给的程序包,应该没什么问题啊??
上面是我画出来的图
7.1应该没问题,我用7.1的做过。你到这里去下载程序包试一试,那个肯定是最新的。http://perso.ens-lyon.fr/patrick.flandrin/emd.html
[ 本帖最后由 mingtiangenghao 于 2008-5-16 10:42 编辑 ] 谢谢楼上的,我用你给的工具包已经调试出来了!!!真是好人哪 原帖由 zhouwwf 于 2008-5-16 15:05 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢楼上的,我用你给的工具包已经调试出来了!!!真是好人哪
不客气,欢迎以后多来论坛交流! 版本和工具箱选的不对 为什么幅值和仿真信号对不上
页:
[1]