马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
最近几天一直想弄懂小波尺度和频率对应关系,可是查了很多资料还是没有搞明白。下面是matlab scal2frq函数中带的例子,我不大明白的是求伪频率的时候为什么要除以 sampling period,中心频率除以尺度,这个好理解,是尺度变换,小波也在伸缩,所以对应的频率也在变化。但我看了 scal2frq的源程序,中心频率除以尺度应该是真实的频率,而不应该是归一化频率,所以我就糊涂了。有没有高手过来解释一下?
我个人觉得这和计算小波的函数CWT有关系。
wname = 'db10';
A = -64; B = 64; P = 224;
delta = (B-A)/(P-1);
t = linspace(A,B,P);
omega = 5; x = cos(omega*t);
freq = omega/(2*pi);
scales = [0.25:0.25:3.75];
TAB_PF = scal2frq(scales,wname,delta);
[dummy,ind] = min(abs(TAB_PF-freq));
freq_APP = TAB_PF(ind);
scale_APP = scales(ind);
str1 = ['224 samples of x = cos(5t) on [-64,64] - ' ...
'True frequency = 5/(2*pi) =~ ' num2str(freq,3)];
str2 = ['Array of pseudo-frequencies and scales: '];
str3 = [num2str([TAB_PF',scales'],3)];
str4 = ['Pseudo-frequency = ' num2str(freq_APP,3)];
str5 = ['Corresponding scale = ' num2str(scale_APP,3)];
figure; cwt(x,scales,wname,'plot'); ax = gca; colorbar;
axTITL = get(ax,'title');
axXLAB = get(ax,'xlabel');
set(axTITL,'String',str1);
set(axXLAB,'String',[str4,' - ' str5]);
clc; disp(strvcat(' ',str1,' ',str2,str3,' ',str4,str5)) |