Definition
The final piece when we learnt about Fourier Series is an important piece of theorem called Convolution Theorem.
We are going to derive it and show why is it important using the common notation.
Suppose that you have arbitrary function u(t) and v(t).
These function has corresponding dual Fourier domain function: U(f) and V(f).
Let us construct a third function UV(f) which is a product of these two functions.
UV(f)=U(f)V(f)
Suppose we do inverse Fourier Transform on both sides.
UV(f)F−1{UV(f)}=U(f)V(f)=F−1{U(f)V(f)}=∫f=−∞∞[U(f)V(f)]eiτftdf=∫f=−∞∞[[∫x=−∞∞u(x)e−iτfxdx]V(f)]eiτftdf=∫x=−∞∞u(x)[∫f=−∞∞V(f)e−iτfxeiτftdf]dx=∫x=−∞∞u(x)[∫f=−∞∞V(f)eiτf(t−x)df]dx=∫x=−∞∞u(x)v(t−x)dx
Let’s ponder a bit about the last line.
Basically the integral sums over variable x, as a product of u(x) and v(x). It then transform over the parameter to t.
Since it basically transforms/blends two functions u(x) and v(x) and combine it as another function with its own parameter t.
We call this operation a convolution.
Notice that since a product of u and v commutes, it doesn’t matter which order the convolution is processed.
Given a new symbols r(t)={u(x)∗v(x)}(t)
A convolution is defined as:
r(t)={u(x)∗v(x)}(t)=∫x=−∞∞u(x)v(t−x)dx=∫x=−∞∞u(t−x)v(x)dx
The Fourier transform then converts a convolution into a product of each Fourier transform:
F{u∗v}(f)F{u(t)v(t)}(f)=U(f)V(f)={U∗V}(f)
The more popular form of the Convolution Theorem (as seen in the wiki), actually uses an inverse Fourier transform. Like this:
r(t)={u∗v}(t)=F−1{U(f)V(f)}
Usage
This seems like a random finding, but consider its usage in signal processing, convolution were used heavily to modify signals.
Using this theorem, it is apparent that if we combine two signals with differing frequency (in the Fourier domain), the resulting signal is the convolution.
It is particularly useful because a signal source is mainly developed using the frequency parameters and not the time domain phase.
Delta function filters
As a simple base case example.
Consider any signal u(t). It’s Fourier transform is of course U(f).
Notice that U(f)=U(f)⋅1.
By the convolution theorem:
r(t)={u∗v}(t)u(t)=F−1{U(f)V(f)}=F−1{U(f)⋅1}=u(x)∗δ(x)=∫x=−∞∞u(x)δ(t−x)dx
We now have some kind of idea on how delta function behave under a convolution.
Apparently, under integral sign, delta function acts like a filter.
It zeroes out any other intervals of u(x) and only picks the value of u(x) when t−x=0.
Which means, the value going out is only u(t).
Derivative filters
Remember that a Fourier transform of a derivative is just the Fourier transform of the function times iτf?
Yes, it is also a convolution.
Remember that if V(f)=iτf then v(t)=δ′(t) using the polynomials FT.
r(t)={u∗v}(t)F−1{U(f)⋅iτf}u′(t)u′(t)=F−1{U(f)V(f)}=F−1{U(f)⋅iτf}=u(x)∗δ′(x)=∫x=−∞∞u(x)δ′(t−x)dx
We now have some revelation that δ′(t−x) behaves like δ(t−x) in a convolution. Except, instead of filtering the value of u(x),
it filters the value of the derivative of u(x).
Integration filters
Same logic with derivative filters, but we apply it using division of iτf.
Remember that if V(f)=iτf1 then v(t)=2sgn(t).
r(t)={u∗v}(t)F−1{iτfU(f)}∫−∞tu(t)dt+C∫−∞tu(t)dt+C=F−1{U(f)V(f)}=F−1{U(f)⋅iτf1}=u(x)∗2sgn(x)=∫x=−∞∞u(x)2sgn(t−x)dx
The above expression is quite remarkable because the sign function acts as a summation filters!
It only sums up u(x) up to an input threshold t.
It’s a little bit difficult to imagine because the constant term C needs to be adjusted.
However, for the averaged values:
∫−∞tu(t)dt=∫x=−∞∞u(x)2(sgn(t−x)+1)dx
Averaging
One of the most highly usable use cases for convolution is to distort signals according to a specific patterns.
Thus modifying the spectrum of the signals without losing the information it produced.
Suppose that your signal u(t) has a spectrum pattern U(f) in which all the frequencies are being encoded.
Suppose you create a filter V(f), specifically just so that you can multiply spectrum U(f) with V(f) to enhance
just a specific frequency (or even delete some frequency that happens to be a noise).
V(f) can be arbitrary function so that the product UV basically does everything you want for any frequencies you might want to control.
We then construct the convoluted signals r(t) by doing the inverse transform from the UV product.
We then send it somewhere.
At the destination, we perform the transform then perform inverse multiplication to recover U(f).
In which we can recover the original signal u(t).
Simple operation such as Gaussian Blur or Sharpening, can be done both via convolution or using multiplication in the frequency domain.
It was mostly called “averaging” because for each entries of the original signal, the value gets averaged by convolving its value with the given “weighted average”
according to the second map v(t).
Taylor series
Convolution allows us to provide deep insight regarding operation in frequency domain.
Imagine a convolution map that is r(t)=δ(t).
Its Fourier trasnform is definitely R(f)=1.
Notice that we can express 1=ff1=f2f21=fn⋅fn1.
Suppose that U(f)=fn meaning u(t)=(iτ)nδ(n)(t)
Suppose that V(f)=fn1 meaning v(t)=2tsgn(t)(n−1)!(iτt)n
r(t)={u∗v}(t)δ(t)=F−1{U(f)V(f)}=F−1{fn⋅fn1}=(iτ)nδ(n)(x)∗2xsgn(x)(n−1)!(iτx)n=∫x=−∞∞2(n−1)!xn−1sgn(x)δ(n)(t−x)dx
The above function looks crazy at first because both signum and delta is hard to define around t−x=0.
But if we don’t evaluate it and just return the expression according to each functions.
We got an interesting relationship.
For example, suppose that n=1. We got:
δ(t)=∫x=−∞∞2(n−1)!xn−1sgn(x)δ(n)(t−x)dx=∫x=−∞∞21sgn(x)δ′(t−x)dx=∫x=−∞∞21sgn(x)dtdδ(t−x)dx=dtd∫x=−∞∞21sgn(x)δ(t−x)dx=dtd2sgn(t)=2sgn′(t)
Notice that in the derivation above, we are able to extract derivative operator from δ′(t−x) simply because the derivative can be taken as parameter t instead of x.
Because parameter t only depends from outside of the integral, we can brought it outside.
From there, we evaluate the integral using the delta filters.
So it allows us to represent a derivative of special function that can’t be calculated directly.
Notice that we are able to recover Taylor series coefficient from this process.
Suppose that n=2, we got:
δ(t)=∫x=−∞∞2(n−1)!xn−1sgn(x)δ(n)(t−x)dx=∫x=−∞∞2⋅1!xsgn(x)δ′′(t−x)dx=dt2d2(2⋅1!tsgn(t))
We can even perform the operation further:
δ(t)tδ′(t)=dt2d2(2⋅1!tsgn(t))=dtd(2⋅1!1sgn(t)+2⋅1!tsgn′(t))=2⋅1!2sgn′(t)+2⋅1!tsgn′′(t)=2δ(t)+tδ′(t)=−δ(t)
We have this weird relationship between the derivative of the delta function with itself.
Now here’s the catch with Taylor series.
Since a function g(t) can locally have Taylor series representation, and the function is represented by polynomial,
we can suggest something like this:
g(t)δ′(t)=−g′(t)δ(t)
Which is what the derivative filter does for Taylor series.