Consider a function $f(x)$ and a Gaussian kernel function $g(x)$

$f(x) left and $g(x) right

The convolution $h(x)=(f\ast g)(x)$ results

enter image description here

and as observed, there is some smoothing around $x=5$. I want to prevent this smoothing and only have $f$ smoothed at it's boundaries ($x=-5,10$). This can be done in real space by just setting $h(x)=f(x)$ from (say) $x\in[-4,9]$ after the convolution is done.

However, I intend to perform this convolution in Fourier space using the convolution theorem $H(\kappa)=F(\kappa)G(\kappa)$. So my only option is to transform back $H(\kappa)$ to $h(x)$ and perform the above operation. If I want to avoid this last step, how can I do that in Fourier space? Maybe an adaptive kernel function can work, eg is Gaussian close to the boundaries and is a Dirac delta function in the interior part. Playing with the Gaussian standard deviation can provide something like this.

I think it is easy enough to implement this in real space in order to avoid that crude operation, but I can't think of a way to do it in Fourier space. How can I change the kernel shape when it's only a point-wise multiplication (and not a slide of one function on top of the other one)?

  • $\begingroup$ If you modify the Gaussian kernel, this will affect the smoothing at $-5$ and $+10$ also. That's a standard limitation of Fourier analysis, connected with the uncertainty principle: localization in physical space is difficult at Fourier side. $\endgroup$ Sep 10, 2017 at 15:46
  • $\begingroup$ Yeap, I can see that. So there is no way around this? If the convolution is performed in physical space you can change the kernel shape as you slide it over the other function, so maybe in Fourier space this could be done somehow as well? $\endgroup$
    – b-fg
    Sep 10, 2017 at 16:03
  • $\begingroup$ "Changing the kernel shape as it slides" means that you are not taking a convolution anymore, but an integral transform: $$\int K(x, y)f(y)\, dy,$$ in which $K(x, y)$ is not of the form $g(x-y)$. At Fourier side, this means that you are not taking a pointwise product anymore, but rather another integral transform. $\endgroup$ Sep 10, 2017 at 20:01
  • $\begingroup$ Okay, this is good to know. Please include that in the answer if possible? $\endgroup$
    – b-fg
    Sep 11, 2017 at 2:14

1 Answer 1


1. No convolution kernel can perform the operation you suggest. There is a quick way of seeing this: for the smoothing at $-5$ and $10$ to take place, the convolution kernel $g$ must be smooth $^{[1]}$, but then $f\ast g$ will also be smooth at all points, because $$ \frac{d^k}{dx^k}( f\ast g)= f\ast \frac{d^kg}{dx^k}.$$

As mentioned in comments, this is related to a standard limitation of Fourier analysis, connected with the uncertainty principle of Fourier analysis.

2. As for the adaptive kernel. You suggest the use of a kernel that "changes shape as it slides". This operation is called an integral transform and is given by $$ T_K f(x)=\int_{-\infty}^\infty K(x, y)f(y)\, dy.$$ The shape of the kernel at each point $y\in\mathbb R$ is given by the function $K(\cdot, y)$. Convolutions are the integral transforms in which the kernel is of the form $K(x, y)=g(x-y)$, which corresponds to a fixed shape that "slides" along the given function $f$.

To sum up, adaptive kernels are not convolutions and so they do not turn into pointwise multiplication in Fourier space.

[1] $g$ must also satisfy some appropriate assumptions at infinity.

  • 1
    $\begingroup$ Thanks for adding the second point. $\endgroup$
    – b-fg
    Sep 14, 2017 at 7:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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