|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
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);
但是出来的结果有是错的.(我有两个频率,但出来一个) |
|