Computes the deconvolution of the input sequences X * Y and Y. The deconvolution operation is realized using Fourier transform pairs. Details
![]() |
X * Y is the set of input data. The number of elements in X * Y must be greater than or equal to the number of elements in Y: n greater than or equal to m. If the number of elements in X * Y is less than the number of elements in Y, the VI sets X to an empty array and returns an error. |
![]() |
Y is the input sequence. |
![]() |
X is the deconvolved sequence of X * Y and Y. The number of elements in X is size = n - m + 1 where n is the number of elements in X * Y and m is the number of elements in Y. |
![]() |
error returns any error or warning from the VI. Refer to Signal Processing Error Codes for more information about these conditions. |
The Deconvolution VI can use Fourier identities to realize the convolution operation because
x(t) * y(t) X(f) Y(f)
is a Fourier transform pair, where the symbol * denotes convolution, and the deconvolution is the inverse of the convolution operation. If h(t) is the signal resulting from the deconvolution of the signals x(t) and y(t), the Deconvolution VI obtains h(t) using the equation
,
where X(f) is the Fourier transform of x(t), and Y(f) is the Fourier transform of y(t).
The Deconvolution VI performs the discrete implementation of the deconvolution using the following steps.
![]() | Note The deconvolution operation is a numerically unstable operation and it is not always possible to solve the system numerically. Computing the deconvolution by FFTs is perhaps the most stable generic algorithm that does not require sophisticated DSP techniques. However, it is not free of errors, for example, when there are zeros in the Fourier transform of the input sequence Y. |