边际谱问题
= wavread('normal.wav');z=Y(10000:25000);
N=length(z);
imf_a=emd(z,1:length(z));
= hhspectrum(imf_a);
=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;
我知道错误在=toimage(A,fa,tt,length(tt));是因为我的数据太大(15000)才那样.如果这样我给怎么办呢?
我在法国人代码有求边际谱是
psd=hhmspectrum_new(A,fa,200);
disp_hhms_new(psd,200);
但是出来的结果有是错的.(我有两个频率,但出来一个) 麻烦大家帮我看看 谢谢 是啊!我跟楼主的问题很相似。楼主,你如果把HHS的语句改为:
= hhspectrum(imf(1:end-1,:));
= toimage(A,f,tt);
disp_hhs(E,[],fs);
就可以执行了。为什么?难道没有大牛来回答吗?
对于有的信号,两套语句都可以执行,但作出的图差别很大。
另外,用=toimage(A,fa,tt,length(tt));求出的E,其行数目和列数目相同,与 = toimage(A,f,tt);也不一样。
谁能回答啊?感激ing 好几天了也没高手来看看啊!:'(
在论坛上大多数信号就是那些正弦 余弦等叠加.数据也比较少
如果我数据多,就碰到上述问题. 斑竹帮我看看啊
页:
[1]