声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

123
返回列表 发新帖
楼主: rc-hw-0002

[HHT] 求助EMD分解误差和Hilbert变换

[复制链接]
发表于 2007-5-2 02:48 | 显示全部楼层
怎么将频率归一化取消呢?
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-5-24 22:46 | 显示全部楼层

回复 #15 rc-hw-0002 的帖子

能知道你的qq吗?

[ 本帖最后由 zhlong 于 2007-8-22 15:14 编辑 ]
发表于 2008-11-24 11:08 | 显示全部楼层
本帖最后由 VibInfo 于 2016-10-17 15:12 编辑
原帖由 rc-hw-0002 于 2007-4-21 23:05 发表
画边际谱
function ms=HHTms(x,N)
% Input-
%        x        - 2-D matrix x(k,n) of the HHT spectrum
%        N       - 分辨率
% Output-
%        ms        - vector ms(k) that specifies the margi ...


你这里的w=1:length(ms);w=w/N;是何用意呀?
发表于 2008-11-24 11:15 | 显示全部楼层
画边际谱
function ms=HHTms(x,N)
% Input-
%        x        - 2-D matrix x(k,n) of the HHT spectrum
%        N       - 分辨率
% Output-
%        ms        - vector ms(k) that specifies the marginal spectrum        surf(h)   shading interp
if(nargin<2)
    N=1;
end
n=size(x);
k=n(1);
n=n(2);
ms=sum(x')'/n;

w=1:length(ms);
w=w/N;
%画边际谱:
figure
plot(w,ms);
xlabel('\fontsize{18}频率 / Hz');
ylabel('\fontsize{18}幅值');
legend('\fontsize{18}希尔伯特边际谱');






楼主的程序里N是分辨率,那么1/N就是采样周期了,单位是时间t/s,而w=w/N就是周期乘以一个序列,单位还是s,这和你的图对不上吧?不知道我这么理解对不对?
所以我想知道楼主的w=1:length(ms);w=w/N;是想实现什么的?
谢谢
发表于 2009-4-29 22:13 | 显示全部楼层

回复 楼主 rc-hw-0002 的帖子

好贴呀!!!

[ 本帖最后由 大鹏之举 于 2009-4-29 22:17 编辑 ]
发表于 2010-5-26 09:19 | 显示全部楼层
本帖最后由 VibInfo 于 2016-10-17 15:12 编辑
原帖由 zhangnan3509 于 2007-4-21 23:20 发表




%----- Construct the ploting matrix
clear p;
h1=zeros(npt-1,nyy+1);
p=round(nyy*(omg-wmn)/dw)+1;
for j1=1:npt-1
   for i1=1:knb
      ii1=p(j1,i1);        
      h1(j1,ii1)=h1(j1,ii1)+a(j1,i1);
   end
end


请问这里的p求出来的是什么频率呢?为什要这样求呢
发表于 2010-5-26 09:23 | 显示全部楼层
本帖最后由 VibInfo 于 2016-10-17 15:12 编辑
原帖由 zhangnan3509 于 2007-4-21 23:20 发表
%----- Define the results
%w=linspace(wmn,wmx,ny-1)';
%xs=linspace(t0,t1,nx)';
h1=flipud(rot90(h1));
h1=h1(1:ny-1,:);

还有这里,%w=linspace(wmn,wmx,ny-1)';不是求频率轴上的坐标吗?是不是应该为nyy-1呢?
发表于 2010-5-26 09:27 | 显示全部楼层
还有,请问各位高手,什么是三点光滑?
发表于 2012-2-23 17:27 | 显示全部楼层
回复 13 # zhangnan3509 的帖子

请问程序里
for i=1:knb  
    a(:,i)=filtfilt(filtr,1,a(:,i));
   omg(:,i)=filtfilt(filtr,1,omg(:,i));
end
为什么要循环两次啊?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-26 21:03 , Processed in 0.084535 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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