Deconvolve

Advanced Analysis Library Only

AnalysisLibErrType Deconvolve (double YArray[], int numYElements, double XArray[], int numXElements, double HArray[]);

Purpose

Calculates the deconvolution of YArray with XArray.

Deconvolve assumes YArray to be the result of the convolution of XArray with some system response (HArray). The function realizes the deconvolution operation using Fourier transform pairs. Deconvolve obtains the output sequence HArray using the following formula:

where X(f) is the Fourier transform of XArray
Y(f) is the Fourier transform of YArray
InvFFT is the inverse Fourier transform

Parameters

Input
Name Type Description
YArray double-precision array Input array to deconvolve with XArray.
numYElements integer Number of elements in YArray.
XArray double-precision array Input array with which to deconvolve YArray.

The size of this array must be at least numYElements.
numXElements integer Number of elements in XArray.

numXElements numYElements
Output
Name Type Description
HArray double-precision array Output array that is YArray deconvolved with XArray.

This array must be (numYElementsnumXElements + 1) elements long.

Return Value

Name Type Description
status AnalysisLibErrType A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.