Main Content

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

dwtmode

離散ウェーブレット変換の拡張モード

説明

dwtmode(mode) は、拡張が自己完結型である以下の関数を除き、離散ウェーブレット変換とウェーブレット パケット変換の両方について、信号またはイメージ拡張モードを mode に設定します。dwtmode 設定は、以下の関数には影響しません。

拡張モードは、信号解析やイメージ解析における境界歪みの問題に対処するためのオプションを提供します。詳細については、Border Effectsを参照してください。

メモ

離散ウェーブレット変換を含む関数には、gpuArray 入力の場合に現在の拡張モードを使用しないものがあります。関数のリファレンス ページには、そのような場合について記載されています。

dwtmode または dwtmode('status') は現在のモードを表示します。DWTMODE.DEF が現在のパスに存在する場合、MATLAB® セッションの開始時に DWTMODE.DEF から既定のモードが読み込まれます。それ以外の場合は、ファイル DWTMODE.CFG が使用されます。

st = dwtmode または st = dwtmode('status') は、現在のモードを表示して st に返します。

st = dwtmode('status','nodisp') は、現在のモード st を返し、MATLAB コマンド ウィンドウにステータスまたは警告テキストを表示しません。

dwtmode('save',mode) は、mode を、新しい既定のモードとして現在のフォルダー内のファイル DWTMODE.DEF に保存します。現在のフォルダーに DWTMODE.DEF が既に存在する場合、ファイルは上書きされます。新しい既定のモードは、次の MATLAB セッションで既定のモードとしてアクティブになります。

メモ

拡張モードに依存する機能を並列で実行するには、parfor ループを実行する前に dwtmode('save',mode) を使用して拡張モードを保存するか、parfor ループ内で dwtmode(mode) を呼び出します。

MATLAB セッションで拡張モードを変更しても、そのモードに依存するものが並列で呼び出された場合、期待する効果は得られません。並列環境では、各ワーカーは独自の MATLAB 実行エンジンをもち、各ワーカーは DWTMODE.CFG ファイルを考慮しますが、現在のセッションでオーバーライドを行うことはしません。したがって、並行で実行するには、拡張モードを現在のフォルダーに保存するか、ワーカーごとに拡張モードを設定しなければなりません。

for ループの反復を並列で実行するには、Parallel Computing Toolbox™ が必要です。詳細については、parfor (Parallel Computing Toolbox) を参照してください。

dwtmode('save')dwtmode('save',CURRENTMODE) と等価です。ここで、CURRENTMODE は現在の拡張モードを表します。

すべて折りたたむ

現在の DWT 信号拡張モードを表示します。DWT 拡張モードのグローバル変数が存在しない場合、既定は半分の点の対称化になります。

dwtmode
                                                       
*******************************************************
**  DWT Extension Mode: Symmetrization (half-point)  **
*******************************************************
                                                       

現在の拡張モードを保存します。拡張モードを周期化拡張に変更します。

origmode = dwtmode('status','nodisplay');
dwtmode('per','nodisplay')

現在の DWT 信号拡張モードを表示します。

dwtmode
                                         
*****************************************
**  DWT Extension Mode: Periodization  **
*****************************************
                                         

拡張モードを元に戻します。

dwtmode(origmode,'nodisplay')
dwtmode
                                                       
*******************************************************
**  DWT Extension Mode: Symmetrization (half-point)  **
*******************************************************
                                                       

入力引数

すべて折りたたむ

入力を拡張するために使用される DWT 拡張モード。次のいずれかの値として指定します。

mode

DWT 拡張モード

'sym' または 'symh'

(既定) 対称拡張 (半分の点): 境界値の対称的な複製

'symw'

対称拡張 (全点): 境界値の対称的な複製

'asym' または 'asymh'

反対称拡張 (半分の点): 境界値の反対称の複製

'asymw'

反対称拡張 (全点): 境界値の反対称の複製

'zpd'

ゼロ拡張

'sp0'

次数 0 の平滑化拡張

'spd' または 'sp1'

次数 1 の平滑化拡張

'ppd', 'per'

周期化拡張

この拡張モードは、信号長が 2 のべき乗に制限される古典的な離散ウェーブレット変換またはウェーブレット パケット変換に対応します。このモードでは、最小の長さのウェーブレット分解が生成されます。

信号長が奇数で mode'per' の場合、最後の値と等しい追加サンプルが右に追加され、'ppd' モードで拡張が実行されます。信号長が偶数の場合、'per''ppd' と等価です。このルールはイメージにも適用されます。

対称、平滑化、ゼロ、および周期化の拡張モードに関連付けられた DWT は、わずかに冗長になります。しかし、前述の拡張に対する逆 DWT での完全再構成は確実になります。

メモ

dwtmode はグローバル変数を更新します。拡張モードの変更には、dwtmode のみを使用してください。グローバル変数を直接変更しないでください。

出力引数

すべて折りたたむ

DWT 拡張モード。文字配列として返されます。

ヒント

  • ほとんどのウェーブレットの用途では、周期的拡張または対称拡張が効果的です。

参照

[1] Strang, G., and T. Nguyen. Wavelets and Filter Banks. Wellesley, MA: Wellesley-Cambridge Press, 1996.

バージョン履歴

R2006a より前に導入