y = convol(h, x) [y,e1] = convol(h, x, e0)
a vector, first input sequence ("short" one)
a vector, second input sequence ( "long" one)
a vector,old tail to overlap add (not used in first call)
a vector, the convolution.
new tail to overlap add (not used in last call)
Calculates the convolution
y= h*x of two discrete
sequences by using the fft. The convolution is defined as follows:
Overlap add method can be used.
USE OF OVERLAP ADD METHOD: For
x = [x1, x2,..., xNm1, xN] First call is
[y1, e1] = convol(h, x1); Subsequent calls :
[yk, ek] = convol(h, xk, ekm1); Final call :
[yN] = convol(h, xN, eNm1); Finally
y = [y1, y2,..., yNm1, yN].
The algorithm based on the convolution definition is
implemented for polynomial
y = convol(h, x) is equivalent
y = coeff(poly(h,'z','c') * poly(x,'z','c')) but
much more efficient if
x is a "long" array.
|Report an issue|
|<< conv2||Convolution - Correlation||convol2d >>|