在下面的代码示例中,我希望打印输出的行彼此匹配,至少大约相同。但他们没有。
% input data
y = rand(10000,1);
dt = 1/500; % 500Hz is the sampling rate
% wavelet transform
f = 1:50; % frequencies at which to perform WT
s = scal2frq(f,'morl',dt); % corresponding scales estimates
wt = cwtft( y, 'wavelet', 'morl', 'scales', s );
[ f; wt.frequencies/dt ]
我试图在Matlab中使用连续小波变换,我想在输入信号中以不同的频率执行变换,但我很难找到估算相应的可靠方法秤
在该代码示例中,我使用scal2freq
来估计这些比例(知道它是渐进式的,即scal2frq(scal2frq(x,'morl',dt),'morl',dt) == x
达到所有x, dt
的数值精度,但之后我我希望cwtft
返回的频率估计值相似。如你所见,它们不是。
有谁知道cwtft
如何估算这些频率,以及我是否可以使用反向估算来预测所需的尺度?
答案 0 :(得分:2)
Morlet小波的频率和比例之间的对应关系为scale = 6 / (2*pi * frequency*dt)
(其中frequency*dt
为周期/单位)。