zhouwwf 发表于 2008-5-14 12:11

为什么我用论坛上的程序画出来的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('幅值');


mingtiangenghao 发表于 2008-5-14 12:32

把E=flipud(E)去掉就行了,RILL最新版本的不需要那一句。

zhouwwf 发表于 2008-5-14 15:19

我按照楼上的试过了,可就是把原来那个图翻转了一下,并没有别的变化,和破凰做的差远了,难道是我的MATLAB版本有问题还是我下的程序有问题啊???

zhouwwf 发表于 2008-5-14 15:23

还是有问题啊

下面是我去掉后的所画出来的图,


[ 本帖最后由 zhangnan3509 于 2008-5-15 08:30 编辑 ]

prideheart 发表于 2008-5-14 16:09

回复 4楼 的帖子

论坛规定:千万不要指名要答案啊~~~~

mingtiangenghao 发表于 2008-5-15 08:26

我现在卸载了matlab7.1,在装2008a,没法看你的图,你贴上jpg图就好了。不过如果图上是幅度为2频率为30Hz和幅度为5频率为45Hz的两条谱线就对了。

zhangnan3509 发表于 2008-5-15 08:31

回复 3楼 的帖子

把图贴出来,别用.fig形式

mingtiangenghao 发表于 2008-5-15 09:12

原帖由 zhouwwf 于 2008-5-14 15:23 发表 http://www.chinavib.com/forum/images/common/back.gif
下面是我去掉后的所画出来的图,
34685

刚才看了一下,图形确实不对,如果你确信是RILL最新版本的程序,那可能是matlab版本不对,要求的版本是7.1或更高的版本。我用你的程序,把E=flipud(E)去掉后,图形如下,说明你的程序本身没什么问题。

zhouwwf 发表于 2008-5-16 10:15

我用的matlab是7.1的,用的是zhlong给的程序包,应该没什么问题啊??

zhouwwf 发表于 2008-5-16 10:38


上面是我画出来的图

mingtiangenghao 发表于 2008-5-16 10:39

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

谢谢楼上的,我用你给的工具包已经调试出来了!!!真是好人哪

mingtiangenghao 发表于 2008-5-16 16:38

原帖由 zhouwwf 于 2008-5-16 15:05 发表 http://www.chinavib.com/forum/images/common/back.gif
谢谢楼上的,我用你给的工具包已经调试出来了!!!真是好人哪

不客气,欢迎以后多来论坛交流!

daxue123 发表于 2012-7-22 23:08

版本和工具箱选的不对

ck313 发表于 2014-5-19 10:16

为什么幅值和仿真信号对不上
页: [1]
查看完整版本: 为什么我用论坛上的程序画出来的hilbert边际谱和大家的不一样