18.6 Deconvolution

Deconvolution is a process that undoes the effects of convolution. It is usually used to restore a signal from a known convolution with a known response.

Deconvolution-1.jpg

For example, if the original signal is

f=
\begin{bmatrix}
  1 & 3 & 5 & 7
\end{bmatrix}\,\! ,

and the response is

g=
\begin{bmatrix}
  2 & 4 & 6 
\end{bmatrix}\,\!

then their linear convolution is

y=f*g=
\begin{bmatrix}
  2 & 10 & 28 & 52 & 58 & 42
\end{bmatrix}\,\!

If we only know g and y and want to restore f, a deconvolution can be used.

After computation, we have

f'=
\begin{bmatrix}
  1 & 3 & 5 & 7
\end{bmatrix}\,\!

Deconvolution is either linear or circular. To restore the original signal correctly, the deconvolution should be of the same type as the convolution that originally produced the input signal.

Notes: There is no guarantee that deconvolution can always recover the original dataset in practice, as deconvolution is very sensitive to noise and is not very robust. Additionally, if the convolution is performed with the response wrapped, deconvoluting the input signal with the same response will not necessarily restore the original data, even when Wrap Response option is checked in the deconvolution dialog.

To use deconvolution:

  1. Make a workbook or a graph active.
  2. Open the Command Window or Script Window and run the following LabTalk script to access the graphical interface of deconv X-Function:
deconv -d

Topics covered in this section: