Rufter2007 发表于 2009-10-28 10:59

边际谱

初涉EMD内容。在网上找到一些关于hht边际谱的内容,不大理解。用matlab如何求解边际谱?在论坛以前的帖子里找到一段小程序,有些地方不明白,想请教下大家:
clear;
fs=1000;    %fs为采样频率;
N=1000;   %采样点数(如何定?)
t=1/fs:1/fs:1;%
y1=2*sin(60*pi*t);
y2=5*sin(90*pi*t);
y=zeros(size(y1))]; %IMF集(集合中为什么还要追加0行?)
%%%%%%%%%%%%%求边际谱
=hhspectrum(y);%
=toimage(A,fa,tt,length(tt));%
E=flipud(E);%(为什么要水平翻转?)
plot(tt1,E);
hold on;
for k=1:size(E,1)%
    bjp(k)=sum(E(k,:))*1/fs;%(bjp是什么量?)
end
f=(0:N-3)/N*(fs/2);
plot(f,bjp);
xlabel('频率 / Hz');
ylabel('幅值');
hold off;

Rufter2007 发表于 2009-10-28 11:01

谢谢大家的答复

bcyangbc 发表于 2009-11-2 12:07

http://forum.vibunion.com/forum/viewthread.php?tid=37688
这里有详细的解答

Rufter2007 发表于 2009-11-3 16:03

回复 板凳 bcyangbc 的帖子

这个帖子我也看过了,但是 还是没找到答案?谁能帮我一下,非常感激...

Rufter2007 发表于 2009-11-4 10:07

【求助】hht边际谱问题

我用以下程序对一段语音进行emd分解,遂求边际谱,图如下,不知道对不对,哪有问题?这个是imf的边际谱吗?请高手指教
clear;
fs=8000;    %fs为采样频率;
t=1/fs:1/fs:1;
=wavread('0.5s/s1.wav');
imf=emd(s);
=hhspectrum(imf);
=toimage(A,fa,tt,length(tt));
E=flipud(E);
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
plot(bjp);

Rufter2007 发表于 2009-11-4 10:10

hht边际谱问题

我用以下程序对一段语音进行emd分解,遂求边际谱,图如下,不知道对不对,哪有问题?这个是imf的边际谱吗?请高手指教
clear;
fs=8000;    %fs为采样频率;
t=1/fs:1/fs:1;
=wavread('0.5s/s1.wav');
imf=emd(s);
=hhspectrum(imf);
=toimage(A,fa,tt,length(tt));
E=flipud(E);
for k=1:size(E,1)
    bjp(k)=sum(E(k,:))*1/fs;
end
plot(bjp);


[ 本帖最后由 zhangnan3509 于 2009-12-15 09:23 编辑 ]

hsiao230657 发表于 2009-12-11 00:48

本帖最后由 wdhd 于 2016-9-20 12:59 编辑

  你好:
  执行这一行都会出错,=toimage(A,fa,tt,length(tt));
  请问是这个程序吗?谢

leeting918 发表于 2009-12-15 15:49

回复 楼主 Rufter2007 的帖子

你这个是时频谱啊

Rufter2007 发表于 2009-12-20 10:58

回复 板凳 leeting918 的帖子

?啊,...那该怎么求啊,谢谢指教,万分感激

chunhuajia 发表于 2009-12-21 20:44

求助toimage.m文件

Rufter2007,你好,我刚刚接触hht,
我在执行这一行时出错,=toimage(A,fa,tt,length(tt));
说是我的toimage.m文件中有错,你能给我传一份你的toimage.m文件吗?谢谢

Rufter2007 发表于 2009-12-22 10:06

回复 5楼 chunhuajia 的帖子

提示什么错误呢?我这个文件也是下程序包是自带的喔。呵呵,大家共同学习下啦

[ 本帖最后由 Rufter2007 于 2009-12-22 10:08 编辑 ]

chunhuajia 发表于 2009-12-22 10:34

运行这一行时: = toimage(A,fa,tt,length(tt));
??? Error: File: toimage.m Line: 59 Column: 1
This statement is not inside any function.
(It follows the END that terminates the definition of
the function "toimage".)
      toimage.m中对应得行代码为:1t=length(t);
请教你一下,我刚刚学习这方面的知识,不是很懂。谢谢了

chunhuajia 发表于 2009-12-22 10:39

我刚看了你的toimage.m文件了,跟我的一样呀,我也不知道为什么我的程序运行到这一行会出现错误,呵呵,帮我提点建议
页: [1]
查看完整版本: 边际谱