GNU Astronomy Utilities Convolution theorem

The convolution (shown with the \(\ast\) operator) of the two functions \(f(l)\) and \(h(l)\) is defined as:

$$c(l)\equiv[f{\ast}h](l)=\int_{-\infty}^{\infty}f(\tau)h(l-\tau)d\tau $$

See Convolution process for a more detailed physical (pixel based) interpretation of this definition. The Fourier transform of convolution (\(C(\omega)\)) can be written as:

$$ C(\omega)=\int_{-\infty}^{\infty}[f{\ast}h](l)e^{-i{\omega}l}dl= \int_{-\infty}^{\infty}f(\tau)\left[\int_{-\infty}^{\infty}h(l-\tau)e^{-i{\omega}l}dl\right]d\tau $$

To solve the inner integral, let’s define \(s{\equiv}l-\tau\), so that \(ds=dl\) and \(l=s+\tau\) then the inner integral becomes:

$$\int_{-\infty}^{\infty}h(l-\tau)e^{-i{\omega}l}dl= \int_{-\infty}^{\infty}h(s)e^{-i{\omega}(s+\tau)}ds=e^{-i{\omega}\tau}\int_{-\infty}^{\infty}h(s)e^{-i{\omega}s}ds=H(\omega)e^{-i{\omega}\tau} $$

where \(H(\omega)\) is the Fourier transform of \(h(l)\). Substituting this result for the inner integral above, we get:

$$C(\omega)=H(\omega)\int_{-\infty}^{\infty}f(\tau)e^{-i{\omega}\tau}d\tau=H(\omega)F(\omega)=F(\omega)H(\omega) $$

where \(F(\omega)\) is the Fourier transform of \(f(l)\). So multiplying the Fourier transform of two functions individually, we get the Fourier transform of their convolution. The convolution theorem also proves a relation between the convolutions in the frequency space. Let’s define:


Applying the inverse Fourier Transform or synthesis equation (Fourier transform) to both sides and following the same steps above, we get:


Where \(d(l)\) is the inverse Fourier transform of \(D(\omega)\). We can therefore re-write the two equations above formally as the convolution theorem:

$$ {\cal F}[f{\ast}h]={\cal F}[f]{\cal F}[h] $$

$$ {\cal F}[fh]={\cal F}[f]\ast{\cal F}[h] $$

Besides its usefulness in blurring an image by convolving it with a given kernel, the convolution theorem also enables us to do another very useful operation in data analysis: to match the blur (or PSF) between two images taken with different telescopes/cameras or under different atmospheric conditions. This process is also known as deconvolution. Let’s take \(f(l)\) as the image with a narrower PSF (less blurry) and \(c(l)\) as the image with a wider PSF which appears more blurred. Also let’s take \(h(l)\) to represent the kernel that should be convolved with the sharper image to create the more blurry image. Above, we proved the relation between these three images through the convolution theorem. But there, we assumed that \(f(l)\) and \(h(l)\) are known (given) and the convolved image is desired.

In deconvolution, we have \(f(l)\) –the sharper image– and \(f*h(l)\) –the more blurry image– and we want to find the kernel \(h(l)\). The solution is a direct result of the convolution theorem:

$$ {\cal F}[h]={{\cal F}[f{\ast}h]\over {\cal F}[f]} \quad\quad {\rm or} \quad\quad h(l)={\cal F}^{-1}\left[{{\cal F}[f{\ast}h]\over {\cal F}[f]}\right] $$

While this works really nice, it has two problems:

A standard solution to both these problems is the Weiner deconvolution algorithm173.