声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2377|回复: 10

[HHT] 大家来帮我看看我这个程序的hilbert谱和瞬时频率

[复制链接]
发表于 2013-5-8 10:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 longyi2003 于 2013-5-8 21:17 编辑

这几个图的效果都好差啊,,各位大牛们,,能告诉我这是什么原因造成的吗?
程序如下:
  1. clear;
  2. N=3200;
  3. t=linspace(0,1,N);
  4. delta=t(2)-t(1); % 采样周期
  5. fs=1/delta; % 采样频率
  6. x=50*sin(2*pi*50*t);
  7. y=15*sin(2*pi*150*t);
  8. y1=8*sin(2*pi*250*t);
  9. y2=5*sin(2*pi*350*t);
  10. y3=2*sin(2*pi*450*t);
  11. y4=1.8*sin(2*pi*550*t);
  12. z=x+y+y1+y2+y3+y4;
  13. % plot(t,z);
  14. imf=emd1(z);
  15. cemd_visu(z,1:length(z),imf);

  16. [B,f,tt]=hhspectrum(imf);
  17. [im,tt,Cenf]=toimage(B,f);
  18. disp_hhs(im,[],fs);
  19. colormap(flipud(gray)) %绘出Hilbert谱

  20. %画出边际谱
  21. %N=length(Cenf);%设置频率点数 %完全从理论公式出发。网格化后中心频率很重要,大家从连续数据变为离散的角度去思考,相信应该很容易理解
  22. for k=1:size(im,1)
  23. bjp(k)=sum(im(k,:))*1/fs;
  24. end
  25. figure;
  26. plot(Cenf(1,:)*fs,bjp); % 作边际谱图 进行求取Hilbert谱时频率已经被抽样成具有一定窗长的离散频率,所以此时的频率轴已经是中心频率
  27. xlabel('频率 / Hz');
  28. ylabel('幅值');

  29. s = size(imf);
  30. k = s(1);
  31. % figure
  32. %imf分量幅度
  33. for j=1:k
  34. %imf1的Hilbert变换
  35. xn(j,:)=hilbert(imf(j,:));
  36. xr(j,:)=real(xn(j,:));
  37. xi(j,:)=imag(xn(j,:));
  38. A(j,:)=sqrt(xr(j,:).^2+xi(j,:).^2);
  39. % subplot(k,1,j);plot(t,A(j,:));
  40. % plot(t,xn(j,:));
  41. % title(['imf',int2str(j)]);
  42. % hold on;
  43. end
  44. % hold off;
  45. %imf1的瞬时相位
  46. % figure,
  47. for j=1:k
  48. P(j,:)=atan2(xi(j,:),xr(j,:));
  49. % subplot(k,1,j);plot(t,P(j,:));
  50. % title('imf瞬时相位')
  51. end


  52. %imf1瞬时频率
  53. figure,
  54. for j=1:k;
  55. xh(j,:)=unwrap(P(j,:));
  56. % fs=6400;
  57. xhd(j,:)=fs*diff(xh(j,:))/(2*pi);
  58. % subplot(k,1,j);
  59. plot(t(1:N-1),xhd(j,:));title('imf瞬时频率')

  60. hold on;
  61. end
  62. hold off
复制代码

瞬时频率

瞬时频率

边际谱

边际谱

hilbert谱

hilbert谱
回复
分享到:

使用道具 举报

发表于 2013-5-8 17:08 | 显示全部楼层
模态混叠,产生的原因:1、信号中混有间断信号会导致EMD模态混叠,间断(间歇)信号是指高频小幅值信号;2、噪声(1和2可以看成一种情况);3、几个频率共存的混合信号中,不能将某几个频率信号正确分离。显然你的问题是由第3种情况造成的。第3种情况要满足下述条件:
未命名.bmp

点评

赞成: 3.0
赞成: 3
  发表于 2013-5-8 19:17
发表于 2013-5-8 20:36 | 显示全部楼层

那楼主的这个问题需要怎么解决呀?
 楼主| 发表于 2013-5-8 21:12 | 显示全部楼层
照这么说,HHT变换不能用在谐波检测上了?
还有个问题,下图我对信号直接做FFT变换后的频谱图,效果比HHT的频谱好多了,,基本上没误差。

FFT频谱图

FFT频谱图
发表于 2013-5-8 23:43 | 显示全部楼层
longyi2003 发表于 2013-5-8 21:12
照这么说,HHT变换不能用在谐波检测上了?
还有个问题,下图我对信号直接做FFT变换后的频谱图,效果比HHT的 ...

说明你的信号是平稳信号,HHT主要是针对非平稳信号,如果是平稳信号就用FFT,效果还好,何必用HHT呢?不同方法具有不同的对象。
发表于 2013-5-8 23:47 | 显示全部楼层
星星心 发表于 2013-5-8 20:36
那楼主的这个问题需要怎么解决呀?

暂时没有很好的解决办法,Gring提出用掩膜信号办法,EMD程序里有提到这个问题,论坛也有这方面的帖子,你可以找找,具体效果怎么样,自己试试吧,对于这类频率比较接近的信号,EMD不能很好的解决。
发表于 2013-5-8 23:53 | 显示全部楼层
longyi2003 发表于 2013-5-8 21:12
照这么说,HHT变换不能用在谐波检测上了?
还有个问题,下图我对信号直接做FFT变换后的频谱图,效果比HHT的 ...

网上有些论文是用HHT用于谐波检测,你可以看看,他们是怎么解决的,我不做这方面,不是很了解。
 楼主| 发表于 2013-5-10 14:21 | 显示全部楼层
shuihai707 发表于 2013-5-8 23:47
暂时没有很好的解决办法,Gring提出用掩膜信号办法,EMD程序里有提到这个问题,论坛也有这方面的帖子,你 ...

能不能用频带滤波把信号的频率分成几段,然后对各段进行emd分解。
发表于 2013-5-10 17:08 | 显示全部楼层
longyi2003 发表于 2013-5-10 14:21
能不能用频带滤波把信号的频率分成几段,然后对各段进行emd分解。

试试吧,可能不行,分段越多,端点效应就越明显了,个人理解,可以尝试。
发表于 2014-10-11 09:10 | 显示全部楼层
学习学习
发表于 2014-10-15 09:03 | 显示全部楼层
学习学习
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-15 21:22 , Processed in 0.064267 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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