Rufter2007 发表于 2009-12-20 17:01

关于语音信号EMD分解后,Hilbert谱的画法

对一帧话音信号(大约256个采用点)进行EMD,得到各阶IMF后再进行Hilbert变换,最后作出幅值-频率-时间的图。程序如下:
=wavread('32ms/s1.wav');
imf=emd(s);
=hhspectrum(imf);
=toimage(A,f,tt,length(tt));
im=flipud(im);
disp_hhs(im,[],100);
colormap(flipud(gray));
所得Hilbert频谱图如下,有误:看图上点的分布,频率分布从0hz-40hz,这与人的发声频率应分布在100hz-10000hz相矛盾。这样看来,图上的频率分布完全不对,哪位大侠能指导下,感激:)

[ 本帖最后由 Rufter2007 于 2009-12-20 17:05 编辑 ]

Rufter2007 发表于 2009-12-21 09:31

高人解答下啊....

呜呜,求救啦:'(

ChaChing 发表于 2009-12-21 13:41

回复 楼主 Rufter2007 的帖子

个人水平专业有限, HHT又是一知半解!
LZ取样有无设定错误?

Rufter2007 发表于 2009-12-21 16:08

回复 板凳 ChaChing 的帖子

唉,我也不知道到底哪出了问题,苦恼ing

songzy41 发表于 2009-12-21 18:17

把语句
disp_hhs(im,[],100);
改为如下试试
disp_hhs(im,[],fs);

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

回复 5楼 songzy41 的帖子

哇,太感谢了。是偶学艺不精,感谢指教,3Q

wwwsuizhou 发表于 2010-5-18 01:48

采样频率没有设置对
页: [1]
查看完整版本: 关于语音信号EMD分解后,Hilbert谱的画法