声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1326|回复: 3

[HHT] 请教画hht谱的程序中看不懂的几句

[复制链接]
发表于 2009-6-20 12:04 | 显示全部楼层 |阅读模式

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

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

x
我用Rilling的程序,画边际谱或者hht谱。求完瞬时频率和瞬时幅值后要用toimage函数把一维转换成二维图输出,此函数的最后几句看不懂,请大侠指点。如下:
     indf = round(2*f*(sply-1)+1);
     indt = repmat(round(linspace(1,length(t),splx)),size(A,1),1);
     im = accumarray([indf(:),indt(:)],A(:),[sply,splx]);
     indt = indt(1,:);
     tt = t(indt);
     ff = (0:sply-1)*0.5/sply+1/(4*sply);
回复
分享到:

使用道具 举报

发表于 2009-6-20 17:32 | 显示全部楼层
这段代码中核心是accumarray函数
楼主可以仔细看看这个函数的matlab说明文档。这和黄的程序中的这段代码实现的功能是一样的
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
主要是按照频率大小将相应的振幅放到相应的矩阵的元素之中,实现hilbert 谱。

nspab.m

2.61 KB, 下载次数: 28

 楼主| 发表于 2009-6-20 19:39 | 显示全部楼层

回复 沙发 qishiaq 的帖子

多谢指点,之前看了accumarray函数的帮助说明,还是不太清楚才求助的。请问huang的程序和rilling 的程序有什么不同嘛?可以把整个程序都发给我看看不?多谢,我邮箱xiaoxiong702@126.com
 楼主| 发表于 2009-6-22 18:05 | 显示全部楼层

回复 沙发 qishiaq 的帖子

现在把每句语言都搞明白了,但是又有新的问题想请教。accumarray([indf(:),indt(:)],A(:)]已经可以把不同时间不同频率的瞬时幅值找到了,为什么还要把它复制成sply行,splx列呢。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-18 08:24 , Processed in 0.059232 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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