0

次のコード サンプルでは、​​印刷された出力の行が、少なくともほぼ一致することが予想されます。しかし、そうではありません。

% 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これらの頻度を推定する方法と、逆推定を使用して必要なスケールを予測できるかどうかを知っている人はいますか?

4

1 に答える 1

1

Morlet ウェーブレットの周波数とスケールの対応はscale = 6 / (2*pi * frequency*dt)(ここfrequency*dtで、サイクル/単位) です。

于 2016-07-13T12:57:07.917 に答える