声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: zhoupingwoo

[HHT] Hilbert边际谱程序(matlab)

  [复制链接]
发表于 2007-8-7 16:09 | 显示全部楼层

回复 #121 mofei 的帖子

已经对了啊,还有什么问题吗?
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-8-8 07:37 | 显示全部楼层
出现的频率不对啊,应该是在60Hz和90Hz处出现,但我那副图中两个频率都小于50Hz啊。
发表于 2007-8-8 07:44 | 显示全部楼层

回复 #123 mofei 的帖子

y1=2*sin(60*pi*t);
y2=5*sin(90*pi*t);

sin(2*pi*f*t)中的f才是频率,这样你就知道上面两个信号的频率到底是多少了。
发表于 2007-8-10 14:27 | 显示全部楼层
不好意思,是我看错了。谢谢您。
发表于 2008-12-5 10:01 | 显示全部楼层
原帖由 破凰 于 2007-4-27 21:51 发表
form求边际谱时所用程序是没有问题的,用的是矩形积分公式。
他所得结果不正确的原因是:输入的应是调用了toimage后的结果,而不是调用了hhspectrum后的结果。
下面给一段程序,大家可以去试下。边际谱的分析结果是 ...


下面是我仿真的图
第一张是用你的程序作出来的
第二张是用nspab函数和mspc函数作出来的
好像有区别呀
为什么呢?

bjp.fig

7.25 KB, 下载次数: 98

发表于 2008-12-25 13:18 | 显示全部楼层

Hilbert边际谱和FT变换后的幅频谱

这得出的Hilbert边际谱和FT变换后的幅频谱为什么会有这么大的区别呢,到底哪个幅值才是真正的实际幅值呢?
有参考价值吗? 程序如下:
load shuju
fs=5120;
N=4096;
a1=a(1:N,1);
a2=abs(fft(a1))*2/N;
f=fs*(0:N/2-1)/N;
n=length(f);
subplot(211)
plot(f,a2(1:n))
xlabel('频率 / Hz');
ylabel('幅值');
title('FT后的幅频图')
imf=emd(a1);
[A,fa,tt]=hhspectrum(imf);
[E,tt1]=toimage(A,fa,tt,length(tt));
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
subplot(212)
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
title('Hilbert边际谱')

图形

图形

shuju.mat

14.75 KB, 下载次数: 76

所用数据

发表于 2009-1-5 11:05 | 显示全部楼层
没人回答吗
发表于 2009-1-6 09:07 | 显示全部楼层
EMD分解的IMF能量和原信号其能量是不相等的。所以边际谱能量不能和FFT的能量相比。边际谱能量只能说明某个信号存在,能量相对于其他的大小。
发表于 2009-3-18 11:09 | 显示全部楼层

求助:EMD分解后,单个IMF的能量谱怎么做?

EMD分解后,单个IMF的能量谱怎么做?
发表于 2009-12-28 20:24 | 显示全部楼层

回复 113楼 chiu 的帖子

你的那个为什么乘以fs,有没有找到答案呢,为什么啊,我很不明白,为什么是对toimage的每一行进行求和?麻烦你一定要回一下,谢谢
发表于 2009-12-30 14:14 | 显示全部楼层
这得出的Hilbert边际谱和FT变换后的幅频谱为什么会有这么大的区别呢,到底哪个幅值才是真正的实际幅值呢?
有参考价值吗? 程序如下:
load shuju
fs=5120;
N=4096;
a1=a(1:N,1);
a2=abs(fft(a1))*2/N;
f=fs*(0:N/2-1)/N;
n=length(f);
subplot(211)
plot(f,a2(1:n))
xlabel('频率 / Hz');
ylabel('幅值');
title('FT后的幅频图')
imf=emd(a1);
[A,fa,tt]=hhspectrum(imf);
[E,tt1]=toimage(A,fa,tt,length(tt));
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
f=(0:N-3)/N*(fs/2);
subplot(212)
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
title('Hilbert边际谱')
附件
shuju.mat (14.75 KB)
2008-12-25 13:18, 下载次数: 46

所用数据

0.JPG (32.74 KB)
2008-12-25 13:18

图形
发表于 2009-12-30 14:15 | 显示全部楼层
原因是什么啊????  怎末没人回答??
发表于 2009-12-31 09:29 | 显示全部楼层

回复 133楼 xiangyu537 的帖子

边际谱是对IMF取包络线。因此它得到的谱能量要大于被取包络的信号能量。FFT谱和原信号的能量是相等的。所以从能量的大小讲,应该是边际谱能量大于FFT的能量。如果是一个谐波取边际谱和FFT的话,应该是频率对应的能量边际谱大于FFT。如果有什么值得商榷的地方,我们可以讨论。我的邮箱xbc75250397sina.com
发表于 2010-1-20 20:43 | 显示全部楼层

回复 37楼 破凰 的帖子

破凰,我运行了你的程序,得到的边际谱正好是实际的一半,我查看了workspace,发现数值是正确的。这是什么原因呢?
发表于 2010-3-23 19:18 | 显示全部楼层
在37楼提供的程序里,如果假设有一+也,得到的频谱图完全是另外一种情况
IV[{DS57[K{NH0`}12C7YX1.jpg
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 10:54 , Processed in 0.090930 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表