回复 #64 libobo2000 的帖子
呵呵,这里讨论的是HHT,不是FFT呀! 那位高手能不能详细的说一下求出时频图以后求边际谱的流程,我看过一些论文,好像说的都不是很详细。另外,在时频图中,是将所有的IMF分量的时频图做在一张图上好呢还是分开好,请赐教!谢谢!回复 #66 williamzhaos 的帖子
咱们版里有做边际谱的程序就在置顶贴里,至于时频图我想还是把所有的成分作在一张图上好一些回复 #67 zhangnan3509 的帖子
又是老兄,呵呵,谢谢了!不过我看到论坛里的帖子上基本都是关于法国那个源程序来的,我现在是自己用一些简单的方法实现了hht,通过上午老兄和其他高手的帮助,我现在也已完成了时频图部分。而关于边际谱部分还是有些迷茫,不知老兄可否点拨一二,不胜感激!
[ 本帖最后由 williamzhaos 于 2007-11-8 14:36 编辑 ]
回复 #68 williamzhaos 的帖子
简单?你仅仅想做时频图吗?rilling的程序里已经有了那部分,好好看一下就能找到,你最后做出来时频图的程序和rilling的如出一辙。边际谱这个帖子里面已经有了程序,我也不太清楚该怎么补充回复 #69 zhangnan3509 的帖子
我只需要做出时频图和边际谱就行了,主要是要讲程序加到我的仿真系统中去,实现谐波检测的作用!我觉得楼主的程序在设置频率点数处有点问题
破凰的原程序关于频率点数设置处有这么一段:for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs*1/tspan;
end
f=(0:N-3)/N*(fs/2);
通过将E矩阵对时间积分后得到bjp是一个行向量,其中每一列对应的是此频率在整个时间段对时间积分的结果,在画HHT边际谱时用到plot(f,bjp);语句,f应该和bjp是相同长度大小的向量吧,我认为边际谱的横坐标既然是频率那肯定f矩阵的长度应该对应的是E矩阵的行向量的数量(正好是HH谱中频率轴上的点数),不知道为什么楼主将信号在时域内的采样点数对应为边际谱的频率点数?我用楼主的频率设置方式画边际谱时总提示Vectors的数量不匹配,后来我将画边际谱的程序改成了:
for k=1:size(E,1)
bjp(k)=sum(E(k,:))*1/fs*1/tspan;
end
H=size(E,1);
f=(0:H-1)/H*(fs/2);
figure(3);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
就可以画出图来了。
回复 楼主 zhlong 的帖子
学习一下,很有启发,谢谢楼主 学习了,初学,还要一段时间才能体会啊 非常之感谢啊。。。。。。。。。。 还不错啊 回复 7 # 破凰 的帖子您真是一语点破我了思路,做边际谱时,幅值一直不对。原来我的采样时间只有0.16秒,所以边际谱幅值比实际幅值低了很多。 好东西啊,谢谢啊 赞一个!很有用 很实用。{:{23}:}