声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1422|回复: 4

[HHT] 边际谱问题

[复制链接]
发表于 2008-11-20 19:30 | 显示全部楼层 |阅读模式

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

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

x
[Y,FS,NBITS,OPTS] = wavread('normal.wav');
z=Y(10000:25000);
N=length(z);
imf_a=emd(z,1:length(z));  
[A,fa,tt] = hhspectrum(imf_a);
[E,tt1]=toimage(A,fa,tt,length(tt));
E=flipud(E);
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;  
end
f=(0:N-3)/N*(fs/2);    %用hhspectrum求瞬时频率和瞬时幅值后,就少了两个数据所以N-3
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');  %边际谱

提示错误为:??? Out of memory. Type HELP MEMORY for your options.
Error in ==> E:\智能信息处理\心音处理HHT\hhtmai\toimage.m
On line 62  ==> im(splx,sply) = 0;

我知道错误在[E,tt1]=toimage(A,fa,tt,length(tt));  是因为我的数据太大(15000)才那样.  如果这样我给怎么办呢?
我在法国人代码有求边际谱是
psd=hhmspectrum_new(A,fa,200);
disp_hhms_new(psd,200);
但是出来的结果有是错的.(我有两个频率,但出来一个)

shuju.mat

117.38 KB, 下载次数: 9

程序中的Z数据

回复
分享到:

使用道具 举报

 楼主| 发表于 2008-11-20 19:31 | 显示全部楼层
麻烦大家帮我看看 谢谢
发表于 2008-11-24 22:42 | 显示全部楼层
是啊!我跟楼主的问题很相似。楼主,你如果把HHS的语句改为:
[A,f,tt] = hhspectrum(imf(1:end-1,:));
[E,tt,ff] = toimage(A,f,tt);
disp_hhs(E,[],fs);
就可以执行了。为什么?难道没有大牛来回答吗?
对于有的信号,两套语句都可以执行,但作出的图差别很大。
另外,用[E,tt1]=toimage(A,fa,tt,length(tt));求出的E,其行数目和列数目相同,与[E,tt,ff] = toimage(A,f,tt);也不一样。
谁能回答啊?感激ing
 楼主| 发表于 2008-11-25 21:22 | 显示全部楼层
好几天了也没高手来看看啊!:'(
在论坛上大多数信号就是那些正弦 余弦等叠加.数据也比较少
如果我数据多,就碰到上述问题.
 楼主| 发表于 2008-12-4 15:54 | 显示全部楼层
斑竹帮我看看啊
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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