Keyword: 1次元, 離散, ウェーブレット変換
概要
本サンプルは1次元離散ウェーブレット変換を行うサンプルプログラムです。 本サンプルは以下に示される8個の要素をもつ配列についてDaubechies ウェーブレットを用いて1次元離散ウェーブレット変換を行い、近似係数、詳細係数とウェーブレットの再構成を出力します。
※本サンプルはnAG Toolbox for MATLAB®が提供する関数 c09ca() のExampleコードです。実行にはMATLAB®本体(他社製品)とnAG Toolbox for MATLAB®が必要です。
本サンプル及び関数の詳細情報は c09ca のマニュアルページをご参照ください。
入力データ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
n = int32(8); wavnam = 'DB4'; mode = 'zero'; wtrans = 'Single Level'; x = [1; 3; 5; 7; 6; 4; 5; 2]; fprintf('\n Input Data:\n'); fprintf('%8.4f ', x); fprintf('\n'); % Query wavelet filter dimensions [nwl, nf, nwc, icomm, ifail] = c09aa(wavnam, wtrans, mode, n); if ifail == int32(0) % Compute the transform [ca, cd, icomm, ifail] = c09ca(x, nwc, icomm); if ifail == int32(0) fprintf(' Approximation coefficients CA :\n'); fprintf('%8.4f ', ca); fprintf('\n'); fprintf(' Detail coefficients CD :\n'); fprintf('%8.4f ', cd); fprintf('\n'); % Reconstruct original data [y, ifail] = c09cb(ca, cd, n, icomm); if ifail == int32(0) fprintf(' Reconstruction Y : \n'); fprintf('%8.4f ', y); fprintf('\n'); end end end
- n には入力データである配列の要素の数を指定しています。
- wavnam にどのウェーブレット法を使用するかを示すパラメータを指定しています。"DB4"は4つの消失モーメントがある Daubechies ウェーブレットを使用することを意味します。
- mode にデータの端部拡張(End Extension)の手法を示すパラメータを指定しています。"zero"はゼロパディング(ゼロ詰め)することを意味します。
- wtrans には離散ウェーブレット変換の種類を指定しています。"Single level" は離散ウェーブレット変換による単一レベルの分解や再構成を意味します。
- x に入力データである配列の要素を指定しています。
- 11行目に離散ウェーブレットフィルターの詳細を返す関数c09aaを呼び出しています。
- 15行目に本関数c09caを呼び出す構文を指定しています。
- 18~23行目は離散ウェーブレット変換の結果を出力しています。
- 26行目にウェーブレット再構成を行う関数c09cbを呼び出しています。
- 28~32行目はウェーブレット再構成の結果を出力しています。
出力結果
1 2 3 4 5 6 7
Input Data: 1.0000 3.0000 5.0000 7.0000 6.0000 4.0000 5.0000 2.0000 Approximation coefficients CA : 0.0011 -0.0043 -0.0174 4.4778 8.9557 7.3401 2.5816 Detail coefficients CD : 0.0237 0.0410 -0.5966 1.7763 -0.7517 0.3332 -0.1188 Reconstruction Y : 1.0000 3.0000 5.0000 7.0000 6.0000 4.0000 5.0000 2.0000
- Input Data は入力された配列の要素の数を示しています。
- Approximation coefficients は近似係数を示しています。
- Detail coefficients は詳細係数を示しています。
- Reconstruction はウェーブレット再構成を示しています。