I need to clarify this and rather confused by this.

Lets say:

$x = h * g$

$x$ - measured data

$h$ - raw data

$g$ - instrument response function (convolution kernel)

So lets say I have $x$ and $h$. Can I say if I were to deconvolve $x$ with $h$ I will be able to obtain $g$?

Or if I have $x$ and $g$, deconvolving $x$ with $g$, I will be able to obtain $h$. So till here, is my understanding correct?

So can I say $g$ is both convolution and deconvolution kernel? Is this correct?

  • $\begingroup$ The deconvolution operation associated with $g$ is the same as the convolution of the inverse of $g$. The issue is that deconvolution is generally not thought of as a kernel operator; you need to use $g^{-1}$ (the inverse of $g$). $\endgroup$
    – Peter K.
    Dec 16, 2014 at 16:17
  • $\begingroup$ It may help you to write this as a linear equation, i.e. x, h as vectors and g as a convolution matrix to think about this. $\endgroup$
    – Batman
    Jan 14, 2015 at 13:07

2 Answers 2


Question - When Are the Convolution Operator (Kernel) and the Deconvolution Operator (Kernel) the Same?

Discrete Convolution (Cyclic) is described by Circulant Matrix.
Circulant Matrices are diagonalized by the DFT Matrix (Will be denoted as $ F $).
So given a convolution kernel $ g $ with its matrix form given by $ G $ one could have its diagonalization by:

$$ G = {F}^{H} \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) F $$

Where $ \mathcal{F} \left( g \right) $ is the Discrete Fourier Transform (DFT) of the kernel $ g $.

In the general case the deconvolution is given by:

$$ x = G h \Rightarrow {G}^{-1} x = {G}^{-1} G h = h $$

Where $ {G}^{-1} $ is the Deconvolution Operator (Inverse of $ G $ the convolution operator).
In our case we're looking for the case $ G = {G}^{-1} \Rightarrow G G = I $.

Utilizing the diagonalization of Discrete (Cyclic) Convolution Operators by the DFT Matrix (Which is Unitary Matrix):

$$ G G = {F}^{H} \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) F {F}^{H} \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) F = {F}^{H} \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) F $$

Namely we need $ \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) \operatorname{diag} \left( \mathcal{F} \left( g \right) \right) = I $ which means $ \forall i, \, {\mathcal{F} \left( g \right)}_{i} \in \left\{ -1, 1 \right\} $, namely the Fourier Transform of $ g $ has the values of -1 or 1.
So there is a set of kernels $ \mathcal{S} $ which is defined by:

$$ \mathcal{S} = \left\{ g \mid \forall i, \, {\mathcal{F} \left( g \right)}_{i} \in \left\{ -1, 1 \right\} \right\} $$

One should notice that the identity Kernel ($ I $) is indeed part of this set of kernels.

The above kernels obey $ \delta \left[ n \right] = \left( g \circ g \right) \left[ n \right] $ where $ \circ $ is the Circular Convolution (Which is multiplication of the DFT).

How could one generate such a kernel?
Well, just generate a vector of numbers which each is composed of $ 1 $ or $ -1 $ and use its ifft().
Pay attention that if you are after real operator the vector must obey the symmetry of the DFT for Real Numbers.

You may find a code to replicate the above in my StackExchange Signal Processing Q19646 GitHub Repository (Look at the SignalProcessing\Q19646 folder).

  • $\begingroup$ Your first statement is incorrect. The Fourier transform takes the convolution algebra to the complex algebra of point-wise products. So the question reduces to the multiplication of complex numbers and the requirement to $c^2=1$. This choice can be made independently for every point, resulting (uncountable) infinite such kernels. $\endgroup$
    – Jazzmaniac
    Feb 24, 2018 at 19:39
  • $\begingroup$ It's not arbitrary phase. $c^2=1$ has exactly two solutions: $\pm 1$. Also, calling them "identity with different phase" is not really helpful. If you look at them in time domain you will see that these are not all that related to the identity kernel. $\endgroup$
    – Jazzmaniac
    Feb 24, 2018 at 19:51
  • $\begingroup$ @Jazzmaniac, You're right and I updated it. Feel free to add edit. Thank You. $\endgroup$
    – Royi
    Feb 24, 2018 at 20:14

Generally not, there are sides of a similar coin. There is a symmetry in $x=h\ast g$, and either $h$ or $g$ can be considered a convolution kernel, and hence each is "a deconvolution" kernel in some extended sense, by applying the inverse (when its exists).

Indeed, depending on the properties of $h$ or $g$ (and somehow on $x$, recovering the other is not granted. Convolution is a direct and simple problems with unique output, deconvolution is an inverse problem with from no to several potential solutions.

So, somehow you can consider $g$ (or its inverse) as both a convolution and a deconvolution kernel.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.