Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

centfrq

ウェーブレット中心周波数

説明

FREQ = centfrq(wname) は、wname で指定されたウェーブレットの中心周波数をヘルツ単位で返します (詳細については、wavefun を参照してください)。

FREQ = centfrq(wname,ITER) は、ITER の多数回反復を使用してウェーブレットを生成します。

[FREQ,XVAL,RECFREQ] = centfrq(wname,ITER,'plot') は、グリッド XVAL において評価された、中心周波数に基づく関連する Approximation である RECFREQ を返し、ウェーブレット関数と RECFREQ をプロットします。

すべて折りたたむ

この例では、4 つの消失モーメントをもつ Daubechies 最小非対称ウェーブレットの中心周波数をヘルツ単位で決定する方法を示します。

cfreq = centfrq('sym4');

ウェーブレットを取得し、ウェーブレットの中心周波数 cfreq に等しい周波数の正弦波を作成します。正弦波の開始位相 -π を使用して、正弦波の振動がウェーブレットの振動とどのように一致するかを可視化します。

[~,psi,xval] = wavefun('sym4');
y = cos(2*pi*cfreq*xval-pi);
plot(xval,psi,'linewidth',2); 
hold on;
plot(xval,y,'r');

Figure contains an axes object. The axes object contains 2 objects of type line.

この例では、スケールを Morlet ウェーブレットの周波数に変換する方法を示します。スケールと周波数はおおよそ逆関数の関係にあります。具体的には、スケールは周波数に反比例し、その比例定数はウェーブレットの中心周波数となります。

1 kHz でサンプリングされたデータに対して、5 オクターブにわたってオクターブあたりの音の数が 32 となるスケールのベクトルを作成します。

Fs = 1000;
numvoices = 32;
a0 = 2^(1/numvoices);
numoctaves = 5; 
scales = a0.^(0:numvoices*numoctaves-1).*1/Fs;

スケールを Morlet ウェーブレットのヘルツ単位の近似周波数に変換します。

Frq = centfrq('morl')./scales;

scal2frq を使用して、スケールをヘルツ単位の近似周波数に変換することもできます。

入力引数

すべて折りたたむ

ウェーブレット。文字ベクトルまたは string スカラーとして指定します。詳細については、wavefun を参照してください。

ウェーブレット wname の生成に使用される反復回数。正の整数として指定します。内部的には、centfrqwavefun を使用してウェーブレットを生成します。

出力引数

すべて折りたたむ

ヘルツ単位のウェーブレット中心周波数。スカラーとして返されます。

ウェーブレットに対して中心周波数に基づく Approximation が評価されるグリッド。実数値のベクトルとして返されます。

ウェーブレットに対する中心周波数に基づく Approximation。ベクトルとして返されます。ウェーブレットによって、RECFREQ は実数値または複素数値のベクトルになります。

バージョン履歴

R2006a より前に導入

参考