小波:如何从频率确定尺度?

时间:2016-06-01 09:45:15

标签: matlab frequency wavelet wavelet-transform time-frequency

在下面的代码示例中,我希望打印输出的行彼此匹配,至少大约相同。但他们没有。

% 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如何估算这些频率,以及我是否可以使用反向估算来预测所需的尺度?

1 个答案:

答案 0 :(得分:2)

Morlet小波的频率和比例之间的对应关系为scale = 6 / (2*pi * frequency*dt)(其中frequency*dt为周期/单位)。