deconv
Reverse convolution transformation (deconvolution) by of polynomial division.
| Library |
|
Syntax
Function call
-
x,r = deconv(y,h)— restores the vectorhfrom the bundley(performs deconvolution) using polynomial column division and returns the quotientxand the remainderrsuch thaty = conv(x,h) + r. Ifyandh— vectors of polynomial coefficients, then their deconvolution is equivalent to dividing a polynomial represented by a vectory, on a polynomial represented by a vectorh.
Arguments
Input arguments
# y is the input signal for deconvolution
+
vector
Details
The input signal for deconvolution, specified as a row vector or column vector.
| Типы данных |
|
| Support for complex numbers |
Yes |
# h is the impulse response or filter used for deconvolution
+
vector
Details
The impulse response or filter used for deconvolution is defined as a row vector or column vector. Vectors y and h they can have different length and data type.
-
If one or both vectors
yandhhave a typeFloat32, then the output vectors are also of typeFloat32. Otherwise, the output vectors are of typeFloat64. -
The lengths of the input vectors must satisfy the condition
length(h) ⇐ length(y). However, iflength(h) > length(y), then the functiondeconvreturns output arguments in the formx = 0andr = y.
| Типы данных |
|
| Support for complex numbers |
Yes |
Examples
Polynomial division
Details
Create two vectors y and h containing coefficients of polynomials and accordingly. We divide the first polynomial by the second one by deconvolving the vector h from the vector y. As a result of deconvolution, we obtain the coefficients of the quotient corresponding to the polynomial , and the coefficients of the remainder corresponding to the polynomial .
import EngeeDSP.Functions: deconv
y = [2 7 4 9]
h = [1 0 1]
x, r = deconv(y, h)
([2.0 7.0], [0.0 0.0 2.0 2.0])
Literature
-
Nagy, James G. «Fast Inverse QR Factorization for Toeplitz Matrices.» SIAM Journal on Scientific Computing 14, no. 5 (September 1993): 1174–93. https://doi.org/10.1137/0914070.