メインコンテンツ

wavelets

DWT フィルター バンクの時間領域ウェーブレット

説明

psi = wavelets(fb) は、離散ウェーブレット変換 (DWT) フィルター バンク fb のウェーブレット通過帯域フィルターに対応する時間領域と中央揃えされたウェーブレットを返します。

[psi,t] = wavelets(fb) は、サンプリング時点 t を返します。

すべて折りたたむ

Daubechies db2 ウェーブレットと 1 kHz のサンプリング周波数を使用して、信号長が 1,000 サンプルの 7 レベル DWT フィルター バンクを作成します。

wv = "db4";
len = 1000;
lev = 7;
Fs = 1e3;
fb = dwtfilterbank('Wavelet',wv,'SignalLength',len, ...
    'Level',lev,'SamplingFrequency',Fs);

ウェーブレット バンドパス フィルターに対応する時間領域と中央揃えされたウェーブレットをプロットします。

[psi,t] = wavelets(fb);
plot(t,psi')
grid on
title('Time-domain Wavelets')

Figure contains an axes object. The axes object with title Time-domain Wavelets contains 7 objects of type line.

最も細かいスケールの時間領域ウェーブレットと、対応するウェーブレット バンドパス フィルターの片側振幅周波数応答をプロットします。

sc = 1;
[psidft,f] = freqz(fb);
tiledlayout(2,1)
nexttile
plot(t,psi(sc,:))
grid on
xlabel('Time (sec)')
ylabel('Magnitude')
title(['Level ',num2str(sc),' Time-Domain Wavelet'])
nexttile
plot(f(len/2:end),abs(psidft(sc,len/2:end)))
grid on
xlabel('Hz')
ylabel('Magnitude')
title('Magnitude Frequency Response')

Figure contains 2 axes objects. Axes object 1 with title Level 1 Time-Domain Wavelet, xlabel Time (sec), ylabel Magnitude contains an object of type line. Axes object 2 with title Magnitude Frequency Response, xlabel Hz, ylabel Magnitude contains an object of type line.

入力引数

すべて折りたたむ

離散ウェーブレット変換 (DWT) フィルター バンク。dwtfilterbank オブジェクトとして指定します。

出力引数

すべて折りたたむ

ウェーブレット通過帯域フィルターに対応する時間中心のウェーブレット。LN 列の行列として返されます。ここで、L はフィルター バンクの LevelNSignalLength です。psi のウェーブレットは、最も細かいスケール分解能から最も粗いスケール分解能の順に並べられます。

サンプリング時点。長さ N の実数値ベクトル t として返されます。ここで、N はフィルター バンクの SignalLength です。サンプリング時点は、間隔 [½NDT,½NDT) にあります。ここで、DT はフィルター バンクのサンプリング周期 (フィルター バンクのサンプリング周波数の逆数) です。

バージョン履歴

R2018a で導入