Computes the convolution of two series in the time domain.
CONV(series1, series2, start, length, interval)
series1 |
- |
A series. |
series2 |
- |
A series. |
start |
- |
Optional. An integer, the starting point. Defaults to the first point of the series. |
length |
- |
Optional. An integer, the number of points to process. Defaults to |
interval |
- |
Optional. An integer, the convolution interval. Defaults to 1. |
A series or table.
conv({3, 1, 1}, {2, 1})
Yields the series {6, 5, 3, 1} producing the coefficients of the following polynomial multiplication:
conv(W1, reverse(W1))
yields the auto-correlation of the series in W1.
W1: gnorm(1000,1)
W2: rev(w1)
W3: conv(W1, W2)
W4: conv(W1, W2, 900, 200)
W3 contains the raw auto-correlation of W1.
W4 starts calculating the convolution when the first point in W2 reaches the 900th point of W1 (start point), and continues calculating until 200 points have been processed. The resulting series length is 200. In this example, the resulting series is a 200 point window around the mid point of the full auto-correlation.
The convolution of series x[n] and h[n] is defined as:
CONV computes convolution directly in the time domain and is optimized for real data. Use FCONV to perform convolution via the Fourier Transform method.
By default, the resulting series contains
If start <= 0, start defaults to 1.
If length <= 0, length defaults to
As demonstrated by the first example, convolution is equivalent to polynomial multiplication where the terms of the polynomials are arranged in descending powers.
See DECONV to deconvolve two series.
Oppenheim and Schafer.
Digital Signal Processing
Prentice Hall, 1975
Digital Signal Processing Committee
Programs for Digital Signal Processing
I.E.E.E. Press, 1979