Signal Processing Toolbox    
convmtx

コンボリューション行列

表示

詳細

コンボリューション行列は、あるベクトルと他のベクトルの内積が2つのベクトルのコンボリューションである行列です。

A = convmtx(c,n) は、(m+n-1)行n列の行列Aを出力します。ここで、cは長さmの列ベクトルです。Aと長さnの列ベクトルxとの積は、cxのコンボリューションとなります。

A = convmtx(r,n) は、n行(m+n-1)列の行列Aを出力します。ここで、rは長さmの行ベクトルです。Aと長さnの行ベクトルxとの積は、rxのコンボリューションとなります。

例題

簡単なコンボリューション行列を生成します。

convmtxは、ゼロを付加することによって、エッジの部分を処理することに注意してください。

実際には、

を使って、コンボリューションを計算したほうが、つぎのコンボリューション行列

を使って計算するよりも効率的です。

アルゴリズム

convmtxは、関数toeplitzを使って、コンボリューション行列を生成します。

参考
conv
コンボリューションおよび多項式乗算
convn
N次元コンボリューション(MATLAB Function Referenceを参照)
conv2
2次元コンボリューション
dftmtx
離散フーリエ変換行列


 conv2 corrcoef