MATLAB Function Reference    
conv

コンボリューションと多項式乗算

表示

詳細

w = conv(u,v) は、ベクトル uv のコンボリューションを行います。代数的に、コンボリューションは、係数が、u v の要素である多項式の乗算と同じ演算です。

定義

m = length(u)n = length(v) とします。 w は、k 番目の要素が

である長さ m+n-1 のベクトルです。これは、u(j)v(k+1-j) に対して、矛盾のないサブスクリプトとなるすべてのjの値、詳しく説明すると j = max(1,k+1-n): min(k,m) 全体に渡る総和です。 m = n のとき、つぎのようになります。

アルゴリズム

コンボリューションの理論では、2 つの数列のコンボリューションはそれらのフーリエ変換の積とほぼ同じです。これの精度を良くするには、2 つのベクトルにゼロを加え、丸め誤差を無視する必要があります。従って、

X = fft([x zeros(1,length(y)-1)]) and Y = fft([y zeros(1,length(x)-1)])

の場合、conv(x,y) = ifft(X.*Y)

となります。

参考

conv2, convn, deconv, filter

Signal Processing Toolbox の convmtxxcorr


 contrast conv2