このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
cwtfilterbank
連続ウェーブレット変換フィルター バンク
説明
cwtfilterbank
を使用して、連続ウェーブレット変換 (CWT) フィルター バンクを作成します。フィルター バンクで使用される既定のウェーブレットは、解析 Morse (3,60) ウェーブレットです。Morse ウェーブレットの時間-帯域幅パラメーターと対称性パラメーターを変更して、Morse ウェーブレットをニーズに合わせて調整できます。解析 Morlet (ガボール) ウェーブレットまたは Bump ウェーブレットを使用することもできます。時間-周波数で複数の信号を解析する場合、計算効率を向上させるために、フィルターを一度事前に計算してから、cwt
への入力としてフィルター バンクを渡すことができます。フィルター バンクを使用して、ウェーブレットを時間と周波数で可視化できます。特定の周波数や周期の範囲を使用するフィルター バンクを作成し、3 dB の帯域幅を測定することもできます。フィルター バンクのウェーブレットの品質係数を決定できます。
作成
説明
は、連続ウェーブレット変換 (CWT) フィルター バンク fb
= cwtfilterbankfb
を作成します。フィルターは、すべての通過帯域のピーク振幅がほぼ 2 に等しくなるように正規化されます。既定のフィルター バンクは、1,024 サンプルの信号用に設計されています。既定のフィルター バンクは、解析 Morse (3,60) ウェーブレットを使用します。フィルター バンクは、既定のスケールとして、オクターブあたり約 10 個のウェーブレット バンドパス フィルター (オクターブあたり 10 個の音) を使用します。最も高い周波数の通過帯域は、振幅がナイキスト周波数におけるピーク値の半分に立ち下がるように設計されています。
実装に従い、CWT は L1 正規化を使用します。L1 正規化により、異なるスケールの等振幅の振動成分が CWT では同じ大きさになります。L1 正規化では信号の表現の精度が高くなります。振動成分の振幅は、対応するウェーブレット係数の振幅と同じになります。正弦波とウェーブレット係数の振幅を参照してください。
fb
は cwt
の入力として使用できます。
は、名前と値の引数を 1 つ以上使用するプロパティをもつ CWT フィルター バンク fb
= cwtfilterbank(Name=Value
)fb
を作成します。プロパティは、Name1=Value1,...,NameN=ValueN
のように任意の順序で指定できます。
メモ
既存のフィルター バンクのプロパティ値を変更することはできません。たとえば、SignalLength
が 2,000 であるフィルター バンク fb
がある場合、2,001 サンプルの信号を処理するには 2 番目のフィルター バンク fb2
を作成しなければなりません。fb
に異なる SignalLength
を割り当てることはできません。
プロパティ
オブジェクト関数
wt | フィルター バンクによる連続ウェーブレット変換 |
freqz | CWT filter bank frequency responses |
timeSpectrum | Time-averaged wavelet spectrum |
scaleSpectrum | Scale-averaged wavelet spectrum |
wavelets | CWT フィルター バンク時間領域ウェーブレット |
scales | CWT filter bank scales |
waveletsupport | CWT filter bank time supports |
qfactor | CWT フィルター バンクの品質係数 |
powerbw | CWT filter bank 3 dB bandwidths |
centerFrequencies | CWT filter bank bandpass center frequencies |
centerPeriods | CWT filter bank bandpass center periods |
例
ヒント
フィルター バンクを使用して信号の CWT を初めて実行する場合、信号と同じデータ型をもつようにウェーブレット フィルターが作成されます。同じフィルター バンクを異なるデータ型の信号に適用すると、警告メッセージが生成されます。データ型を変更すると、フィルター バンクの精度を再設計または変更するためのコストが発生することになります。最適なパフォーマンスを得るには、一貫したデータ型を使用してください。
複数の CWT を実行する場合 (for ループ内など)、まず
cwtfilterbank
オブジェクトを作成してから、オブジェクト関数wt
を使用するワークフローを推奨します。このワークフローにより、オーバーヘッドを最小限に抑え、パフォーマンスを最大限に向上することができます。複数の時系列での CWT フィルター バンクの使用を参照してください。
参照
[1] Lilly, J. M., and S. C. Olhede. “Generalized Morse Wavelets as a Superfamily of Analytic Wavelets.” IEEE Transactions on Signal Processing. Vol. 60, No. 11, 2012, pp. 6036–6041.
[2] Lilly, J. M., and S. C. Olhede. “Higher-Order Properties of Analytic Wavelets.” IEEE Transactions on Signal Processing. Vol. 57, No. 1, 2009, pp. 146–160.
[3] Lilly, J. M. jLab: A data analysis package for MATLAB®, version 1.6.2. 2016. http://www.jmlilly.net/jmlsoft.html.
[4] Lilly, J. M. “Element analysis: a wavelet-based method for analysing time-localized events in noisy time series.” Proceedings of the Royal Society A. Volume 473: 20160776, 2017, pp. 1–28. dx.doi.org/10.1098/rspa.2016.0776.