Owning Palette: Signal Operation VIs
Requires: Full Development System
Computes the deconvolution of the input sequences X * Y and Y.
The deconvolution operation is performed using Fourier transform pairs.
Add to the block diagram | Find on the palette |
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 array of dependent values. | |
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. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster. |
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. |