convol — convolution
[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 follow:
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
product: y=convol(h,x) is equivalent
to y=coeff(poly(h,'z','c')*poly(x,'z','c') but
much more efficient if x is a "long" array.