li429 发表于 2008-7-31 10:11

请教imagesc的用法~~~

我用小波提取信号的某几个频率成分。
编的程序如下:
clc
clear all

fs=1000;%程序测试原始数据
t=0:1/fs:(1-1/fs);
s=2*cos(2*pi*40*t)+2*cos(2*pi*100*t)+2*cos(2*pi*200*t)+2*cos(2*pi*250*t);

wavename='cmor50-3';
scal=1:0.1:50;
coefs=cwt(s,scal,wavename);
f=scal2frq(scal,wavename,1/fs);   %将尺度转换为频率
   imagesc(t,scal,abs(coefs));          %绘制色谱图
   colormap(jet);
   xlabel('Time/Space(s)');
   ylabel('Scale');
   title('wavelet-transform time-frequency plane');

时间-尺度图为第一个图:
现在我的问题是:
根据
f=scal2frq(scal,wavename,1/fs);   所求的频率成分是正确的, 即 40100200250;
如第一个图所示,画的尺度--时间图也是正确的,4条尺度线是对的;

但是用 imagesc(t,f,abs(coefs));
画时间-频率时就错了,如第二个图,不是我想要的 40100 200 250这4条线;
恳请各位大虾帮忙解决这个问题,多谢!


http://www.baisi.net/attachment_pic.php?aid=1098514&noupdate=yes

http://www.baisi.net/attachment_pic.php?aid=1098515&noupdate=yes
页: [1]
查看完整版本: 请教imagesc的用法~~~