convol
畳込み(コンボリューション)
呼び出し手順
y = convol(h, x) [y,e1] = convol(h, x, e0)
引数
- h
ベクトル, 最初の入力シーケンス ("短い" シーケンス)
- x
ベクトル, 第2の入力シーケンス ( "長い" シーケンス)
- e0
ベクトル,オーバーラップ加算のための前の結果の末尾 (最初のコールでは使用されません)
- y
ベクトル, 畳込み.
- e1
オーバーラップ加算のための新規結果の末尾 (最後のコールでは使用されません)
説明
fftを用いて2つの離散シーケンスの畳込み y= h*x
を計算します.
畳込みは以下のように定義されます:
オーバーラップ加算法を使用できます.
オーバーラップ加算の使用例:
x = [x1,x2,...,xNm1,xN]
の時, 最初のコールは,
[y1,e1] = convol(h,x1);
その後のコール :
[yk,ek] = convol(h,xk,ekm1)
; 最後のコール :
[yN] = convol(h,xN,eNm1)
結果は,
y = [y1,y2,...,yNm1,yN]
.
畳込みの定義に基づくアルゴリズムは,多項式の積として実装されます:
y = convol(h,x)
は,
y = coeff(poly(h,'z','c')*poly(x,'z','c'))
と等価ですが、
x
が"長い"配列の場合には,はるかに効率的です.
例
Report an issue | ||
<< conv2 | Correlation Convolution | convol2d >> |